- •Операционные системы Оглавление
- •Введение. Общие сведения.
- •1.2 История вычислительной системы
- •1.2.1 Первый период 45 – 55 гг.
- •1.2.2 Второй период 55-60 гг.
- •1.2.3 Третий период 60 – 80 гг.
- •1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
- •1.2.5 Итоги развития вс.
- •1.3 Основные понятия и концепции ос
- •1.3.1 Системные вызовы.
- •1.3.2 Программные прерывания.
- •1.3.3 Файл.
- •1.4 Процессы и потоки. Архитектурные особенности ос.
- •1.4.1 Монолитное ядро.
- •1.4.2 Слоеные системы (Layered Systems)
- •1.4.3 Виртуальные машины.
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы.
- •1.5 Классификация ос
- •2. Процессы и их поддержка в ос.
- •2.1 Понятие процесса.
- •2.2 Состояние процесса.
- •2.3 Операции над процессами и связанные с ними понятия
- •2.3.1 Набор операций.
- •2.3.2 Процесс Control Block и контекст процесса.
- •2.3.3 Одноразовые операции.
- •2.3.4 Многоразовые операции над процессами.
- •2.3.5 Переключение контекста.
- •3.Планирование процесса.
- •3.1. Уровни планирования
- •3.2 Критерии планирования и требовании к алгоритмам.
- •3.3 Параметры планирования
- •3.4 Вытесняющие и невытесняющие планирования
- •3.5 Алгоритмы планирования
- •3.5.1FirstComeFirstServed
- •3.5.2 Round Robin
- •3.5.3ShortestJob–First
- •3.5.4 Гарантированное планирование
- •3.5.5 Приоритетное планирование
- •3.5.6 Многоуровневые очереди (multilevelQueue)
- •3.5.7 Многоуровневые очереди
- •4. Кооперация процессов и основные аспекты в её логической реализации.
- •4.1 Взаимодействующие процессы
- •4.2 Категории средств обмена информацией
- •4.3 Логическая организация механизма передачи информации
- •4.3.1 Установление связи
- •4.3.2 Информационная валентность процессов и средств связи.
- •4.3.3 Особенности передачи информации с помощью линии связи.
- •4.3.4 Надежность средств связи
- •4.3.5 Как завершается связь?
- •4.4 Потоки исполнения
- •5. Алгоритмы синхронизации
- •5.1 Interleaving race condition
- •5.2 Критическая секция
- •5.3 Программные алгоритмы организации взаимодействия процессов
- •5.3.1 Требования, предъявляемые к алгоритму.
- •5.3.2 Запрет прерываний
- •7.8.2 Недостатки алгоритма банкира
- •8.2 Логическая память
- •8.3 Связывание адресов
- •8.4 Функции системы управления памятью
- •8.6 Страничная память
- •8.7 Сегментная и сегментно-страничная организация памяти
- •9. Виртуальная память
- •9.1 Понятие виртуальной памяти
- •9.2 Архитектурные средства поддержки виртуальной памяти
1.4 Процессы и потоки. Архитектурные особенности ос.
1.4.1 Монолитное ядро.
ОС – это всегда программа и логично представить, когда ОС это набор процедур и функций – эта ситуация называется монолитная ОС. Это способ организации ОС – монолитное ядро. Все процедуры работают в привилегированном режиме, т.е. все компоненты ОС являются составными частями одной программы, здесь используются общие структуры данных. Для монолитной ОС ядро совпадает со всей ОС. Во многих случаях монолитная ОС компонуется из отдельных модулей. МОС это старейший способ организации систем, большинство из них способно осуществлять перекомпоновку. В МОС выделяют сервисные процедуры, соответствующие системным вызовам. Сервисные процедуры выполняются в привилегированном режиме. Пользовательские проги - в не привилегированном режиме.
1.4.2 Слоеные системы (Layered Systems)
Всю ОС можно разбить на части.
5 |
Интерфейс с пользователем |
4 |
Управление вводом/выводом |
3 |
Драйверы |
2 |
Управление памятью |
1 |
Планирование задач и процессов |
0 |
Hardware |
Каждый уровень, начиная с нижнего, отлаживается отдельно. Слоеные системы проще тестировать.
1.4.3 Виртуальные машины.
Взгляд на ОС как на ВМ позволяет работать с командами высокого уровня. Программным путем возможно представить себе, что программным путем реализуется «железо». На это «железо» можно поставить какую-нибудь ОС и не обязательно ту, которая изначально была на ВС, при этом на каждой ВМ может стоять своя ОС.
Программа юзера |
Программа юзера |
Программа юзера |
CPM |
Linux |
Windows |
Виртуальный hardware |
Виртуальный hardware |
Виртуальный hardware |
Реальная ОС | ||
Реальный hardwear |
Преимущества очевидны. Мы можем использовать программы в разных ОС. Минус в том, что между юзером и реальным хардом три слоя, что ведет к замедлению.
1.4.4 Микроядерная архитектура.
С конца 90-х гг. есть тенденция перенесения значительной части системного кода (код, которым написана ОС) на уровень юзера и минимизации ядра. Речь идет о подходе реализации структуры с микроядерной архитектурой. В этом случае большинство блоков/модулей ОС являются самостоятельными программами. Взаимодействие между модулями осуществляет специальный модуль ядра, называемый микроядром.
Микроядро работает в привилегированном режиме и обеспечивает при этом взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операций ввода/вывода и базовое управление памятью.
Привилегированный
режим
Микроядро
Менеджер файловых систем
Прога А
Непривел. режим
Прога В
Сетевой менеджер
Компоненты ОС взаимодействуют друг с другом передавая сообщения через микроядро. Преимущество такой ОС – высокая модульность. Такая организация позволяет отлаживать независимо каждый компонент и безболезненно заменить каждый такой компонент на более лучший. Компоненты ядра ОС не отличаются принципиально от пользовательских программ. Отрицательным моментом микроядерной архитектуры являются существенные затраты времени на передачи сообщений, т.е. падает производительность такой ОС. Для решения этой проблемы необходимо тщательно проектировать разбиение системы на компоненты. Цель этого разбиения д/б такой чтобы обеспечить минимальное взаимодействие между компонентами.