- •Понятие «Операционная система». (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
- •Внешние команды
- •Сравнение чисел
Организация памяти на основе мультипрограммирования. (20-1)
Мультипрограммирование — способ организации выполнения нескольких программ на одном компьютере.
Организация памяти на основе мультипрограммирования с фиксированными разделами.
ОП разбивается на ряд разделов фиксированного размера (размеры могут быть разными). В каждом разделе может выполняться одна программа. Формируется очередь программ для каждого из разделов.
ЦП переключается с программы на программу, создавая иллюзию их одновременного выполнения.
Трансляция программ проводится при помощи ассемблеров и компиляторов в абсолютных адресах с расчетом выполнения только в конкретном разделе.
При использовании перемещающихся компиляторов, ассемблеров и загрузчиков загрузочные модули можно получать в перемещаемых адресах. Тогда подход трансформируется к следующему виду: существует одна очередь, каждая программа размещается в произвольном свободном разделе.
Организация памяти на основе мультипрограммирования с переменными разделами.
ОП разбивается на ряд разделов переменного размера. Каждой программе выделяется столько памяти, сколько она требует. Закончилась память – очередь ждет, когда память освободится.
Когда программа заканчивает работу, возникает проблема появления свободных участков памяти, часто недостаточно больших для загрузки следующей программы.
В том случае, когда освобождаются смежные разделы, границы между ними удаляются и разделы объединяются. За счет объединения или слияния смежных разделов образуются большие фрагменты, в которых можно разместить большие программы из очереди.
Если же освобождаются несмежные разделы, в памяти порождается множество малых свободных фрагментов, каждый из которых может быть недостаточен для размещения очередного процесса.
Проблема решается при помощи «уплотнения памяти» или «сбора мусора». Уплотнением памяти называется перемещение всех занятых разделов по адресному пространству памяти. Таким образом, чтобы свободный фрагмент занимал одну связную область.
Это концепция связного распределения памяти.
Организация памяти на основе свопинга. Битовые карты и связный список свободных и занятых блоков. (21-1) Свопинг
(обычная подкачка)
Этот подход не требует, чтобы программы оставались постоянно в ОП до момента завершения.
В некоторых системах со свопингом всю ОП в некоторый момент времени занимает только одна программа. Отработав свой квант времени, эта программа выталкивается из памяти и другая программа из очереди вводится в память.
В обычном случае каждая программа еще до завершения будет многократно перекачиваться из внешней памяти в ОП и наоборот.
В настоящее время разработана система со свопингом, позволяющая размещать в ОП сразу несколько программ.
ОС со свопингом называется ОС с разделением времени.
Битовые карты и связный список свободных и занятых блоков.
Существует два способа учета использования памяти:
Применение битовых карт.
Список свободных участков.
Если создаваемый процесс имеет фиксированный размер, размещение его в ОП осуществляется просто: ОС выделяет необходимое количество памяти. Однако, область памяти может расти в результате динамического распределения памяти. Если память выделяется динамически, этим процессом должна управлять ОС, которая использует, либо битовые карты, либо список свободных участков.
В битовой карте каждому свободному блоку соответствует 1 бит равный 0, а каждому занятому – бит равный 1.
Другой способ отслеживания состояния памяти – поддержка связных списков занятых и свободных блоков. Каждая запись в списке указывает, является ли область памяти свободной, адрес с которого начинается эта область, ее длину, а так же содержит указатель на следующую запись.