24. Операционная система. Назначение, типы, особенности.
Операционная система (ОС) представляет собой совокупность программ, выполняющих две основные функции: предоставление пользователю удобств виртуальной машины и повышение эффективности использования компьютера при рациональном управлении его ресурсами.
Виртуальная машина — это функциональный эквивалент воображаемого компьютера с заданной конфигурацией, моделируемый программно-аппаратными средствами реального компьютера. ОС скрывает от пользователя особенности физического расположения информации на дисках и осуществляет обработку прерываний (прекращение вычислительного процесса, вызванное требованиями на обслуживание других устройств), управление таймерами и оперативной памятью. В результате пользователю предоставляется виртуальная машина, реализующая работу на логическом уровне.
Операционная система в режиме реального времени: Является многозадачной операционной системой, которая направлена на выполнение приложений реального времени. Операционные системы в режиме реального времени часто используют специализированные алгоритмы планирования таким образом, что они могут достичь детерминированного характера поведения. Главным объектом операционных систем реального времени является их быстрая и предсказуемая реакция на события. Система управляется событиями, переключается между задачами на основе их приоритетов, с разделением времени переключения задач. Windows CE, ОС-9, Symbian и LynxOS вот некоторые из широко известных операционных систем реального времени. Многопользовательские и однопользовательские операционные системы: Компьютерные операционные системы этого типа позволяют нескольким пользователям получать доступ в компьютерную систему одновременно. Системы с разделением времени могут быть классифицированы как многопользовательские системы, поскольку они позволяют множественный доступ пользователей к компьютеру через разделение времени. Однопользовательские операционные системы в отличие от многопользовательских операционных систем могут использоваться только одним пользователем одновременно. Возможность создания несколько пользователей в операционной системе Windows, не делает ее многопользовательской системой. Скорее, только администратор сети является реальным пользователем. Но для Unixи подобных операционных систем, есть возможность сразу двум пользователям войти в систему в одно время, и эта возможность ОС делает ее многопользовательской операционной системой. Windows 95, Windows2000, MaxOS и Palm OS являются примерами однопользовательских операционных систем. Unix и OpenVMS примеры многопользовательских операционных систем. Многозадачность и однозадачность операционных систем: Когда разрешено запускать одновременно только одну программу, система группируются под категорией однозадачной системы, а в случае, если операционная система позволяет выполнение нескольких задач одновременно, классифицируется как многозадачная операционная система. Многозадачность может быть двух типов, а именно упреждающей или кооперативной. В многозадачной операционной системе посвящает один слот для каждой из программ. Unix-подобные операционные системы, такие как Solaris и Linux, поддерживают многозадачность. Кооперативная многозадачность достигается при опоре на каждом процессе, чтобы дать время для других процессов в определенном порядке. Этот вид многозадачности похож на идею блока многопоточности, в которой один поток проходит, пока другой заблокирован каким-либо другим событием. MS Windowsдо Windows 95 используют для поддержки кооперативную многозадачность. PalmOS для Palm КПК являются однозадачными операционными системами. 9x Windows, поддерживает многозадачность. DOS + является относительно менее известной многозадачной операционной системой. Он может поддерживать многозадачность из четырех 86-битных программ. Распределенная операционная система: операционная система, которая управляет группой независимых компьютеров и делает их одним компьютером. Развитие сетевых компьютеров, которые могут быть связаны между собой, породило распределенные вычисления. Распределенные вычисления осуществляются на более чем одном компьютере. Когда компьютеры сотрудничают в групповой работе, они создают распределенную систему. Амеба, Plan9 и ЛОКУС (разработанные в 1980-х годах) являются примерами распределенных операционных систем. Встроенные системы: Операционные системы, предназначенные для использования во встраиваемых компьютерных системах. Они предназначены для работы на небольших машинах, таких как КПК. Они способны работать с ограниченным числом ресурсов. Они очень компактны и эффективны. Windows CE, FreeBSD и Minix 3 примеры встраиваемых операционных систем. Использование Linuxво встраиваемых компьютерных систем называют EmbeddedLinux. Мобильная операционная система: Хотя она по функционалу и не является родом операционных систем, мобильная ОС, безусловно, важное упоминание в списке типов операционных систем. Мобильная ОС управляет мобильным устройством, ее дизайн поддерживает беспроводную связь и мобильные приложения. Она имеет встроенную поддержку мобильных мультимедийных форматов. Планшетные ПК и смартфонов работают на мобильных операционных системах. Blackberry OS, Androidот Googleи IOS от Apple являются одними из самых известных мобильных операционных систем. Пакетная обработка и интерактивные системы: Пакетная обработка относится к исполнению компьютерных программ в «партиях» без ручного вмешательства. В системах пакетной обработки, программы собраны, сгруппированы и обрабатываются в более поздний срок. В них нет запросов пользователей для входа, входные данные собираются заранее для дальнейшей обработки. Входные данные собираются и обрабатываются в партиях, отсюда и название пакетной обработки. IBM, ОС имеет возможности пакетной обработки. Интернет и сеть: В онлайн-обработке данных, пользователь остается в контакте с компьютером и процессы выполняются под управлением центрального процессора компьютера. Когда процессы не выполняются под прямым контролем процессора, обработка упоминается как в автономном режиме. Давайте возьмем пример пакетной обработки. Здесь дозирование или группировка данных может быть сделана без пользователя и вмешательства центрального процессора; это может быть сделано в автономном режиме. Но выполнение самого процесса может произойти под непосредственным управлением процессора, то есть в Интернете. Операционные системы способствуют упрощению взаимодействия человека с компьютерной техникой. Они несут ответственность за связь прикладных программ с аппаратными средствами, что позволяет достичь легкого доступа пользователей к компьютерам.
Особенности операционных систем реального времени
Операционные системы реального времени (ОСРВ) предназначены для обеспечения интерфейса к ресурсам критических по времени систем реального времени. Основной задачей в таких системах является своевременность (timeliness) выполнения обработки данных.
В качестве основного требования к ОСРВ выдвигается требование обеспечения предсказуемости или детерминированности поведения системы в наихудших внешних условиях, что резко отличается от требований к производительности и быстродействию универсальных ОС. Хорошая ОСРВ имеет предсказуемое поведение при всех сценариях системной загрузки (одновременные прерывания и выполнение потоков).
Существует некое различие между системами реального времени и встроенными системами. От встроенной системы не всегда требуется, чтобы она имела предсказуемое поведение, и в таком случае она не является системой реального времени. Однако даже беглый взгляд на возможные встроенные системы позволяет утверждать, что большинство встроенных систем нуждается в предсказуемом поведении, по крайней мере, для некоторой функциональности, и таким образом, эти системы можно отнести к системам реального времени.
Принято различать системы мягкого (soft) и жесткого (hard) реального времени. В системах жесткого реального времени неспособность обеспечить реакцию на какие-либо события в заданное время ведет к отказам и невозможности выполнения поставленной задачи. В большинстве русскоязычной литературы такие системы называют системами с детерминированным временем. При практическом применении время реакции должно быть минимальным. Системами мягкого реального времени называются системы, не попадающие под определение "жесткие", т.к. в литературе четкого определения для них пока нет. Системы мягкого реального времени могут не успевать решать задачу, но это не приводит к отказу системы в целом. В системах реального времени необходимо введение некоторого директивного срока (в англоязычной литературе – deadline), до истечения которого задача должна обязательно (для систем мягкого реального времени – желательно) выполниться. Этот директивный срок используется планировщиком задач как для назначения приоритета задачи при ее запуске, так и при выборе задачи на выполнение.
Мартин Тиммерман сформулировал следующие необходимые требования для ОСРВ [DEDSYS]:
ОС должна быть многозадачной и допускающей вытеснение (preemptable),
ОС должна обладать понятием приоритета для потоков,
ОС должна поддерживать предсказуемые механизмы синхронизации,
ОС должна обеспечивать механизм наследования приоритетов,
поведение ОС должно быть известным и предсказуемым (задержки обработки прерываний, задержки переключения задач, задержки драйверов и т.д.); это значит, что во всех сценариях рабочей нагрузки системы должно быть определено максимальное время отклика.
В течение последних 25-30 лет структура операционных систем эволюционировала от монолитной к многослойной структуре ОС и далее к архитектуре клиент-сервер. При монолитной структуре ОС состоит из набора модулей, и изменения одного модуля влияют на другие модули. Чем больше модулей, тем больше хаоса при эксплуатации такой системы. Кроме того, невозможно распределить ОС в многопроцессорной системе. В многослойной структуре изменения одного слоя влияют на соседние слои; кроме того, обращение через слой невозможно. Для систем реального времени должно быть обеспечено прямое обращение к каждому слою ОС, а иногда напрямую к аппаратуре.
Основной идеей клиент-серверной технологии в ОС является сведение базиса ОС к минимуму (планировщик и примитивы синхронизации). Вся остальная функциональность выносится на другой уровень и реализуется через потоки или задачи. Совокупность таких серверных задач отвечает за системные вызовы. Приложения являются клиентами, которые запрашивают сервисы через системные вызовы.
Клиент-серверная технология позволяет создавать масштабируемые ОС и упрощает распределение в многопроцессорной системе. При эксплуатации системы замена одного модуля не вызывает эффекта “снежного кома”; кроме того, сбой модуля не всегда влечет за собой отказ системы в целом. Появилась возможность динамической загрузки и отгрузки модулей. Главной проблемой в этой модели является защита памяти, поскольку серверные процессы должны быть защищены. При каждом запросе сервиса система должна переключаться с контекста приложения на контекст сервера. При поддержке защиты памяти время переключения с одного процесса на другой увеличивается.
Как правило, большинство современных ОСРВ построено на основе микроядра (kernel или nucleus), которое обеспечивает планирование и диспетчеризацию задач, а также осуществляет их взаимодействие. Несмотря на сведение к минимуму в ядре абстракций ОС, микроядро все же должно иметь представление об абстракции процесса. Все остальные концептуальные абстракции операционных систем вынесены за пределы ядра, вызываются по запросу и выполняются как приложения.
- 1. Информатика. Предмет информатики. Основные задачи информатики.
- 2. Понятие сообщения, данных, сигнала.
- 3. Атрибутивные свойства информации.
- 4. Показатели качества информации, формы и способы представления информации.
- 5. Системы передачи информации.
- 6. Кодирование информации (текст, числа, цвет, графика, звук).
- 7. Позиционные системы счисления. Двоичное кодирование.
- 8. Меры и единицы количества и объема информации. Энтропия.
- 9. Логические основы эвм.
- 10. Логические операции: дизъюнкция, конъюнкция, отрицание, импликация, эквивалентность.
- 11. Предикаты. Операнды. Законы логического вывода.
- 12. История развития эвм. Поколения вычислительных средств.
- 13. Понятие и основные виды архитектуры эвм.
- 14. Архитектура эвм по Фон Нейману.
- 15. Состав и назначение основных элементов персонального компьютера, их характеристики.
- 16. Центральный процессор, системная шина.
- 17. Хранение информации: запоминающие устройства.
- 18. Озу, пзу, винчестер, накопители на гибких и компакт-дисках, стример, флэш.
- 19. Устройства ввода/вывода данных, их разновидности и основные характеристики.
- 20. Координатные устройства ввода. Видео- и звуковые адаптеры. Мониторы.
- 21. Сканеры. Принтеры. Плоттеры.
- 22. Программы и их типы. Понятие программного обеспечения.
- 23. Понятие системного программного обеспечения: назначение, возможности, структура.
- 24. Операционная система. Назначение, типы, особенности.
- 25. Утилиты (драйверы).
- 26. Файловая структура операционных систем. Операции с файлами.
- 27. Понятие служебного программного обеспечения.
- 28. Архиваторы, диспетчеры файлов, средства диагностики компьютера.
- 29. Прикладные программы их разновидности.
- 30. Технологии обработки текстовой информации.
- 31. Основы машинной графики: растровая, векторная, трехмерная.
- 32. Электронные таблицы.
- 33. Электронные презентации.
- 34. Основы баз данных и знаний.
- 35. Автоматизированный банк данных. Его функции и составляющие.
- 36. Системы управления базами данных. Модели данных.
- 37. Моделирование как метод познания. Понятие модели. Типы моделирования.
- 38. Классификация и формы представления моделей. Формализация.
- 39. Информационная модель объекта. Типы информационных моделей.
- 40. Методы и технологии моделирования. Требования к моделированию.
- 41. Компьютерное моделирование.
- 42. Алгоритмизация. Понятие алгоритма, его свойства.
- 43. Формы представления алгоритмов. Блок-схема алгоритма.
- 44. Основные алгоритмические конструкции. Базовые алгоритмы.
- 45. Программы линейной структуры.
- 46. Операторы ветвления.
- 47. Циклы. Виды и блок-схемы.
- 48. Интегрированные среды программирования.
- 49. Языки программирования высокого уровня.
- 50. Основные элементы языков программирования.
- 51. Эволюция и классификация языков программирования: неструктурные, структурные, логические, функциональные, объектно-ориентированные, языки программирования для баз данных и Интернета.
- 52. Структуры и типы данных языка программирования.
- 53. Тестирование программного обеспечения.
- 54. Этапы разработки программного обеспечения.
- 55. Структурное программирование на языке Паскаль. Типы данных.Константы. Переменные.
- 56. Операторы ввода, вывода в Паскале. Операторы циклов while, for, repeat.
- 57. Условный оператор if. Оператор выбора case. Массивы.
- 58. История создания компьютерных сетей.
- 59. Сетевые технологии обработки данных.
- 60. Основы компьютерной коммуникации.
- 61. Классификации вычислительных сетей.
- 62. Коммуникационное оборудование. Технология клиент-сервер.
- 63. Принципы построения вычислительных сетей. Основные топологии компьютерных сетей.
- 64. Интернет. Сетевой сервис и сетевые стандарты. Протокол tcp/ip.
- 65. Принцип работы в сети Интернет. Адресация в Интернете. Система доменных имен dns.
- 66. Программы для работы в Интернете. Сервис World Wide Web.
- 67. Язык разметки гипертекста (html).
- 68. Информационно-поисковые системы и каталоги. Поиск информации.
- 69. Электронная почта.
- 70. Защита информации в локальных и глобальных компьютерных сетях.
- 71. Шифрование данных. Электронная подпись.