Структура операционной системы

advertisement
Структура операционной системы
Операционная система – это программное и
аппаратное обеспечения, которые осуществляют
управление ресурсами компьютера, загрузку
прикладных программ и диалог с пользователем.
Место операционной системы в ПО компьютера:
Программное обеспечение
Прикладное ПО
Служебное ПО
Системное ПО
Операционная
система
Оболочка
Ядро
Разделение процессорного времени в режиме
вытесняющей многозадачности:
Квант
времени
Поток A
Переклю
чение
процесс
ора
Квант
времени
Поток B
Переклю
чение
процесс
ора
• Сохранение контекста текущего
потока
• Определение очередного потока
• Восстановление контекста
очередного потока
Квант
времени
…………
t
Организация памяти в многозадачных ОС:
Виртуальное адресное
пространство процесса
Физическая
память
Виртуальная
память
процесса=2Гб
(пространство
пользователя)
+2Гб
(зарезервировано ОС)
1 стр.=4Кб
Диск
Вирт. Стр.1
Вирт. Стр.2
Физ. Стр.1
.exe; .dll
Физ. Стр.2
Swap file
Вирт. Стр.3
ПОЛЬЗОВАТЕЛИ
ОС
ОБОЛОЧКА
ЯДРО
Управление
процессами
Управление
памятью
Управление
внешними
устройствами
…………
….
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА
Прикладная программа
Интерфейс системных вызовов
ЯДРО
Исполнительная система
Менеджеры ресурсов
Базовые механизмы ядра
Машинно-зависимые компоненты ОС
Средства аппаратной поддержки ОС
Аппаратура
Аппаратная поддержка: средства поддержки
привилегированного режима, система прерываний,
средства переключения контекстов процессов,
средства защиты памяти.
Машинно-зависимые компоненты ОС:
программные модули, содержащие специфический
для данной платформы код; сервисы этих
компонент предоставляют интерфейс для
написания драйверов и системных вызовов;
пример: HAL (Hardware Abstraction Layer) MS
Windows.
Базовые механизмы ядра: переключение
контекстов процессов, диспетчеризация
прерываний, перемещение страниц между памятью
и диском и т.п.
Менеджеры ресурсов: диспетчер процессов,
менеджер памяти, файловый менеджер и
менеджер ввода/вывода. Менеджеры планируют
распределение ресурсов.
Интерфейс системных вызовов предоставляет
контролируемый доступ прикладных программ к
ресурсам компьютера посредством переход из
пользовательского режима в режим ядра. Пример:
Win32 API.
Режим ядра (режим супервизора,
привилегированный режим):
• полный доступ к командам процессора;
• обработка прерываний и исключений;
• доступ к объектам ядра.
Пользовательский режим:
• ограниченный набор команд процессора;
• запрет на вызов обработчиков прерываний.
read(hFile, pBuffer, nToRead) – процедура интерфейса
системных вызовов.
0xFFFFFFFF
7 Возврат к процедуре
5 Перехват и переход в ядро
Пространство
пользователя
8
4
3
2
1
Инкремент SP
Вызов read
Помещение в стек hFile
Помещение в стек pBuffer
Помещение в стек nToRead
6 Обработчик систем. вызова
Ядро
0
Библиотечная
функция read
Прикладная
программа
пользователя,
вызывающая
read
Архитектура MS Windows:
Источник схемы: К.А. Коньков «Основы организации операционных
систем Microsoft Windows», http://www.intuit.ru/department/os/osmswin/1/2.html
Объекты ядра MS Windows (некоторые):
• Process
• Thread
• File
• File-mapping
• Pipe
• Event
• Mutex
• Semaphore
Download