3 - Эволюция, классификаци

advertisement
3 - Эволюция, классификация и области применения ОС (определения
типов ОС и компонентов)
Операционная система (ОС) – ПО, которое выполняет роль интерфейса между
пользователем и аппаратурой ЭВМ. Оно управляет выполнением программ и
предоставляет различные сервисы: распределение, регистрация, планирование,
управление вводом/выводом данных.
Сетевые ОС – обеспечивают поддержку использования обычных серверных
систем в сети компьютеров.
Распределенная ОС - общая ОС совместно используемая сетью компьютеров.
Обеспечивает поддержку для межпроцессного взаимодействия, перемещения
процессов, взаимоисключения, а также предотвращения взаимоблокировки.
ОС реального времени (ОСРВ) – ОС, которая может планировать задачи
реального времени и управлять ими.
Эволюция:
1) Последовательная обработка данных – первые системы не имели ОС,
программы напрямую работали с железом (недостатки: расписание работы
машины и время подготовки к работе).
2) Простые пакетные системы – использование программы монитора, которая
управляет обработкой пакетных данных. Задания в пакетах выстраиваются в
очередь и выполняются быстро, без простоев.
3) Многозадачные пакетные системы – в памяти размещается ОС и
программы: когда одно из заданий ждет завершения операций ввода-вывода,
процессор может переключиться на другое задание, для которого в данный
момент ввод/вывод, скорее всего, не требуется.
4) Системы, работающие в режиме разделения времени- многозадачность не
только позволяет процессору одновременно обрабатывать несколько заданий в
пакетном режиме, но может быть использована и для обработки нескольких
интерактивных заданий. Такую организацию называют разделением времени,
потому что процессорное время распределяется между различными
пользователями. В системе разделения времени несколько пользователей
одновременно получают доступ к системе с помощью терминалов, а
операционная система чередует исполнение программ каждого пользователя
через малые промежутки времени. Таким образом, если нужно одновременно
обслужить n пользователей, каждому из них предоставляется лишь 1/n часть
полной скорости компьютера, не считая затрат на работу операционной
системы. Однако принимая во внимание относительно медленную реакцию
человека, время отклика на компьютере с хорошо настроенной системой будет
сравнимо со временем реакции пользователя.
ОС делятся :
По назначению:
 Общего типа
 Специального (коммун., спец расчеты. Ex: Ctos)
 Реального времени
По типу ядра:
 Стандартное монолитное ядро
 Микроядро
 Гибридное ядро
 Экзоядро
По типу системной архитектуры:
 С модульной архитектурой
 С объектно-ориентированной архитектурой
По количеству пользователей:
 Однопользовательские
 Многопользовательские
По уровню межпроцессного взаимодействия:
 Однозадачные (Dos)
 Многозадачные (Unix, OS/2, Windows)
 Сетевые
 Распределенные
По типу многозадачности:
 С вытесняющей
 С невытесняющей (Win 3.11)
С точки зрения поддержки потоков:
 Поддерживающие потоки
 Не поддерживающие потоки
По уровню интеграции:
 Монолитные
 Встраиваемые
Компоненты
Ядро (Kernel) – часть ОС, включающая наиболее интенсивно используемые
функции. Обычно ядро постоянно располагается в основной памяти и работает в
привилегированном
режиме, отвечая на вызовы процессов и прерывания от
устройств.
Монолитное ядро (Monolithic kernel) - большое ядро, виртуально содержащее всю
операционную систему, включая планировщик, файловую систему, драйверы
устройств и управление памятью. Все функциональные компоненты ядра имеют
доступ ко всем eгo внутренним структурам данных и подпрограммам. Обычно
монолитное ядро реализуется как единый процесс, в котором все элементы разделяют
одно и то же адресное пространство.
Микроядро (Microkernel) - малое привилегированное ядро операционной системы,
обеспечивающее планирование процессов, управление памятью и коммуникации; для
выполнения прочих функций, традиционно связываемых с ядром операционной
системы, использует отдельные процессы.
Задание (Job) - последовательность вычислительных этапов, собранных для запуска
как единое целое.
Задача (Task) - то же, что и процесс. Единица выделения ресурсов в системе.
Процесс (Process) - выполняемая программа. Процесс управляется и планируется
операционной системой.
Поток (Thread) - независимо планируемый контекст выполнения, разделяющий
единое адресное пространство с другими потоками. Единица планирования.
Задача реального времени (Real-time task) - задача, которая выполняется в связи с
некоторыми процессами, функциями или событиями, внешними по отношению к
компьютерной системе, и которая должна реагировать на внешние события за
приемлемое для них время.
Драйвер устройства (Device driver) - модуль операционной системы (обычно
находящийся в ядре), который работает непосредственно с устройством или
контроллером ввода/вывода.
Командная оболочка (Shell) - часть операционной системы, интерпретирующая
интерактивные пользовательские команды и команды языка управления заданиями.
(По сути, представляет собой интерфейс между пользователем и операционной
системой.)
Обработчик прерывания (Interrupt handler) - подпрограмма, обычно являющаяся
частью операционной системы. В случае прерывания управление передается
соответствующему обработчику, который предпринимает определенные действия в
ответ на вызвавшие прерывание условия.
Прерывание (Interrupt) - приостановка нормального выполнения процесса
(компьютерной программы), вызванная внешним по отношению к процессу событием
и осуществляемая таким образом, что по ее завершении выполнение процесса может
быть продолжено.
Время отклика (Response time) - время, прошедшее между концом передачи
сообщения с запросом и началом получения ответного сообщения, измеряемое на
запрашивающем терминале.
Квантование времени (Time slicing) - режим работы, при котором два или
несколько процессов получают кванты времени на одном и том же процессоре.
Многозадачность (Multitasking) - режим работы, при котором обеспечивается
параллельное или чередующееся выполнение двух или большего количества
программ. Синоним термина multiprogramming.
Разделение времени (Time sharing) - параллельное использование устройства
несколькими пользователями.
Диспетчеризация (Dispatch) - распределение времени процессора между
заданиями, готовыми к выполнению.
Планирование (Schedule) - выбор задания для выполнения. В некоторых ОС
планироваться могут и другие единицы, например операции ввода/вывода.
Пакетная обработка (Batch processing) - метод выполнения потока компьютерных
программ, при котором запущенная программа полностью завершается до запуска
следующей программы из множества.
Повторно используемый ресурс (Reusable resource) - ресурс, который может
безопасно использоваться в определенный момент времени только одним процессом и
не расходуется им. Процесс получает единицы повторно используемого ресурса,
которые позже освобождает для их повторного использования другими процессами.
Примерами повторно используемых ресурсов могут служить процессоры, каналы
ввода/вывода, основная и вторичная память, устройства и структуры данных,
такие, как файлы, базы данных и семафоры.
Расходуемые ресурсы (Consumable resources) - ресурсы, которые могут быть
созданы (произведены) и уничтожены (потреблены). При получении процессом
ресурса последний прекращает существование. Примерами расходуемых ресурсов
могут служить прерывания, сигналы, сообщения, информация в буферах
ввода/вывода. При получении процессом ресурса, последний прекращает своё
существование.
Основная память (Main memory) - память, внутренняя по отношению к
вычислительной системе, адресуемая программами. Ее ячейки могут быть загружены
в регистры для последующего выполнения или обработки.
Вторичная память (Secondary memory) - память, расположенная вне
вычислительной системы, например диски или магнитные ленты.
Интерфейс прикладного программирования (Application programming interface,
API) - стандартизованная библиотека программных средств, используемая
разработчиками программного обеспечения для создания приложений, совместимых с
определенной операционной системой и принятым графическим пользовательским
интерфейсом.
Пользовательский режим работы (User mode) – режим работы процессора,
который не позволяет выполнять привилегированные команды, таких как остановка
процессора или команды ввода/вывода.
Режим супервизора (Supervisor mode) – режим работы процессора, который
позволяет выполнять любые команды.
Download