Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / К экзамену / ОС 2014 ответы.docx
Скачиваний:
400
Добавлен:
24.05.2017
Размер:
1.65 Mб
Скачать
  1. Многослойная модель ядра ос.

См. вторую часть вопроса 12.

  1. Функции ос по управлению процессами.

  • распределяет процессорное время между несколькими одновременно выполняющимися в системе процессами;

  • создает и уничтожает процессы;

  • обеспечивает процессы необходимыми ресурсами;

  • поддерживает синхронизацию процессов;

реализует межпроцессное взаимодействие

  1. Процессы и потоки.

Программа - статический объект на диске.

Процесс - контейнер для ресурсов и исходных кодов программ. С каждым процессом программа связывает её адресное пространство, которое содержит стек, данные, набор регистров.

Поток - системный объект, получающий процессорное время, в рамках потоков выполняются инструкции процессором. Каждый процесс должен иметь хотя бы один поток (если ОС поддерживает потоки). Потоки одного процесса делят между собой адресное пространство, глобальные переменные, открытые файлы, таймеры, семафоры, статическую информацию своего процесса.

Преимущества потоков:

  • меньше затрат на создание по сравнению с процессами;

  • возможность взаимодействия между собой в пределах одного процесса, не обращаясь к ОС;

  • повышение производительности одной программы.

С каждым процессом связывается его адресное пространство. Адресное пространство процесса содержит саму программу, ее данные, стек программы.

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

Три события приводят к созданию процесса:

  • загрузка системы;

  • уже работающий процесс вызывает запрос на создание процесса;

  • запрос пользователя на создание процесса.

Создать процесс означает:

  • создать описатель процесса;

  • загрузить коды и данные исполняемой программы процесса с диска в оперативную память;

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

Дескриптор содержит информацию, необходимую в течение всего жизненного цикла процесса, и где содержится информация о состоянии процесса, о расположении его в памяти и на диске, информация о приоритете и пр.

Контекст содержит информацию, которая необходима для возобновления процесса.

  1. Состояния потока.

За время своего существования в системе поток может многократно находиться в одном из трех состояний:

  • выполнение – активное состояние, во время которого поток обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

  • готовность – пассивное состояние, поток заблокирован в связи с внешними по отношению к нему обстоятельствами; в очередь готовых к выполнению попадает вновь созданный процесс;

  • ожидание – пассивное состояние, находясь в котором поток заблокирован по своим внутренним причинам (ждет осуществления некоторого события, например, завершения операции ввода/вывода).

Возможные переходы между состояниями:

  • Поток выбран на выполнение;

  • Поток ожидает завершения ввода/вывода;

  • Ввод/вывод завершен (событие произошло);

  • Поток вытеснен.

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

Соседние файлы в папке К экзамену