- •Понятие «Операционная система». (1-1)
- •Расположение ос в общей структуре компьютера
- •Функции ос
- •Блок управления процессом. Операции над процессом. (15-1, 28-1)
- •Машинные регистры
- •Ос поддерживает следующие операции над процессами:
- •Понятие прерывания. Схемы прерываний. (16-1)
- •Понятия файла, символьного набора, организации файлов. Средства файловой системы. (23-1, 26-1)
- •Блок управления файлом. (25-1)
- •Топология файловой системы. (26-1, 24-1)
- •Реализация файлов и каталогов. (9-1, 24-1)
- •Реализация файлов
- •Реализация каталогов
- •Стратегии управления памятью. Концепции распределения памяти. Алгоритмы замещения. (18-1)
- •Существует большое количество алгоритмов замещения:
- •Концепции распределения памяти:
- •Организация памяти при связном распределении. Оверлейные перекрытия. (19-1)
- •Организация памяти на основе мультипрограммирования. (20-1)
- •Организация памяти на основе мультипрограммирования с фиксированными разделами.
- •Организация памяти на основе мультипрограммирования с переменными разделами.
- •Организация памяти на основе свопинга. Битовые карты и связный список свободных и занятых блоков. (21-1) Свопинг
- •Битовые карты и связный список свободных и занятых блоков.
- •Концепция виртуальной памяти. (22-1)
- •Способы реализации вп
- •Преобразование V в ψ
- •Расслоение памяти. Регистр перемещений. Прерывания и опрос состояний. (2-1) Метод расслоения памяти (интерливинг)
- •Регистр перемещения
- •Прерывания и опрос состояний
- •Буферизация. Периферийные устройства. Защита памяти. (3-1) Буферизация
- •Периферийные устройства
- •Защита памяти
- •Таймер. Каналы ввода/вывода. Захват цикла. (4-1) Таймер и часы
- •Каналы ввода-вывода
- •Захват цикла
- •Относительная адресация. Режимы работы эвм. (5-1) Относительная адресация
- •Режим работы компьютера
- •Виртуальная память. Мультипроцессорная обработка. Прямой доступ к памяти. (6-1) Виртуальная память
- •Мультипроцессорная обработка
- •Прямой доступ к памяти
- •Программирование на машинном языке. Ассемблеры и макропроцессоры. Компиляторы. (7-1) Программирование на машинном языке
- •Ассемблеры и макропроцессоры
- •Компиляторы
- •Конвейеризация. Иерархия памяти. (8-1) Конвейеризация
- •Иерархия памяти
- •Система управления вводом/выводом. Спулинг. (10-1) Система управления вводом/выводом
- •По системы управления вводом/выводом (не надо)
- •Спулинг
- •Процедурно-ориентированные и проблемно-ориентированные языки. Интерпретаторы. (11-1) Процедурно-ориентированные и проблемно-ориентированные языки.
- •Интерпретаторы
- •Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей. (12-1) Абсолютные и перемещающие загрузчики
- •Связывающие загрузчики и редакторы связей
- •Микропрограммирование. Эмуляция. Горизонтальный и вертикальный микрокод. (13-1) Микропрограммы
- •Горизонтальный и вертикальный микрокод
- •Эмуляция
- •Основные характеристики ос unix. (27-2)
- •Достоинства Unix систем
- •Недостатки Unix систем
- •Структура ос unix. Ядро и процессы. (26-2)
- •Структура процесса ос unix. Состояние системы и виды взаимодействия в ос unix. (25-2) Состояние системы
- •Структура процесса
- •Дескриптор процесса в ос unix. Контекст процесса. (5-2)
- •Создание процессов в ос unix. (11-2)
- •Планирование процессов в ос unix. (13-2)
- •Информационные связи между процессами в ос unix. (10-2)
- •Управление памятью в ос unix на основе свопинга (1-2)
- •Управление памятью в ос unix на основе страничной подкачки. (2-2)
- •Алгоритм замещения страниц в ос unix. (3-2)
- •Типы файлов в файловой системе ос unix. Топология файловой системы. Последние изменения в файловой системе ос unix. (18-2)
- •Последние изменения в файловой системе ос unix
- •Индексный дескриптор файла в ос unix. Таблица файлов. (6-2)
- •Поддержка файлов ядром ос unix . (4-2)
- •Физическая и логическая организация файловой системы ос unix. (16-2)
- •Логическая и физическая организация системы управления вводом/выводом ос unix. (15-2)
- •Структурная организация системы управления вводом/выводом ос unix. (12-2)
- •Реализация системы управления вводом/выводом ос unix. (14-2)
- •Функционирование ос unix. (7-2, 19-2)
- •Начальная загрузка и выход на интерактивный режим в ос unix. (25-2)
- •Интерактивный режим работы в ос unix. (24-2)
- •Понятие системного вызова. Системные вызовы system и execl. (23-2)
- •Системныевызовыработысфайламиopen,creat,close,dup,dup2.(21-2, 19-2)
- •Системный вызов open
- •Системный вызов creat
- •Системные вызовы dup, dup2
- •Системные вызовы ввода/вывода. (20-2, 8-2)
- •Системный вызов read
- •Системный вызов write
- •Системный вызов close
- •Системный вызов pipe
- •Интерпретатор команд shell. (28-2)
- •Экранирование
- •Встроенные команды языка shell
- •Внешние команды
- •Сравнение чисел
Реализация каталогов
Прежде, чем работать с файлом, его нужно открыть.
При открытии файла, ОС оперирует полным именем файла, чтобы найти запись о файле в каталоге.
Запись в каталоге содержит информацию, необходимую для нахождения блоков диска. Это может быть дисковый адрес всего файла для неразрывных файлов; номер первого блока для обеих схем списков или номер i-го узла.
В первых трех случаях запись в каталоге должна содержать информацию об атрибутах файла. i-й узел такую информацию уже содержит и это дополнительное преимущество такой схемы реализации.
Стратегии управления памятью. Концепции распределения памяти. Алгоритмы замещения. (18-1)
Понятие управления ОП включает в себя следующие стратегии (группы алгоритмов):
Стратегия выборки - ставит целью определить, когда следует втолкнуть (ввести) очередной блок программы или данных в ОП.
Выборка по запросу
Упреждающая выборка
Стратегия размещения - ставит целью определить, в какое место следует помещать поступающий блок.
Стратегия замещения - ставит целью определить, какой блок программы или данных следует вытолкнуть из ОП, чтобы освободить место для записи поступающих программ или данных.
Существует большое количество алгоритмов замещения:
Оптимальный алгоритм - заменяет тот блок, обращение к которому производилось раньше других, находящихся в памяти.
FIFO (first in – first out) – отслеживает порядок загрузки блока в память, храня их в связном списке. При этом удаление старейшего блока тривиально, но этот блок может быть задействован в данный момент.
Вторая попытка – модификация FIFO, перед удалением блока проверяет, не используется ли он в данный момент и, если используется, то блок пропускается и удаляется следующий.
LRU (Least Recently Used) – удаляет блок, не использовавшийся дольше всех. Требует специального аппаратного обеспечения.
Старение (aging) – программная реализация алгоритма LRU.
NRU (Not Recently Used) – удаляется блок, не использующийся за последнее время. Используется в ОС Windows.
Алгоритм часов - блоки памяти располагаются как «на циферблате». За первый проход стрелка сбрасывает флаги использования блоков. Если блок используется, то до второго прохода стрелки этот флаг восстановится. Если же до второго прохода стрелки флаг не восстановился, блок считается не используемым и может быть удален. Используется в ОС Unix. В Mac OS – 2 стрелки. Время между проходами стрелки 20 секунд по умолчанию (устанавливается вручную при генерации системы).
Концепции распределения памяти:
Связное распределение. При связном распределении программа занимает один сплошной блок ячеек памяти (от а до б). В этом случае размер программы ограничивается количеством памяти. Например, оверлейные перекрытия – программа помещается в память не целиком, а частями.
Несвязное распределение. При несвязном распределении памяти программа разбивается на ряд блоков или сегментов, которые могут размещаться в ОП на участках, необязательно соседствующих друг с другом. К несвязному распределению памяти относятся подходы, основанные на свопинге и концепции виртуальной памяти.
Организация памяти при связном распределении. Оверлейные перекрытия. (19-1)
3 типа:
Программа занимает всю память
Постоянные разделы, у каждого своя очередь
Переменные разделы, каждой программе выделяется столько памяти, сколько ей требуется.
При связном распределении памяти каждая программа должна занимать один сплошной блок ячеек памяти. В этом случае размер программ ограничивается емкостью имеющейся оперативной памяти.
Однако если объем программы превышает объем имеющейся оперативной памяти, существует возможность её выполнения, благодаря использования оверлейных перекрытий (сегментов).
Суть этого метода заключается в следующем: программа формируется как набор подпрограмм. Т.е. программа делится на части (оверлеи), которым не обязательно нужно находиться в оперативной памяти одновременно.