- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Архитектура процессора.
X86 процессор – процессор, способный корректно использовать машинный код архитектуры IA32 (архитектура 32х битных процессоров Intel). В первом приближении, это архитектура процессора i80386.
У архитектуры IA32 существует официальное расширение – дополнительные наборы команд (от разработчика Intel). MMX, SSE, SSE2, SSE3. Существует неофициальное расширение (не от Intel) – EMMS, 3DN, E3DN. В основном это AMD разработчик.
Дополнительные наборы команд предназначены для увеличения быстродействия при выполнении некоторых операций. Одна команда дополнительного набора, как правило, выполняет действие, для которого понадобилось бы несколько команд ? набора. Как правило, одна команда выполняется быстрее, чем несколько, но можно обойтись и без команд дополнительного набора, поэтому все ОС выполняются на X86 процессорах вне зависимости от расширения системы команд.
В общем случае существуют понятия архитектуры процессора и микроархитектуры.
Архитектура – свойство, присущее семейству процессоров, выпускаемых в течение нескольких лет.
Микроархитектура – решение по реализации конкретного процесса (могут отличаться).
Процессорное ядро.
Процессорное ядро – конкретное воплощение микроархитектуры. Является стандартным для целой серии процессоров. Например, NotBurst лежит в основе Celeron.
Микроархитектура определяет общие принципы построения, ядро – конкретное воплощение.
Редки случаи, когда процессоры сменяли архитектуру, сохраняя названия. Практически любой процессор хотя бы один раз за время своего существования сменял ядро. Например, для процессор AthlonXD микроархитектура одна, но четыре типа ядра: Palomina, Burton, Thorton, Thor'onghBred.
Необязательно, что все компоненты процессора функционируют на той же частоте, что и ядро, поэтому частота работы ядра не определяет производительность.
Каждое процессорное ядро может использовать различное количество команд за один такт.
Частота – количество таких тактов за 1 секунду.
Увеличение частоты не всегда приводит к пропорциональному увеличению быстродействия, ещё зависит от времени поступления данных/шины.
По шине DDR передается удвоенный объём информации, а по QDR –учетверённый.
Если запросов много, а размер передаваемых данных мал, то количество данных, передаваемых по шине с большей или меньшей скоростью, будет одинаковым.
Кэш.
Любая считываемая из памяти информация поступает в кэш, и если она опять нужна, то проверяется кэш и обращение к памяти не происходит.
Декодер.
Исполняемые блоки процессора X86 не работают непосредственно с кодом. У каждого процессора есть своя внутренняя система команд. Иногда в некоторых процессорах одна команда ассемблера может выполняться за счёт микропрограмм, которые вшиты в ПЗУ и изменить их нельзя.
Исполняемые устройства являются основным элементом процессора.
АЛУ.
АЛУ отвечает за два типа операций: арифметические действия с целыми числами и логические операции.
На АЛУ команды поступают с декодера, который определяет какую команду где нужно выполнять.
В некоторых процессорах возможно несколько АЛУ и несколько FPU, исполняющихся параллельно.
