- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Регистры процессора.
Расположены в процессорном ядре. Скорость обмена высокая, больше, чем с ОП.
Многопроцессорные и многоядерные системы.
1. SMP системы (symmetric multiprocessing system).
В этой системе все процессоры имеют равноправный доступ к памяти. При программировании не возникает специфических особенностей. Практический предел 2-4. Больше – дорого.
2. NUMA (Non-Uniform Memory Access).
У каждого процессора своя память. Обращение к своей памяти быстрее, чем к чужой. Создавать проще, программировать сложнее.
3. Кластеры – COWS (Cluster of Workstations).
Процессоры строятся из самостоятельных компьютеров, которые соединены линиями связи. Существуют специальные алгоритмы, как распределить части ОС и задачи для выполнения на кластерах.
Многоядерные системы.
Поместить 2-3 процессора в один корпус.
Три схемы реализации:
1. Независимые процессорные ядра.
Каждое со своей кэш-памятью, каждый на кристалле, используют общую шину.
2. Ядра расположены на разных кристаллах, но в одном корпусе (многочиповый процессор).
3. Комбинированный вариант. На одном кристалле, но разные ресурсы.
Оперативная память.
В общем случае ОП состоит из модулей памяти, регистра адреса, регистра данных.
Для управления памятью применяются различные схемы. Возможно для обеспечения защиты данных для блоков ОП выделять ключи защиты, которые устанавливает ОС или пользователь.
Адресация оп.
После компиляции используемая часть загружаемого модуля состоит из команд процессора, в которых указаны адреса операндов и действия над ними.
Для обеспечения перемещаемости программ в ОП существуют способы адресации операндов.
Машинный язык и его мнемонический вид – Ассемблер.
Адреса операндов могут быть указаны в явном и неявном виде. В явном загружаются в регистры процессора, доступные ОС. В неявном виде адресация происходит с использованием базовых регистров, индексных и смещения.
Формат команды память/память:
КОП B1 L1 D1 B2 L2 D2
КОП – код операции.
< B1> – номер регистра, содержащего базовый адрес первого операнда.
L1 – длина первого операнда в байтах.
D1 – смещение адреса операнда относительно базового.
Исполняемый адрес первого операнда:
A1=<B1>+D1
A2=<B2>+D2
Если выполнить команду:
mov A1(L1), A2(L2),
то перед ней: R1=<B>.
Базовый адрес – адрес начала модуля в ОП, который установлен загрузчиком модуля в ОП.
ОП.
<X> – индексный регистр (для реализации циклов внутри программы).
В результате текст программы не меняется, так как при загрузке в модуль меняется только содержимое регистра, что обеспечивает независимость адресов операндов в исполнительном модуле от места его нахождения в ОП.
Возможна реализация индексных регистров.
В этом случае для реализации начала модуля используется базовый регистр, для цикла – индексный регистр.
КОП |
A1 |
X1 |
D1 |
B2 |
X2 |
D2 |
<X> - можно загрузить индекс начала массива для обеспечения поиска.
В общем случае команды бывают следующих форматов:
- регистр-регистр RR;
- регистр-индексируемая память RX;
- регистр-адрес RS;
- память-опреанд SI.
Каждая команда в системе команд процессора имеет код завершения.
Результат выполнения команды недействительной вызывает прерывание, и ОС обрабатывает прерывание и выводит. Программа завершила выполнение некоторой команды.
