Мультипрограммирование. Формы многопрограммной работы. Семафоры и мониторы. (15)

Оглавление

Процессы и потоки. Вопросы: 5-7, 16-17,38, 53 (7 вопросов)

Концепция процессов и потоков. Задание, процессы, потоки (нити), волокна. Методы взаимоисключений. (5). 1

Мультипрограммирование. Формы многопрограммной работы. Семафоры и мониторы. (15) 1

Методы взаимоисключений (53). 3

Управление процессами и потоками. Взаимоблокировки. (6). 4

Взаимодействие и синхронизация процессов и потоков (17). 5

Создание процессов и потоков. Модели процессов и потоков. Системные вызовы. (16) 7

Планирование заданий, процессов и потоков (7). Уровни планирования (38).. 8

 

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

Концепция процессов и потоков. Задание, процессы, потоки (нити), волокна. Методы взаимоисключений. (5)

Процесс –выполнение кода программы, для ОС процесс – это экземпляр объекта.

Все ПО, включая и операционную систему, можно представить набором процессов.

Процесс обладает инкапсуляцией. Мы можем скрыть время старта (любое другое свойство). Для этого надо обратиться к API ОС и передать:

1) название свойства, которое необходимо скрыть.

2) название static-метода, который будет возвращать результат данного свойства.

При наследовании процесса родитель самостоятельно принимает решение о списке наследуемых свойств. При этом некоторые свойства не могут наследоваться (например, start-time). Остальные свойства будут наследованы, если передан родитель и список свойств. Пример: браузер, но сейчас вкладки – это разные процессы.

Полиморфизм дает возможность переопределения методов на уровне процесса.

Задачей ОС является организация использования ресурсов для эффективного выполнения процессов. Для этого у ОС есть таблицы, где содержится информация о текущем состоянии каждого процесса и ресурса.

Мультипрограммирование. Формы многопрограммной работы. Семафоры и мониторы. (15)

Мультипрограммирование – способ организации вычислительного процесса, при котором на одном ЦП поперемиенно выполняются несколько программ. Мультипрограммирование призвано повысить эффективность использования вычислительной системы. Наиболее характерными показателями являются:

1) Пропускная способность – колво задач в ед вр – системы пакетной обработки

2) Удобство пользователя – возможность работы пользователя с несколькими программами – система разделения времени

3) Реактивность системы (содержит запас вычислительной мощности) – системы реального времени для управления техническими объектами (спутник, ракета. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена программа. Критерием эффективности ОС является способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата. Это время называется временем реакции системы.

Мультипроцессорная обработка – это способ организации вычислительного процесса в системе с несколькими процессорами.

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

1) Симметричная архитектура мультипроцессорной системы предполагает однотипность и единообразие включения процессоров. ОС децентрализована. Ее модули выполняются на любом доступном процессоре.

2) В вычислительных системах с асимметричной архитектурой процессоры могут быть различными как по характеристикам и по функциональной роли в работе системы.

Процессы изолированны друг от друга, поэтому мультипрограммирование более эффективно на уровне потоков, между потоками одного процесса нет полной защиты, но это и не нужно.

Как правило, поток работает в пользовательском режиме, но когда он обращается к системному вызову, то переключается в режим ядра. После завершения системного вызова поток продолжает выполняться в режиме пользователя.Переключение потоков в ОС занимает довольно много времени, так как для этого необходимы переключение в режим ядра, а затем возврат в режим пользователя. Используются волокна (Fiber), подобные потокам, но планируемые в пространстве пользователя. У каждого потока может быть несколько волокон, с той разницей, что когда волокно логически блокируется, оно помещается в очередь блокированных волокон, после чего для работы выбирается другое волокно в контексте того же потока. При этом ОС "не знает" о смене волокон, так как все тот же поток продолжает работу.

Таким образом, существует иерархия рабочих единиц ОС:

Когда поток завершает работу, он может прекратить свое существование. Процесс завершается, когда прекратит существование последний активный поток.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: