- •Понятие «Операционная система». (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
- •Внешние команды
- •Сравнение чисел
Блок управления процессом. Операции над процессом. (15-1, 28-1)
Представителем процесса в ОС является блок управления процессом (дескриптор процесса). ОС ведет таблицу процессов, каждая запись в которой является дескриптором одного процесса.
Дескриптор процесса – структура данных, содержащая следующие поля:
Идентификатор;
Текущее состояние;
Приоритет процесса;
Указатели памяти процесса;
Указатели выделенных ресурсов;
Машинные регистры
Машинные регистры
Когда ОС переключает ЦП с процесса на процесс, она использует машинные регистры, предусмотренные в дескрипторе процесса, чтобы запомнить информацию, необходимую для рестарта каждого процесса.
Ос поддерживает следующие операции над процессами:
Создание - состоит из многих операций, включая присвоение имени процессу, включение этого имени в список имен процессов, известных ОС; определение начального приоритета процесса; формирование дескриптора процесса и выделение процессу начальных ресурсов.
Уничтожение – удаление дескриптора процесса.
Возобновление (рестарт) – связан с выделением процессу ЦП.
Изменение приоритета - происходит постоянно для каждого процесса, функционирующего в системе. Приоритет процесса падает со временем.
Блокирование - происходит во время операций ввода/вывода, либо во время ожидания каких-либо событий.
Запуск (выбор) – функция планировщика, который выбирает процесс с наивысшим приоритетом
Пробуждение связанно с работой таймера
Схема состояний процесса
Приостановленный процесс состоит из собственного адресного пространства, обычно называемого образом памяти (core-файл) и дескриптора.
Понятие прерывания. Схемы прерываний. (16-1)
Вход в ядро ОС осуществляется по прерыванию. Когда ядро реагирует на данное прерывание, оно запрещает все другие прерывания.
После определения причины данного прерывания, ядро передает его обработку специальному системному процессу, предназначенному для работы с прерываниями этого типа.
Схема прерываний отличается для различных конфигураций компьютера. В целом, можно выделить 6 основных типов прерываний:
По вызову супервизора.
Прерывание по вызову супервизора появляется в том случае, когда работающий процесс выполняет команду обращения к супервизору. Этой командой (SVC-командой) программа пользователя генерирует запрос на предоставление конкретной системной услуги, например, на выполнение операции ввода/вывода, увеличение объема выделенной памяти и т.п.
Прерывание ввода/вывода.
Инициируется аппаратурой ввода/вывода. Например, когда завершается операция ввода/вывода, возникает ошибка или происходит смена состояния устройства ввода/вывода.
Внешние прерывания.
Причиной могут служить различные события, в том числе истечение кванта времени, заданного на таймере, нажатие клавиши прерывания на клавиатуре (ctrl+c и др.), прием сигнала прерывания от другого процессора в мультипроцессорной системе.
Прерывание по рестарту.
Происходит, когда нажата кнопка рестарта (reset), или когда от другого процессора в мультипроцессорной системе поступает команда рестарта.
Прерывание по ошибке программы.
Например, при делении на 0.
Прерывание по ошибке компьютера.
Например, вышел из строя блок питания.
Для обработки каждого типа прерываний в составе ОС предусмотрены программы, называемые обработчиками прерываний.
Когда происходит прерывание, ОС запоминает состояние прерванного процесса и передает управление соответствующему обработчику прерываний. Когда обработчик прерываний завершается, ЦП начинает обслуживать либо тот процесс, который выполнялся в момент прерывания, либо процесс из списка готовых с наивысшим приоритетом, в зависимости от того, допускает ли процесс перехват ЦП.