- •Понятие «Операционная система». (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
- •Внешние команды
- •Сравнение чисел
Последние изменения в файловой системе ос unix
Поиск файлов в каталогах производится линейно. Для увеличения производительности системы было добавлено кэширование имен. Прежде чем искать имя в каталоге система проверяет его наличие в кэше, если есть в кэше – в каталоге можно не искать.
Разбиение диска на группы цилиндров (на группы блоков). У каждой группы создается супер-блок, индексные дескрипторы и блоки данных. Суть: хранить индексные дескрипторы и данные ближе друг к другу, чтобы снизить время, затрачиваемое жестким диском на перемещение головок.
Использование не одного, а двух размеров блоков. Для файлов большого размера – блоки 1024 байт; для файлов маленького размера – 512 байт. Наличие блоков двух размеров позволяет обеспечивать эффективность операций чтения\записи для больших файлов и эффективное использование дискового пространства для небольших файлов.
Индексный дескриптор файла в ос unix. Таблица файлов. (6-2)
С каждым файлом в ОС UNIX связан индексный дескриптор. Это структура данных (64 байта), которая имеет следующие атрибуты:
права доступа к файлу для владельца, группы и прочих;
количество (счетчик) жестких ссылок;
идентификатор владельца ;
идентификатор группы;
размер файла в байтах;
время последнего доступа к файлу;
время последней модификации файла;
время последнего изменения прав доступа;
системный номер индексного дескриптора файла;
идентификатор файловой системы, в которой находится файл;
тип файла;
тип организации файла;
физический адрес на диске (обычно указатель на начало);
диспозиция файла.
Для каждой файловой системы формируются идентификаторы, и создается таблица индексных дескрипторов, в которой хранится информация обо всех файлах.
Каждая запись в таблице индексных дескрипторов содержит все перечисленные атрибуты файла и определяется по идентификатору файловой системы и номеру индексного дескриптора. Идентификатор присваивается файловой системе при выполнении команды mount.
Всякий раз, когда создаются новые файлы, ядро ОС UNIX создает новую запись в таблице индексных дескрипторов для сохранения информации о них. Кроме того, ядро ОС добавляет его имя и номер дескриптора в соответствующий каталог.
Таблицы индексных дескрипторов содержатся в соответствующих файловых системах на диске, но ядро ОС UNIX ведет их копии и в ОП.
(Здесь же рассказать весь следующий вопрос!)
Поддержка файлов ядром ос unix . (4-2)
(Здесь обязательно рассказать про три момента: таблица файлов, таблица пользовательских дескрипторов, таблица индексных дескрипторов)
Ядро ОС UNIX ведет также таблицы файлов, в которых отслеживаются все открытые в системе файлы. И каждый вновь создаваемый процесс содержит таблицу пользовательских дескрипторов файлов, где регистрируются все файлы, открытые процессом (таблица содержится в контексте процесса).
Когда процесс вызывает системный вызов open/creat чтобы открыть файл для чтения/записи, ядро преобразует имя файла в индексный дескриптор файла.
Если индексный дескриптор файла доступен процессу (есть право доступа), ядро ищет в таблице пользовательских дескрипторов файлов первую свободную строку. Номер этой строки будет возвращен процессу, как пользовательский дескриптор открытого файла.
Далее ядро просматривает таблицу файлов и ищет тем первую свободную строку. В записи таблицы пользовательских дескрипторов файлов процесса делается ссылка на найденную позицию в таблице файлов.
В записи таблицы файлов производится ссылка на ту запись в таблице индексных дескрипторов файловой системы, в которой хранится индексный дескриптор этого файла. В записи таблицы файлов формируется указатель текущей позиции (чтения/записи) в файле. В запись таблицы файлов заносится информация, о том, в каком режиме открыт файл и значение счетчика ссылок в записи таблицы файлов устанавливается в соответствии с тем, сколько дескрипторов файлов из процесса обращается к данной записи.
Значение счетчика ссылок индексного дескриптора файла увеличивается на единицу.
Ядро будет использовать пользовательский дескриптор открытого файла, как индекс в таблице пользовательских дескрипторов файла процесса для поиска элемента или строки в таблице файлов, соответствующих открытому файлу.
Затем ядро проверяет данные записи в таблице файлов, чтобы убедиться в том, что файл открыт в соответствии с режимом доступа. Ядро использует указатель из записи в таблице файлов для доступа к записи индексного дескриптора файлов. Оно использует указатель чтения/записи файла из таблицы файлов, чтобы определить с какого элемента должны происходить чтение или запись.
Ядро проверяет вид файла в записи индексного дескриптора и вызывает соответствующие драйверы для того, чтобы фактически начать обмен данными с физическим устройством.