
- •Понятие «Операционная система». (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. (7-2, 19-2)
ОС UNIX функционирует как система разделения времени, предусматривающая одновременную работу нескольких пользователей, каждый из которых обладает терминалом.
Через терминал пользователь общается с системой, передает запросы на выполнение требуемых функций, получает результаты их работы.
Ввод и вывод информации обычно производится на пользовательский терминал, который по умолчанию считается стандартным вводом и выводом. Однако при необходимости стандартный ввод и вывод можно переопределить на другие устройства.
Стандартный ввод – в файл с дескриптором 0;
Стандартный вывод – в файл с дескриптором 1.
Ядро системы создает для каждого пользователя определенную независимую среду выполнения.
При взаимодействии с ОС UNIX пользователь может обращаться к большому количеству файлов. Настройка среды при входе в систему обеспечивает установку, в качестве текущего, начального каталога пользователя. Начальный каталог как бы определяет поддерево файловой системы, непосредственно доступное пользователю. Тем самым ограничивается набор файлов файловой системы, непосредственно доступных пользователю для изменения.
Диалог в ОС UNIX обеспечивается специальной программой-интерпретатором shell, которая составляет неотъемлемую часть среды выполнения каждого пользователя. Интерпретатор shell воспринимает команды, посылаемые с терминала, контролирует их и затем, если не обнаруживает ошибок, выполняет. Выполнение отдельной команды может рассматриваться как инициация определенной программы или группы взаимосвязанных программ, обеспечивающих ее реализацию.
Начальная загрузка и выход на интерактивный режим в ос unix. (25-2)
Для выполнения начальной загрузки необходим диск, содержащий в первом блоке программу загрузчик. Эта программа, при соответствующей инициации (обычно аппаратными средствами), считывается в память. Работа этой программы заключается в отыскании и чтении в ОП ядра ОС. Сначала загрузчик копирует в себя фиксированный адрес памяти в старших адресах, чтобы освободить нижнюю память для ОС. Загрузившись, он считывает корневой каталог с диска. Затем считывает ядро ОС и передает ему управление. Начальная программа ядра устанавливает указатель стека, определяет тип ЦП, вычисляет количество имеющейся в наличии ОП, запрещает прерывания, разрешает работу диспетчера процессов и запускает основную процедуру инициации ОС, процесс загрузки разбивается на две фазы:
инициализация ядра
инициализация системы
Инициализация ядра начинается с установки таймера и формирования начальных значений структуры данных ядра. На следующем шаге ОС считывает файлы конфигурации, в которых сообщается какие типы устройств, могут присутствовать, и проверяет, какие из устройств действительно присутствуют. Далее ищутся драйверы устройств, действительно присутствующих, и подгружаются. Затем ядро специальным образом без использования fork запускает процесс 0 (swapper). Для него создается контекст, и информация заносится в таблицу процессов.
Процесс 0 является системным процессом т.к. он постоянно находится в основной памяти и активен только тогда, когда процессор находится в состоянии «система». Процесс 0 продолжает инициализацию, осуществляя монтирование основной файловой системы. После образования процесса 0 ядро создает процесс с идентификатором 1(init) и идентификатором 2(page demon). Процесс 1 создается по упрощенной схеме, т.е. использованием fork, и служит для загрузки в основную память программы из файла /etc/init. Ядро по системному вызову exec считывает в процедурный сегмент процесса 1 программу, которая в будущем обеспечит активизацию из файла /etc/init. На этом инициализация ядра завершается.
Инициализация системы начинается с передачи управления диспетчеру процессов, который выбирает единственный активный процесс с идентификатором 1 и передает управление программе, размещенной в его процедурном сегменте. Процесс 1 по системному вызову exec на место своего процедурного сегмента считывает программу /etc/init. Она может создавать два типа режимов организации процессов:
однопользовательский
многопользовательский
Процесс init прежде всего инициирует начало работы интерпретатора shell для привилегированного пользователя. При выходе из однопользовательского режима создается многопользовательская среда. Активизация shell делает его доступным для всех пользователей системы. Для каждого активного канала связи порождается процесс getty. При вводе в систему по какому-либо каналу он выдает сообщение:
Имя (login) и пароль (password)