Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Переключения между процессами




 

Для управления процессами и распределения ресурсов между ними ОС должна хранить управляющую информацию о процессах и ресурсах. В общем случае это 4 типа таблиц:

1) таблицы памяти – для слежения использованием процессами основной и виртуальной памяти.

2) таблицы ввода-вывода – для управления устройствами ввода-вывода (хранится информация об использовании устройства процессом, адресах памяти, используемых для ввода в них или вывода с них данных на внешнее устройство..)

3) таблицы файлов – расположение, текущее состояние, атрибуты файлов...

4) таблицы процессов

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

Управляющий блок процесса – это набор атрибутов для управления процессом:

- Идентификаторы процессов (родительского процесса, текущего процесса и процесса пользователя)

- Регистры пользователя: доступные для программ пользователя регистры процессора (от 8 до 32)

- управляющие регистры: счетчик команд, флаги условия, флаги состояния

- Указатели на стек: с каждым процессом связан свой стек, на который нужна ссылка

- управляющая информация процесса: состояние, приоритет, событие ожидания, флаги взаимодействия процессов, привилегии в выполнении каких-то действий, указатели на таблицы памяти...

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

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

ОС как процесс

Сама операционная система это тоже программа, которая порождает множество системных процессов. Эти процессы могут выполняться как самостоятельные процессы или входить как часть пользовательских процессов.

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

Традиционно, сама ОС выполняется вне всех процессов пользователя т.е. в режиме ядра. При запуске ОС занимает отдельное место в памяти и имеет свой стек. При запуске процессов, им передается управление, а затем управление по разным причинам (прерывания...)возвращается к ОС, которая занимается распределением пользовательских процессов в памяти и системных очередях и передачей им управления.

Включение процедур ОС в состав пользовательских процессов.

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

Для переключения процессов вызывается отдельная процедура переключения процессов, которая вызывается или из текущего пользовательского процесса или из системного процесса, находящегося как бы вне пользовательских процессов (это зависит от архитектуры ОС)

ОС на основе процессов

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

 

Вопросы на повторение:

· Что такое процесс. В каком случае рождается процесс и какие действия выполняет ОС для его создания и завершения.

· Какие состояния могут быть у процесса после его создания и что они означают

· Как могут организовываться очереди готовых к выполнению процессов (2 варианта)

· Как могут организовываться очереди заблокированных процессов

· Какие два режима существуют для выполнения всех процессов

· В каком режиме работают процессы операционной системы. Как они могут взаимодействовать с пользовательскими процессами.

 





Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 2226; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.