
- •1. Управление процессами
- •1.1 Операции над процессами
- •1.2 Обработка прерываний
- •2. Иерархическая структура ос.
- •2.1 Понятие параллельных и асинхронных процессов
- •2.2 Алгоритм Деккера.
- •2.3 Аппаратная реализация взаимоисключения
- •2.4 Реализация взаимоисключения с помощью семафоров
- •3. Тупиковые ситуации
- •3.1 Четыре необходимых условия возникновения тупика
- •3.2 Основные направления исследований по проблеме тупиков
- •3.3 Предотвращение тупиков, 3 стратегических принципа.
- •3.5 Обнаружение тупиков
- •3.6 Восстановление после тупиков
- •4. Управление памятью
- •4.1 Организация памяти
- •4.2 Стратегии управления памятью
- •4.3 Связное и несвязное распределение памяти
- •4.4 Мультипрограммирование с фиксированными разделами
- •4.5 Мультипрограммирование с переменными разделами
- •4.6 Стратегии размещения информации в памяти
- •5. Организация виртуальной памяти
- •5.1 Страничная организация памяти
- •5.2 Сегментная организация памяти
- •5.3 Странично-сегментная организация памяти
- •5.4 Стратегии управления виртуальной памятью
- •5.5 Принцип локальности
- •5.6 Стратегии вталкивания страниц
- •6. Управление процессорами
- •6.1 Уровни планирования загрузки процессоров
- •6.2 Цели планирования
- •6.3 Принципы планирования
- •7 Управление внешней памятью
- •8. Производительность
- •8.1 Методы оценки производительности
- •9. Операционная система ms-dos – структура и механизмы
- •9.1 Этапы загрузки ms-dos
- •9.2 Параметры загрузки ms-dos
- •9.3 Структура диска в ms-dos
- •9.4 Использование памяти системой ms-dos
- •9.5 Средства использования памяти
- •10. Операционная система windows 9.X
- •10.1 Сравнение dos и Windows 9.X
- •10.2 Windows 9.X Функции операционной системы
- •10.3 Виртуальная адресация памяти Windows 9.X
- •10.4 Виртуальные машины ос Windows 9.X
- •10.5 Процессы и сообщения в ос Windows 9.X
- •10.6 Планирование приоритетов
- •10.7 Файловая система Windows 9.X
- •11. Операционная система unix
- •11.1 Структура ос unix
- •11.2 Файловая система ос unix
- •11.3 Типы файлов.
- •11.4 Структура файловой системы unix.
- •11.4.1 Базовая файловая система. System V (s5fs).
- •11.4.2 Файловая система ffs.
- •11.5 Архитектура виртуальной файловой системы.
- •11.6 Подсистема управления процессами
- •11.6.1 Типы процессов
- •11.6.2 Атрибуты процесса.
- •11.6.3 Состояния процесса.
- •11.7 Принципы управления памятью
- •11.8 Планирование выполнения процессов
- •11.9 Взаимодействия между процессами
- •12. Загрузка ос windows 2000
- •12.3 Загрузка и инициализация драйверов устройств
- •12.6.1 Раздел [boot loader]
- •12.6.2 Раздел [operating systems]
- •13 Файловая система windows nt (ntfs)
- •13 Новые возможности ntfs 5.0
- •14 Структура ntfs
- •14.1 Главная файловая таблица
- •14.2 Атрибуты файла ntfs
- •14.3 Системные файлы ntfs
- •14.4 Сравнение ntfs с hpfs и fat
- •15 Конфигурирование системы
10.4 Виртуальные машины ос Windows 9.X
Прикладные программы для Windows 9.x выполняются в виртуальных машинах, которые создает ОС. Виртуальная машина представляет собой среду, имитирующую отдельный (виртуальный) компьютер со всеми его системными и периферийными устройствами. Благодаря системе виртуальных машин работникам ПО не приходится беспокоиться о том, чтобы их программы отслеживали использование ресурсов компьютера другими программами, так как память и наборы ресурсов каждой виртуальной машины изолированы от памяти и ресурсов других виртуальных машин. Когда загружается Windows , всегда создается системная виртуальная машина, в пределах которой выделяется отдельное адресное пространство для ядра системы. Каждому запущенному 32 - разрядному приложению Windows (Win 32) также выделяется отдельное адресное пространство адресов в пределах системной виртуальной машины. Для всех 16 - разрядных приложений Windows система Windows 9.x использует общее адресное пространство в пределах системной виртуальной машины. Каждое приложение Dos выполняется в собственной виртуальной машине.
10.5 Процессы и сообщения в ос Windows 9.X
Управление программами Windows 9.x основано на модели передачи сообщений. Каждое событие приводит к генерации сообщений. Windows использует асинхронную обработку сообщений, то есть поддерживает независимые очереди сообщений.
Так как для каждого приложения Win 32 используется отдельная адресная область в пределах системной виртуальной машины, то для каждого Win 32 - приложения и для каждого создаваемого ими потока используются отдельные очереди сообщений. Все это делает ошибку в Win 32 - приложении безопасной для остальных приложений.
Приложения Win 16 выполняются под Windows 9.x в режиме кооперативной многозначности в общем пространстве адресов в пределах системной виртуальной машины и имеют общую очередь сообщений. Ситуация с «зависанием» программы Win 16 потенциально более опасна: остальные программы Win16 перестанут получать сообщения и тоже «зависнут». Кроме того, заблокированное приложение Win 16 способно повлиять на приложение Win 32, несмотря на то, что они используют независимые очереди сообщений. Это объясняется тем, что если «зависание» происходит в момент обращения, например, к gdi.exe, то уже ни одно приложение не сможет обратиться к этому модулю. В этом случае система оказывается полностью заблокированной.
Кроме того, прерванное приложение Win 16 может не вернуть системе используемые им системные ресурсы. Все системные ресурсы освободятся после того, как будут выгружены все текущие программы Win 16.
10.6 Планирование приоритетов
В конкретный момент времени каждый поток имеет определенный приоритет, измеряемый целым числом от 0 до 32. Управление процессором переходит к тому потоку, который на данный момент обладает самым высоким приоритетом. Приоритеты потоков динамически изменяются планировщиком, точно существуют два планировщика – первичный и вторичный. Первичный – вычисляет приоритеты потоков. Вторичный – определяет количество процессорного времени, выделяемое каждому потоку.
Каждые 20 первичный планировщик сравнивает текущие приоритеты потоков и переводит в состояние ожидания все потоки кроме потока с наивысшим приоритетом. Вторичный планировщик выделяет выбранному потоку определенное количество времени. Если несколько потоков имеют одинаково высокие приоритеты, то каждому по очереди выделяется определенное количество времени. После этого приоритет следующих по очереди потоков повышается.
Диспетчер задач руководствуется следующими правилами:
- Повышается приоритет потоков, находящихся в ожидании пользовательского ввода (Необходимо для оперативного реагирования на действия пользователя).
- Если поток обладает низшим приоритетом, то он начинает повышаться.
- Периодически повышается приоритет каждого потока, чтобы приложения с низшим приоритетом не «зависали».
- Если приоритет потока наивысший, он начинает понижаться.
- Реализован метод наследования приоритета, который позволяет приложению с низшим приоритетом быстро повышать приоритет, чтобы освободить ресурсы, необходимые приложению с более высоким приоритетом.