
- •2. Функциональные компоненты операционной системы.
- •3. Понятие задачи, процесса, потока.
- •4. Управление процессами
- •5. Алгоритмы планирования процессов и потоков
- •6. Синхронизация процессов
- •7. Управление памятью. Виртуализация памяти
- •8. Страничное распределение памяти
- •11. Файловые системы ос
- •10. Кэширование данных
- •12. Физическая организация файловой системы
- •13. Устройства ввода-вывода. Функции драйверов
- •14. Ос Windows nt
- •15. Ос Linux
- •16. Командный интерпретатор bash
1.Основные
функции операционных систем и оболочек.
Классификация ОС.
ОС как менеджер ресурсов должна обеспечивать:
загрузку пользовательских программ в оперативную память;
выполнение этих программ путем организуя работу процессора;
работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т. д.
стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.
ОС как виртуальная машина должна предоставлять некий интерфейс, избавляющий пользователя от непосредственной работы с аппаратурой и организации вычислительного процесса. Здесь можно говорить о двух уровнях (или видах) интерфейсов:
пользовательском, предназначенном для работы с готовыми приложениями;
программном, или интерфейсе прикладного программирования, представляющем собой средства для обращения к возможностям ОС при создании собственных приложений.
Операционные оболочки предоставляют следующие услуги:
работа с дисками (просмотр дерева каталогов, получение информации о состоянии диска, форматирование дисков);
работа с файлами и каталогами (создание, просмотр содержимого, копирование, перенос, переименование, удаление, изменение атрибутов файлов и каталогов; редактирование текстовых файлов; создание архивов);
дополнительные возможности (подключение к сети, создание пользовательских меню, подключение внешних редакторов и др.).
Классификация ОС
Классификация по области использования:
настольные ОС (Desktop Operating System) – ОС, ориентированные на работу отдельного пользователя в различных предметных областях; представители – MacOS, Windows;
серверные ОС, использующиеся в серверах сетей как центральное звено, а также в качестве элементов систем управления; представители – семейство UNIX, Windows NT;
специализированные ОС, ориентированные на решение узких классов задач с жёстким набором требований; представители – QNX, специализированные версии UNIX;
мобильные ОС – вариант развития настольных ОС на аппаратной платформе КПК; представители – PalmOS, Windows CE.
Классификация по внутренним алгоритмам управления ресурсами:
многозадачные /однозадачные ОС;
многопользовательские /однопользовательские ОС.
2. Функциональные компоненты операционной системы.
Рассмотрим понятие ресурса. Под ресурсом понимается любой объект, который может быть использован вычислительным процессом.
Основные ресурсы:
аппаратные – процессоры, память, внешние устройства;
информационные – данные и программы.
Программы ОС группируются согласно выполняемым функциям и называются подсистемами ОС. Все подсистемы разделяются на два больших класса по следующим признакам:
по типам локальных ресурсов, которыми управляет ОС; соответствующие под- системы – подсистемы управления ресурсами;
по специфические задачи, применимым ко всем ресурсам; соответствующие под- системы – подсистемы, общие для всех ресурсов.
Основные подсистемы управления ресурсами – это подсистемы:
управления процессами;
управления памятью;
управления файлами и внешними устройствами.
Общие для всех ресурсов – это подсистемы:
прикладного программного и пользовательского интерфейсов;
защиты данных и администрирования.
3. Понятие задачи, процесса, потока.
При управлении процессами ОС использует два основных типа информационных структур: дескриптор процесса и контекст процесса.
Дескриптор содержит:
идентификатор процесса;
информацию о состоянии процесса;
данные о степени привилегированности процесса;
местоположение кодового сегмента;
данные о родственных процессах;
данные о событиях, которые ожидает процесс
Контекст содержит:
состояние аппаратуры компьютера:
значение счетчика команд;
режим работы процессора;
флаги;
маски прерываний;
параметры операционной системы;
указатели на открытые файлы;
информация о незавершенных операциях ввода-вывода;
коды ошибок выполняемых процессом системных вызовов.
В многопоточных системах (с возможностью распараллеливания процессов) для каждого процесса должен создаться как минимум один поток выполнения. При этом ОС генерирует описатель (дескриптор) потока.
4. Управление процессами
Управление процессами
Эта подсистема – важнейшая часть ОС. Процесс кратко можно определить как «программу в стадии выполнения». Реально это некоторый исполняемый код, содержащий обращения к функциям операционной системы и через их посредство получающий доступ к ресурсам. Таким образом, процесс можно также определить как некоторую заявку на потребление системных ресурсов.
Подсистема управления процессами планирует выполнение процессов и выполняет следующие функции:
распределяет процессорное время между несколькими одновременно существующими в системе процессами;
занимается созданием, переключением состояния и уничтожением процессов;
обеспечивает процессы необходимыми системными ресурсами;
поддерживает синхронизацию процессов;
обеспечивает взаимодействие процессов.
5. Алгоритмы планирования процессов и потоков
Алгоритмы, основанные на квантовании
Смена активного процесса происходит, если исчерпан квант процессорного времени, отведенный данному процессу. Процесс, который исчерпал свой квант, переводится в состояние готовности и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый процесс из очереди готовых.
Алгоритмы, основанные на приоритетах
Существует две разновидности алгоритмов приоритетного планирования: обслуживание с относительными приоритетами и обслуживание с абсолютными приоритетами.
В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидания.
В системах с абсолютными приоритетами выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса. В этом случае прерванный процесс переходит в состояние готовности.
Смешанные алгоритмы планирования
Во многих операционных системах алгоритмы планирования построены с использованием, как квантования, так и приоритетов. Например, в основе планирования лежит квантование, но величина кванта и/или порядок смены процессов и выбора процесса из очереди готовых определяется приоритетами процессов.