- •Ос в общей структуре компьютера.
- •История операционных систем.
- •Классификация современных ос. Задачи современных ос.
- •6. Понятие процесса – ключевое понятие ос.
- •8. Трансляторы: компиляторы и интерпретаторы.
- •9. Иерархия зу (запоминающих устройств).
- •10. Управление оперативной памятью (оп). Менеджер памяти; swapping; виртуальная память.
- •11. Модели организации виртуальной памяти.
- •12. История ос unix.
- •13. Общая архитектура unix. Основные подсистемы ядра.
- •14. Пользовательская среда unix.
- •Командный интерпретатор shell.
- •16. Система каталогов в oс unix. Управление с помощью команд языка Bourn shell.
- •17. Управление файлами с помощью команд языка Bourn shell. Перенаправление ввода/вывода.
- •19. Обработка аргументов командной строки. Переменные окружения.
- •20. Пользователь и группа. Права доступа к файлу.
- •21. Системные вызовы и функции стандартных библиотек. Обработка ошибок.
- •22.Структура программы на языке с. Параметры главной функции (пример).
- •23. Файловая система ос unix: монтирование, индексные дескрипторы, жесткие и символические ссылки, файлы устройств.
- •24.Системные вызовы для работы с файлами
- •25. Понятие «процесс» в ос unix. Контекст процесса; свойства процесса; состояние процесса.
- •26.Создание процессов и упр-е ими.
- •27. Запуск внешней программы
- •29.Общая классификация средств взаимодействия процессов в ос unix.
- •30.Иерархия процессов в ос unix. Понятие сеанса. Фоновые процессы.
- •31.Каналы – средства взаимодействия процессов. Неименованные каналы. Организация конвейера (пример программы).
- •33.Сигналы как средство взаимодействия процессов в ос unix. Диспозиция сигналов.
- •34.Ограничения для процесса в ос unix (по ресурсам). Связь со свойствами процесса.
- •36.Отображение файлов в виртуальное адресное пространство. Разделяемая память.
- •37. Взаимодействие процессов через псевдотерминал.
- •38. Недостатки потокового взаимодействия процессов. Средства System vipc. Пространство имен. Общие принципы работы со средствами System vipc.
- •39. Организация очереди сообщений в ос unix. Структура сообщения. Отправка и принятие сообщений.
- •40.Семафоры, как средство взаимодействия процессов System vipc. Понятие атомарной операции. Массив семафоров.
- •41.Разделяемая память, как средство взаимодействия процессов System vipc.
- •42.Взаимодействие по сети. Понятие протокола. Семейства адресации и типы взаимодействия. Создание сокета в ос unix.
- •45. Потоковые сокеты. Клиент – серверная модель.
- •46. Проблема очередности действий и ее решение.
- •47. Процессы-демоны. Система журнализации.
- •48. Загрузка и жизненный цикл в ос unix.
- •49. Взаимоисключения. Понятие критической секции. Устаревшие подходы к организации взаимного исключения.
- •50.Поддержка взаимоисключения на уровне ос. Мьютексы и семафоры (Дейкстры). Команда ассемблера tsl.
- •51.Проблема тупиков. Граф ожидания
- •52. Нити исполнения (pthreads) в ос unix. Мьютексы pthreads.
- •53.Графический интерфейс в ос unix. Базовые принципы построения x_window.
- •54.Файловая подсистема. Общая структура. Методы выделения дискового пространства. Управление дисковым пространством.
- •55.Файловая подсистема. Структура файловой системы на диске. Реализация директорий. Поиск в директории (хеширование).
- •56.Подсистема ввода/вывода. Схема взаимодействия подсистем ос. Понятие драйвера. Типы драйверов.
10. Управление оперативной памятью (оп). Менеджер памяти; swapping; виртуальная память.
Управление ОП осущ-ся ОС.
Менеджер.
Защита процессов др. от друга и ОС от процессов. Управление аппаратн. защиты для ОП.
Недостаток объем ОП. Современ. ОС освобождают физич. память, сбрасывая данные давно не use-ющ. на дисках.
дублир-е данных. Может возникать при запуске неск. копий одной и той же прог-ы. При этом данные мб разн. а програмн. код дублир-ся.
перемещение кода. В мультизадачн. ситуации неизвестно в какое место физич. памяти будет загружена конкретн. программа. Если прог-у привязать к конкретн. физ. адресам, то это место мб занято др. прог-ой.
фрагментация. При пост. выделении и освобождении блоков памяти разн. размера может возникнуть ситуация при которой очередн. блок не мб выделен, хотя свободн. память имеется.
Общ. понятия.
Подкачка. Для реш-я проблемы нехватки памяти используется swapping: находящийся в ОП данные, кот. временно не использ-ся, пр. принадлежащие блокирован. задачам мб временно перенесены на диск – откачены. А при необх-ти вновь загружены.
Память задачи мб откачена на диск целиком, если задача блокирована. Хотя задачи допуск. подкачку отдельн. частей тогда задача может продолжиться на выполнение. Если в процессе выпонения задача обращается к откачен. области, то возникает прерывание => ОС получает управление, определяет что необх-мо откачен. областям и подкачивает данные с диска в ОП, затем продолжается задача.
Виртуальная память. Идея сост.: исполнит. адреса в машин. кодах прог-ы считаются не адресами физич. ячеек памяти, а некот. виртуальн. адресами. Все мн-во вирт. адресов назыв. вирт. адресным пространством. Вирт. адреса процессора преобраз-ся в физич. Преобразов-е идет по некот. правилам, кот. могут динамически меняться.
Для каждой задачи задаются свои правила вычисления физич. адресов. Т.о. в распоряжении задачи свое вирт. адресн. пространство при использовании кот. можно вообще не учитывать сущ-е др. задач.
Правило преобразования адресов должно изменяться так, чтобы изменившиеся вирт. адреса соотв. новым физич. адресам. Некот. вирт. адреса могут не иметь соотв-я с физич. При попытке задачи обратиться к такому адресу возникнет прерывание, кот. мб использовано для подкачки соотв. областей или снять задачу.
11. Модели организации виртуальной памяти.
1. База и Придел.(простейшая, линейная).
Снабдим процессор 2мя регистрами спец. назначения База и Придел, можно считать, что в привилигирован. режиме знач-я этих регистров игнорируются. При работе ЦП в ограничен. режиме при выполенении любой ком-ды, ЦП к любому заданному в программе исполнит. адресу прибавляет значение Баз. При этом получается физич. адрес. На аппаратн. уровне производится проверка не превышает ли полученное значение предела, если превыш., то прерывание.
Модификация базы и придела в ограничен. режиме запрещена.
При перемещении задачи в др. место памяти копируется адресн. пространство по новым адресам соотв-но изменяется знач-е Базы и Придела.
В такой модели идеально решена проблема памяти и адаптации к адресам. Проблема объема памяти и фрагментации может решаться, но довольно сложно. Проблема дублир-я не решена вообще.
2. Сегментная адресация памяти.
Сегмент- область физич. памяти, имеющ. начало(аналогично Базе) и длину(аналогично Приделу). Отличие: позволено задаче иметь неск. сегментов. Такая схема модели затронет процессор и все ПО. Наиболее видимое измен-е: в исполнит. адресе появл. селектор сегмента под него отводят неск. старших бит адреса или использует отдельн. спец-но предназначен. регистр процессора. Селектор сод-т номер сегмента в таблице дискрипторов сегмента. Структура инф-ции в таблице для каждого сегмента след.: физ. адрес начала сегмента, его длина и некот. служебн. пар-ры и флаги.
Физич. адрес формер-ся сложением адреса начала сегмента из табл. дискрипторов и смещения взятого из исполнит. адреса.
Возможность иметь неск. сегментов для 1ой задачи позволяет сделать некот. сегмент общим => можно решить проблему дублир-я. Пр. задача с неск. большими таблицами, чтобы не пересчитывать все адреса можно для каждой таблицы выделить свой сегмент.
Разработчики архитектур организуют процесс хранения инф-ции об используемых сегментах непосредственно в процессоре.
3. Страничная организация памяти.
Каждая задача имеет свое пространство вирт. адресов и свои табл. перевода их в физич. Разделим физич. память на кадрыframe фиксир. размера.
Пространство вирт. адресов разбивается на страницы того же размера, что и кадры.
Если процессор имеет 32 битн. адреса объем физич. памяти 512 Мбайт= 212 Б.
фреймов 217 кадров.
Вирт. адресн. пр-во тогда делится тоже на страницы по 4 Кб.
Нужно некот. образом для каждой задачи сопоставить некот. страницы номера физич. кадров. Обычно отображение страниц на физич. кадры осущ-ся через таблицу страниц. Таблица, принадлежащая активной задаче, для каждой страницы таблицы есть запись с номером кадра и служебн. атрибуты. В число атрибутов входит признак присутствия таблицы в ОП. Сущ. проблема выбора размера страницы.
Чем больше страница, тем больше памяти пропадает впустую, чем меньше страница, тем больше строк в таблице страниц.
На Intel 4Кб, 2 Мб страниц. Каждая строка в табл. страниц занимает 4Б. Кол-во страниц по 4 Кб, если 4 Гб памяти =220.
Многоуровневые страницы таблицы в этом случае №страницы делится на группы битов, задающих номер строки в таблицах соотв. уровню. Таблица 1ого уровня сод-т адреса таблиц 2ого и т.д. уровня. Таблица 2ого и т.д. уровня номера физич. кадров.
Обычно идет 2 уровня для 32 бита вых. структур и 3 уровня для 64 бит. Таблицы уровня добавл. по мере необх-ти.
Для 32 битн. адресов, если размер страницы 4 Кб, таблицы обоих уровней могут сод-ть 10 бит – вирт. адрес на каждую таблицу. Т.е. каждая страница займет 1 кадр.
«-» будет пропадать память на последн. страницы и довольно большой объем служебн. инф-ции.
Встраивают в процессор спец. уст-во назыв. ассоциативной памятью. Уст-во представл. собой табл. из 2х полей: №вирт. страницы и инф-ция о соотв-щем кадре. Электрон. схема устроена так, что запрос к ней осущ-ся не по номеру строки в табл., а по знач-ю 1ого поля, т.е. по ключу.
Инф-ция об отображаемой странице локальна для каждой задачи. Каждая страница дополняет ассоциативн. память заново. Если управление ассоц. памятью на нов. системе, то все запросы на нов. заполнение через прерывание.
Сегментно – страничная организация памяти.
В этой модеи задача имеет неск. сегментов причем, каждый из сегментов представл. собой самостоятельн. вирт. адресн. пр-во, поделен. на страницы.
«-» сложность.
С ней практически не работают сегодня.