Операционные системы - страница 15

Шрифт
Интервал



Рисунок 9 – Смена режимов при выполнении системного вызова: в классической архитектуре (а); в микроядерной (б)


Таким образом, операционная система на основе микроядра при прочих равных условиях всегда будет менее производительной, чем система с классическим ядром. Именно по этой причине микроядерный подход не получил такого широкого распространения, которое ему предрекали. Примером микроядерной системы является VM/370, использующаяся в мейнфреймах.

Однако на настоящий момент не существует операционных систем с чисто классической или микроядерной архитектурой. В результате операционные системы образуют некоторый спектр, на одном краю которого находятся системы с минимально возможным микроядром, а на другом – системы, в которых микроядро выполняет достаточно большой объем функций.

Контрольные вопросы по разделу

1 Каковы две главные функции операционной системы?

2 Что такое многозадачность?

3 Перечислите основные различия между операционной системой для персонального компьютера и для мэйнфрейма.

4 Какие из приведенных ниже терминов являются синонимами? привилегированный режим; защищенный режим; режим супервизора; пользовательский режим; реальный режим; режим ядра.

5 В чем состоят отличия в работе процессора в привилегированном и пользовательском режимах?

6 Какими этапами отличается выполнение системного вызова в микроядерной операционной системе и системе с монолитным ядром?

7 В чем состоят современные тенденции развития операционных систем?

8 Каковы преимущества и недостатки микроядерной архитектуры?

9 Для чего служат менеджеры ресурсов?

10 Кем и на какой операционной системе был впервые опробован дружественный графический интерфейс?

2 Процессы и потоки

2.1 Процессы

В многозадачной системе процессор переключается между программами, предоставляя каждой от десятков до сотен миллисекунд. В каждый конкретный момент времени процессор работает только с одной программой, создавая иллюзию параллельной работы, т.е. псевдопараллелизм [14]. Настоящая параллельная работа присутствует в многопроцессорных и многоядерных системах, таких как Core 2 Duo. Следить за работой параллельно идущих процессов достаточно трудно, поэтому со временем разработчики операционных систем создали концептуальную модель последовательных процессов, упрощающую эту работу.