- •Основные понятия операционных систем: процессы, потоки, взаимоблокировка, управление памятью.
- •Процессы
- •Взаимоблокировка
- •Управление памятью
- •Основные понятия операционных систем: ввод-вывод данных, файлы, межпроцесное взаимодействие. Ввод-вывод данных
- •Межпроцесное взаимодействие
- •3. Управление памятью: подкачка, виртуальная память.
- •Свопинг
- •Виртуальная память
- •Процессы и потоки. Реализация многопоточности.
- •Планирование и диспетчеризация
- •Файловая система: Надежность и непротиворечивость, производительность.
- •Структура файловой системы
- •Надежность файловой системы
- •Непротиворечивость файловой системы
- •Производительность файловой системы
- •Кэширование
- •Опережающее чтение блока
- •Снижение времени перемещения блока головок
- •Каталоговая система: основные принципы построения. Именование каталогов и файлов в операционных системах.
- •Одноуровневые каталоговые системы
- •Двухуровневая система каталогов
- •Иерархические каталоговые системы
- •Именование файлов и каталогов
Планирование и диспетчеризация
Планирование процессов включает в себя решение следующих задач:
определение момента времени для смены выполняемого процесса;
выбор процесса на выполнение из очереди готовых процессов.
Различные алгоритмы планирования могут преследовать различные цели и обеспечивать разное качество мультипрограммирования. Например, алгоритм должен гарантировать, что ни один процесс не будет занимать процессор дольше определенного времени; другой обеспечивает максимально быстрое выполнение «коротких» задач; третий обеспечивает преимущественное право на процессорное время интерактивным приложениям. Именно особенности планирования процессов в наибольшей степени определяют специфику ОС.
В большинстве ОС универсального назначения планирование осуществляется динамически (on-line), то есть решения принимаются во время работы системы на основе анализа текущей ситуации. ОС не имеет никакой предварительной информации о задачах, которые появляются в случайные моменты времени.
Статический тип планирования используется в специализированных системах, где набор одновременно выполняемых задач определен заранее (например, в системах реального времени). Здесь решение о планировании принимается заранее (off-line).
Диспетчеризация заключается в реализации найденного в результате планирования решения, т.е. в переключении процессора с одного потока на другой, и сводится к следующему:
сохранение контекста текущего процесса;
загрузка контекста нового процесса;
запуск нового процесса.
В отличие от планирования, осуществляемого программными средствами ОС, диспетчеризация реализуется совместно с аппаратными средствами процессора.
Примечание. В различных ОС компоненты, занимающиеся планированием, могут называться по-разному: scheduler – распорядитель, или планировщик, – в Unix; dispatcher – в Windows.
Файловая система: Надежность и непротиворечивость, производительность.
К долговременным устройствам хранения информации предъявляются три основных требования, которые должны обеспечить пользователей возможностью многократного использования информации:
1. Устройства должны позволять хранить очень большие объемы данных.
2. Информация должна сохраняться после прекращения работы процесса, использующего ее.
3. Несколько процессов должны иметь возможность получения одновременного доступа к информации.
Данные требования реализуются за счет хранения информации на дисках и других внешних хранителях в модулях, называемых файлами.
По мере надобности процессы могут создавать или читать файлы. При этом сама информация хранимая в файлах должна обладать признаком устойчивости (в данном контексте иногда применяется термин персистентность), то есть на нее не должны оказывать влияния создание или прекращение работы какого-либо процесса. Кроме того, файл (информация хранимая в файле) должен исчезать только тогда, когда его владелец дает команду удаления файла.
Вполне естественно, что файлами управляет операционная система. Их структура, именование, использование, защита, реализация и доступ к ним являются важными пунктами устройства операционной системы.
Часть операционной системы, работающая с файлами, называется файловой системой.