Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
осо.docx
Скачиваний:
0
Добавлен:
22.12.2019
Размер:
71.02 Кб
Скачать

1.Основные функции операционных систем и оболочек. Классификация ОС.

ОС как менеджер ресурсов должна обеспечивать:

загрузку пользовательских программ в оперативную память;

выполнение этих программ путем организуя работу процессора;

работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т. д.

стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.

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

пользовательском, предназначенном для работы с готовыми приложениями;

программном, или интерфейсе прикладного программирования, представляющем собой средства для обращения к возможностям ОС при создании собственных приложений.

Операционные оболочки предоставляют следующие услуги:

работа с дисками (просмотр дерева каталогов, получение информации о состоянии диска, форматирование дисков);

работа с файлами и каталогами (создание, просмотр содержимого, копирование, перенос, переименование, удаление, изменение атрибутов файлов и каталогов; редактирование текстовых файлов; создание архивов);

дополнительные возможности (подключение к сети, создание пользовательских меню, подключение внешних редакторов и др.).

Классификация ОС

Классификация по области использования:

настольные ОС (Desktop Operating System) – ОС, ориентированные на работу отдельного пользователя в различных предметных областях; представители – MacOS, Windows;

серверные ОС, использующиеся в серверах сетей как центральное звено, а также в качестве элементов систем управления; представители – семейство UNIX, Windows NT;

специализированные ОС, ориентированные на решение узких классов задач с жёстким набором требований; представители – QNX, специализированные версии UNIX;

мобильные ОС – вариант развития настольных ОС на аппаратной платформе КПК; представители – PalmOS, Windows CE.

Классификация по внутренним алгоритмам управления ресурсами:

многозадачные /однозадачные ОС;

многопользовательские /однопользовательские ОС.

2. Функциональные компоненты операционной системы.

Рассмотрим понятие ресурса. Под ресурсом понимается любой объект, который может быть использован вычислительным процессом.

Основные ресурсы:

аппаратные – процессоры, память, внешние устройства;

информационные – данные и программы.

Программы ОС группируются согласно выполняемым функциям и называются подсистемами ОС. Все подсистемы разделяются на два больших класса по следующим признакам:

по типам локальных ресурсов, которыми управляет ОС; соответствующие под- системы – подсистемы управления ресурсами;

по специфические задачи, применимым ко всем ресурсам; соответствующие под- системы – подсистемы, общие для всех ресурсов.

Основные подсистемы управления ресурсами – это подсистемы:

управления процессами;

управления памятью;

управления файлами и внешними устройствами.

Общие для всех ресурсов – это подсистемы:

прикладного программного и пользовательского интерфейсов;

защиты данных и администрирования.

3. Понятие задачи, процесса, потока.

При управлении процессами ОС использует два основных типа информационных структур: дескриптор процесса и контекст процесса.

Дескриптор содержит:

идентификатор процесса;

информацию о состоянии процесса;

данные о степени привилегированности процесса;

местоположение кодового сегмента;

данные о родственных процессах;

данные о событиях, которые ожидает процесс

Контекст содержит:

состояние аппаратуры компьютера:

значение счетчика команд;

режим работы процессора;

флаги;

маски прерываний;

параметры операционной системы;

указатели на открытые файлы;

информация о незавершенных операциях ввода-вывода;

коды ошибок выполняемых процессом системных вызовов.

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

4. Управление процессами

Управление процессами

Эта подсистема – важнейшая часть ОС. Процесс кратко можно определить как «программу в стадии выполнения». Реально это некоторый исполняемый код, содержащий обращения к функциям операционной системы и через их посредство получающий доступ к ресурсам. Таким образом, процесс можно также определить как некоторую заявку на потребление системных ресурсов.

Подсистема управления процессами планирует выполнение процессов и выполняет следующие функции:

распределяет процессорное время между несколькими одновременно существующими в системе процессами;

занимается созданием, переключением состояния и уничтожением процессов;

обеспечивает процессы необходимыми системными ресурсами;

поддерживает синхронизацию процессов;

обеспечивает взаимодействие процессов.

5. Алгоритмы планирования процессов и потоков

Алгоритмы, основанные на квантовании

Смена активного процесса происходит, если исчерпан квант процессорного времени, отведенный данному процессу. Процесс, который исчерпал свой квант, переводится в состояние готовности и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый процесс из очереди готовых.

Алгоритмы, основанные на приоритетах

Существует две разновидности алгоритмов приоритетного планирования: обслуживание с относительными приоритетами и обслуживание с абсолютными приоритетами.

В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидания.

В системах с абсолютными приоритетами выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса. В этом случае прерванный процесс переходит в состояние готовности.

Смешанные алгоритмы планирования

Во многих операционных системах алгоритмы планирования построены с использованием, как квантования, так и приоритетов. Например, в основе планирования лежит квантование, но величина кванта и/или порядок смены процессов и выбора процесса из очереди готовых определяется приоритетами процессов.