
- •1) Технологии проектирования операционных систем (микроядерные, монолитные ос, технология клиент - сервер)
- •2) Объектно-ориентированный подход в проектировании операционных систем.
- •3) Основные принципы проектирования операционных систем
- •4) Модульное программирование ос. Привилегированные, непривилегированные, рентабельные модули.
- •5) Управление процессами в многозадачных средах. Контекст и дескриптор процесса.
- •Состояния процессов
- •6) Управление процессами в многозадачных средах.
- •7. Методы синхронизации параллельно выполняющихся процессов. Взаимные исключения. Семафоры
- •8. Методы синхронизации параллельно выполняющихся процессов. Блокирующие переменные. Мониторы Хоара.
- •9. Управление процессами в многозадачных средах.
- •10) Логическая организация файловой системы. Файлы прямого, последовательного доступа, индексные файлы.
- •11) Физическая организация файлов на диске.
- •13) Файловая система ext. Особенности ее реализации.
- •14 Типы файловых систем
- •15) Общая модель современной файловой системы.
- •16) Методы защиты данных в ос unix.
- •17) Странично-сегментное управление памятью.
- •18) Виртуальные ресурсы. Виртуальная память. Свопинг.
- •19) Обеспечение эффективности обработки данных. Иерархия зу. Кэширование. Буферизация данных.
- •20) Управление устройствами ввода/вывода.
- •Прерывания и способы их обработки
- •Драйверы устройств
- •21) Управление устройствами ввода/вывода. Спулинг.
- •22) Компиляторы. Лексический анализатор. Дескрипторный текст программы.
- •23) Компиляторы. Синтаксический анализатор. Методы построения синтаксического дерева вывода.
- •24) Компиляторы. Семантический анализатор. Генерация, оптимизация кода программы.
- •25) Распределение оп при выполнении программ.
19) Обеспечение эффективности обработки данных. Иерархия зу. Кэширование. Буферизация данных.
Память вычислительной машины представляет собой иерархию запоминающих устройств, кот имеет 2 уровня: основную(главную, оперативную) и вторичную (внешнюю). Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из кот имеет свой адрес. Вторичная – можно рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. Многоуровневую схему используют: инфа кот находится в памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.
Рис. Иерархия ЗУ
1)Внешняя память – имеет большой объем, но небольшую скорость данных(мс). 2)Оперативная память - более быстродействующая. Время доступа к данным приблизительно 10-20 нсек, менее объемная от 10 мб до 10 гб. 3)Сверх – оперативное ЗУ – для хранения данных, к кот необходим постоянный доступ, время доступа не превышает 8 нсек. 4)Внутренние регистры процессора – используются для промежуточного хранения данных, объем регистров несколько десятков байтов, время доступа определяется быстродействием процессора и равно 2-3 нсек.
Кэш-память - это способ совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных. Кэш-памятью часто называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств - "быстрое" ЗУ. Оно стоит дороже и, как правило, имеет сравнительно небольшой объем, используется для увеличения производительности системы. В системах, оснащенных кэш-памятью, каждый запрос к оперативной памяти выполняется в соответствии со следующим алгоритмом:
1.Просматривается содержимое кэш-памяти с целью определения, не находятся ли нужные данные в кэш-памяти; кэш-память не является адресуемой, поэтому поиск нужных данных осуществляется по содержимому - значению поля "адрес в оперативной памяти", взятому из запроса.
2.Если данные обнаруживаются в кэш-памяти, то они считываются из нее, и результат передается в процессор.
3.Если нужных данных нет, то происходит обращение к ОП. При копировании данных может оказаться, что в кэш-памяти нет свободного места, тогда выбираются данные, к которым в последний период было меньше всего обращений, для вытеснения из кэш-памяти. Если вытесняемые данные были модифицированы за время нахождения в кэш-памяти, то они переписываются в оперативную память. Если же эти данные не были модифицированы, то их место в кэш-памяти объявляется свободным.
На практике в кэш-память считывается не один элемент данных, к которому произошло обращение, а целый блок данных, это увеличивает вероятность так называемого "попадания в кэш", то есть нахождения нужных данных в кэш-памяти.
Любой запрос на ввод-вывод к блок-ориентированному устройству преобразуется в запрос к подсистеме буферизации, которая представляет собой буферный пул и комплекс программ управления этим пулом. Буферный пул состоит из буферов, находящихся в области ядра. Размер отдельного буфера равен размеру блока данных на диске. С каждым буфером связана специальная структура - заголовок буфера, в котором содержится следующая информация: 1)Данные о состоянии буфера: занят/свободен, чтение/запись, признак отложенной записи, ошибка ввода-вывода. 2)Данные об устройстве - источнике информации, находящейся в этом буфере: тип устройства, номер устройства, номер блока на устройстве. 3)Адрес буфера. 4)Ссылка на следующий буфер в очереди свободных буферов, назначенных для ввода-вывода какому-либо устройству.