Александр Кручинин - Операционные системы
- Название:Операционные системы
- Автор:
- Жанр:
- Издательство:Литагент БИБКОМ
- Год:2009
- Город:Оренбург
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Кручинин - Операционные системы краткое содержание
Операционные системы - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
2 Расширяемость присуща микроядерной операционной системе в очень высокой степени.
3 Конфигурируемость. При микроядерном подходе конфигурируемость операционной системы не вызывает никаких проблем и не требует особых мер – достаточно изменить файл с настройками начальной конфигурации системы или же остановить не нужные больше серверы в ходе работы обычными для остановки приложений средствами.
4 Надежность . Использование микроядерной модели повышает надежность системы. Каждый сервер выполняется в виде отдельного процесса в своей собственной области памяти и таким образом защищен от других серверов операционной системы, что не наблюдается в традиционной операционной системе, где все модули ядра могут влиять друг на друга.
5 Модель с микроядром хорошо подходит для поддержки распределенных вычислений, так как использует механизмы, аналогичные сетевым: взаимодействие клиентов и серверов путем обмена сообщениями.
К основному и очень существенному недостатку относится низкая производительность операционной системы микроядерного типа. При классической организации операционной системы выполнение системного вызова сопровождается двумя переключениями режимов, а при микроядерной организации – четырьмя (Рисунок 9).

Рисунок 9 – Смена режимов при выполнении системного вызова: в классической архитектуре (а); в микроядерной (б)
Таким образом, операционная система на основе микроядра при прочих равных условиях всегда будет менее производительной, чем система с классическим ядром. Именно по этой причине микроядерный подход не получил такого широкого распространения, которое ему предрекали. Примером микроядерной системы является VM/370, использующаяся в мейнфреймах.
Однако на настоящий момент не существует операционных систем с чисто классической или микроядерной архитектурой. В результате операционные системы образуют некоторый спектр, на одном краю которого находятся системы с минимально возможным микроядром, а на другом – системы, в которых микроядро выполняет достаточно большой объем функций.
Контрольные вопросы по разделу
1 Каковы две главные функции операционной системы?
2 Что такое многозадачность?
3 Перечислите основные различия между операционной системой для персонального компьютера и для мэйнфрейма.
4 Какие из приведенных ниже терминов являются синонимами? привилегированный режим; защищенный режим; режим супервизора; пользовательский режим; реальный режим; режим ядра.
5 В чем состоят отличия в работе процессора в привилегированном и пользовательском режимах?
6 Какими этапами отличается выполнение системного вызова в микроядерной операционной системе и системе с монолитным ядром?
7 В чем состоят современные тенденции развития операционных систем?
8 Каковы преимущества и недостатки микроядерной архитектуры?
9 Для чего служат менеджеры ресурсов?
10 Кем и на какой операционной системе был впервые опробован дружественный графический интерфейс?
2 Процессы и потоки
2.1 Процессы
В многозадачной системе процессор переключается между программами, предоставляя каждой от десятков до сотен миллисекунд. В каждый конкретный момент времени процессор работает только с одной программой, создавая иллюзию параллельной работы, т.е. псевдопараллелизм [14]. Настоящая параллельная работа присутствует в многопроцессорных и многоядерных системах, таких как Core 2 Duo. Следить за работой параллельно идущих процессов достаточно трудно, поэтому со временем разработчики операционных систем создали концептуальную модель последовательных процессов, упрощающую эту работу.
В этой модели все функционирующее на компьютере программное обеспечение организовано в виде набора последовательных процессов. С позиции модели у каждого процесса есть собственный виртуальный центральный процессор. На рисунке 10, а представлена схема компьютера, работающего с 4 программами. На рисунке 10, б представлены 4 процесса каждый со своим логическим счетчиком команд, идущие независимо друг от друга. На самом деле существует только один физический счетчик команд, который загружается и сохраняется при переключении процессов. На рисунке 10, в видно, что за достаточно большой промежуток времени изменилось состояние всех 4 процессов.
Поскольку процессор переключается между программами, скорость, с которой процессор производит свои вычисления, будет непостоянной и, возможно, даже будет отличной при каждом новом запуске программы.
Существует четыре основных события, приводящие к созданию процессов:
• инициализация системы;
• выполнение изданного работающим процессом системного запроса на создание процесса;
• запрос пользователя на создание процесса;
• инициирование пакетного задания.
Программист для создания процесса в UNIX должен вызвать комбинацию из двух функций fork и execve, а в Windows – CreateProcess [12].
Процесс может завершиться благодаря одному из следующих действий:
• обычный выход (преднамеренно);
• выход по ошибке (преднамеренно);
• выход по неисправимой ошибке (непреднамеренно);
• уничтожение другим процессом (непреднамеренно).
Для завершения процесса программист в UNIX должен вызвать системный запрос kill, соответствующая функция в Win32 API – TerminateProcess.
Основным отличием структуры процессов в Windows и UNIX является связь между родительским и дочерним процессами. Так в UNIX существует иерархия процессов, а в Windows все процессы равноправны. Единственное, в чем проявляется что-то вроде иерархии процессов в Windows – создание процесса, в котором родительский процесс получает специальный маркер (так называемый дескриптор), позволяющий контролировать дочерний процесс. Но маркер можно передать другому процессу, нарушая иерархию.

Рисунок 10 – 4 программы в многозадачном режиме (а); модель 4 независимых последовательных процессов (б); в каждый момент времени активна только одна программа (в)
Процесс может находиться в 3 возможных состояниях (Рисунок 11):
• работающий (в конкретный момент времени использующий процессор);
• готовый к работе (процесс временно приостановлен, чтобы позволить выполняться другому процессу);
• заблокированный (процесс не может быть запущен прежде, чем произойдёт некое внешнее событие).

Рисунок 11 – Процесс может находиться в рабочем, готовом и заблокированном состоянии
Читать дальшеИнтервал:
Закладка: