Операционные системы. А. Ю. Кручинин
Чтение книги онлайн.

Читать онлайн книгу Операционные системы - А. Ю. Кручинин страница 8

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

      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].

      Процесс может завершиться благодаря одному из следующих действий:

      • обычный выход (преднамеренно);

      • выход по ошибке (преднамеренно);

      • выход по неисправимой ошибке (непреднамеренно);

      • уничтожение СКАЧАТЬ