Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Субъекты в операционных системах (основные определения, содержимое дескрипторов процессов и потоков, переключение процессов и потоков).




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

Каждый процесс в любой момент времени находится в одном из нескольких определенных состояний: инициализация, исполнение, приостановка, ожидание ввода-вывода, завершение и т. п.

Рисунок 1. Состояние процесса в Unix

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

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

Рисунок 2. Упрощенная диаграмма состояний потоков в ОС Windows

Содержимое дескрипторов процессов и потоков

 

Рисунок 3. Содержимое дескриптора процесса в ОС Windows

Рисунок 4. Содержимое дескриптора потока в ОС Windows

Переключение процессов и потоков

Наиболее распространенным алгоритмом планирования в системах разделения времени является кольцевой режим (Round Robin). Основной смысл алгоритма состоит в том, что время процессора делится на кванты фиксированного размера, а процессы, готовые к выполнению, выстраиваются в кольцевую очередь.

Рисунок 5. Кольцевая очередь

У этой очереди имеются два указателя — начала и конца. Когда процесс, выполняющийся на процессоре, исчерпывает свой квант процессорного времени, он снимается с процессора, ставится в конец очереди, а ресурсы процессора отдаются процессу, находящемуся в начале очереди. Если выполняющийся на процессоре процесс откладывается (например, по причине обмена с некоторым внешним устройством) до того, как он исчерпает свой квант, то после повторной активизации он становится в конец очереди.

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

Рисунок 6. Схема планирования с кольцевой очередью и приоритетами (Linux)



Поделиться:

Дата добавления: 2015-04-18; просмотров: 184; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты