Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры ОС1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.61 Mб
Скачать

3. Классификация ос.

Прежде всего, различают ОС общего и специального назначения. ОС специального назначения в свою очередь подразделяются на ОС для переносных микрокомпьютеров и различных встроенных систем (напр., сотовых телефонов), ОС баз данных (Oracle), ОС реального времени и т.д.

По режиму обработки задач. Различают ОС обеспечивающие однопрограммные и мультипрограммные режимы. Под мультипрограммным режимом понимают способ организации вычислений, когда на однопроцессорной ВС создается видимость одновременного исполнения нескольких программ. Иногда говорят о мультизадачном режиме работы. Будем считать, что мультизадачный режим – режим разделения времени, мультипрограммный – режим пакетной обработки (в рамках курса понятия эквивалентны).

По организации работы в диалоговом режиме различают однотерминальные и мультитерминальные ОС.

По ограничению времени реакции ОС делятся на ОС общего назначения и реального времени. У ОС реального времени существует ограничение на время реакции на входной запрос. Мягкое, нормальное, жесткое – классификация ОС реального времени. Различие между ОС реального времени и общего назначения – существует ограничение ан время вычисления. Если решение не поступило к заданному сроку – оно отбрасывается. В мягком реальном времени время задержки 1-10 млс. В жёстком реальном времени – немедленная реакция на события. Время реакции разделяется на 2 составляющие: 1)время отсечки; 2) время ответа. По способу организации ядра различают ос монолитные (Windows) и модульной структуры (QNX).

4.5. Теоретические основы параллельного программирования, понятия: процесс, задача, мультизадачный режим работы ос, нить, контекст нити.

Процесс – это выполнение отдельной программы с её данными на последовательном процессоре. Задача – (1) совокупность программных модулей и данных, требующих ресурсов вычислительной системы для своей реализации. (2) единица работы, для выполнения которой предоставляется цп.

Ресурс – всякий объект, которые может распределяться внутри системы с течением времени. Ресурсы могут быть разделяемыми, когда несколько процессов их используют одновременно. Могут быть и неделимыми, те предоставляются в эксклюзивном доступе. Изначально ресурсами считались процессорное время, память, каналы ввода вывода, периферийные устройства. В последнее время понятие ресурса стало шире. Теперь к ресурсам можно отнести программные компоненты, информационные каналы, компоненты ос, такие как описатели на объекты и сами объекты.

Мультизадачный режим позволяет переключить ЦП на выполнение другой задачи, пока первая ожидает завершения операции I/O, за счёт чего повышается быстродействие по сравнению с однозадачной, выполняющей аналогичные действия. В мультизадачном режиме работы повышается пропускная способность системы. На рис. процессы обращаются к одному и тому же ресурсу. Это становится возможным благодаря концепции виртуальных ресурсов. Данная концепция позволяет унифицировать разработку процессов и повысить эффективность использования ресурсов. Суть концепции: ОС использует все реальные ресурсы компьютера и на их основе создаёт новый виртуальный компьютер с заранее определёнными характеристиками, при этом каждый виртуальный ресурс моделируется с учётом его специфики. Виртуальный процессор моделируется на реальном CPU gen`v выделения квантов времени. Виртуальная память моделируется реальным ОЗУ на основе динамического преобразования адресов. Устройства ввода-вывода используются параллельно. В результате на базе одного ПК реализуется несколько виртуальных ВС. Для ОС win м.б. организована ВС как для программ, разработанных для самой ОС win, так и для программ, разработанных, например, в MS-DOS. Однако, поскольку реально требуется гораздо больше памяти, то реальному компьютеру хватает имеющейся в наличии ОП + файл подкачки на диске. Для каждого процесса создаётся собственная виртуальная ВС. В рамках концепции виртуальных ресурсов можно пойти дальше и для каждой виртуальной ВС создать несколько виртуальных процессоров, каждый из которых будет выполнять свою собственную задачу. Выполнение такой задачи виртуальным процессом называют tread - «нить». В современных ос различают тяжеловесные и легковесные нити. Тяжеловесные нити – это нити, которые организованы ос в рамках концепции виртуальных ресурсов. Легковесная нить – это нить, которая организована специальной библиотекой в составе процесса, те часть концепции виртуальных ресурсов переходит от ос к процессу. Если ПК располагает 2-мя реальными процессорами, то две нити могут выполняться параллельно. Если процессор один, то параллельное исполнение эмулируется с помощью разделения времени. Поскольку все нити одного процесса выполняются в рамках этого процесса, то они разделяют одно и то же адресное пространство, т.е. имеют одни и те же глобальные переменные, общие виртуальные устройства, файловые дескрипторы. Это с одной стороны создаёт удобство при написании программы, а с другой требует от программиста особых навыков при написании программ. Кроме того, различные процессы т.ж. могут взаимодействовать между собой посредством механизмов межпроцессорного взаимодействия. Параллельное программирование – прогр-ние параллельных процессов и нитей. Создавать программы надо так, чтобы они использовали min вычисл. ресурсов. Контекст нити. Что различно у двух нитей, выполняющихся в рамках одной виртуальной ВС: Регистры процессора, включая программный счетчик, стек, нити-потомки, текущее состояние – всё это контекст нити.