Распределение прерываний по уровням приоритета:
Средства контроля CPU | Высший приоритете |
Системный таймер | |
Магнитные диски | |
Сетевое оборудование | |
Терминалы | |
Программные прерывания | Низший приоритете |
3. Изобразить диаграмму состояния процесса. Пояснить все возможные переходы из одного состояния в другое.
Состояния процесса.
За время своего существования процесс может осуществить переход из одного состояния в другое. Это обусловлено обращениями к ОС с запросами ресурсов и выполнением системных функций, которые предоставляют ОС взаимодействие с другими процессами, появлением сигналов прерывания от таймера и устройств ввода/вывода. Процесс из состояния бездействия может перейти в состояние готовности в следующем случае:1 По команде оператора или пользователя, ОС где программа может иметь статус задачи и при этом являться пассивной, а не просто быть исполняемой файлами и только на время исполнения получать статус задачи это характерно для большинства современных ОС.
2 При выборе из очереди на выполнение процесс может перейти от бездействия к готовности. Это характерно для ОС работающих в постоянном режиме.
3 По вызову из другой задачи. По вызову супервизора один процесс может создать, инициировать, приостановить, остановить и уничтожить любой процесс. От прерывания от внешнего устройства. устройства называют инициатором, если по сигналу на прерывание от него должна запустится акая-то задача.
Переход в готовность при поступлении запланированного запроса программы. процесс, который может исполняться или только ему будет предоставлен процессор находится в состоянии готовности. Уже выделены все необходимые ресурсы за исключением процессора.
Из состояния выполнения процесс может выйти по одной из следующих причин:
1 Процесс завершается, при этом он посредством обращения к супервизору передает управление ОС и сообщает ей о своем завершении. В результате их действий супервизор либо переводит его в список бездействующих процессов либо уничтожает. В состояние бездействия процесс может быть переведен принудительно по команде оператора. Действие этой команды реализуется системными процессами. которые транслируют запрос супервизору с требованием перевести соотв. процесс в состояние бездействия.
Из состояния выполнения процесс переводится в состояние готовности к выполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного этому процессу кванта времени. Либо вследствие запроса операции ввода/вывода, который должен быть выполнен прежде чем процесс может продолжить исполнение либо в силу невозможности предоставить ему ресурс запрошенный в настоящий момент. При поступлении соответствующего сигнала о завершении операции ввода/вывода, освобождающем требуемый ресурс, в оперативную память загружается необходимая страница виртуальной памяти. Процесс деблокируется и переводится из состояния готовности к исполнению. Итак, движущей силой, меняющей состояния процессов, является механизм прерываний.
№3
1. Интерфейсные оболочки. Операционная среда.
Интерфейсные оболочки созданы для более удобного взаимодействия пользователя с ОС. Их основное назначение либо расширить возможности по управлению ОС, либо изменить встроенные в систему возможности. Примеры интерфейсных оболочек: для Unix - xWINDOW, для Linux: - KDE, для OS/2 – Presentation Manager, PM shell Object Desktop, для Windows – Explorer.
Термин операционная среда означает соответствующий интерфейс, необходимый программам для обращения к операционной системе, с целью получения определенного сервиса. (напр. выполнить операцию ввода/вывода. освободить участок памяти, и т. п.) Операционная среда – системное программное окружение в котором могут выполняться программы созданные по правилу работы этой среды. Операционная среда определяется программными интерфейсами, т. е. API – application program interface. Интерфейсом прикладного программирования, который включает в себя управление процессами, памятью, вводом/выводом. Ряд ОС могут организовать выполнение программ, созданных для других ОС, т. е. соответствующая операционная среда организуется в ОС, в рамках отдельной виртуальной машины.
Параллельное существование терминов операционная система и операционная среда, связано с тем, что операционная система поддерживать в общем случае несколько операционных сред. Операционная среда может включать несколько интерфейсов, в частности пользовательский и программный.
2. Классификация ОС.
Операционные системы разделяются 1)По назначению. Прежде всего ОС разделяют на системы общего и специального назначения. ОС специального назначения в свою очередь разделяют на ОС для переносных микрокомпьютеров (карманные PC) и различных встроенных систем.
2)По режиму обработки задач. Различают ОС обеспечивающие однопрограммный и мультипрограммный режимы. Под мультипрограммным режимом понимают способ организации вычислений, когда на однопроцессорной машине создается видимость выполнения нескольких программ. Различие между мультипрограммным и мультизадачным режимом в том, что в мультипрограммном режиме обеспечивается параллельное выполнение нескольких приложений и при этом программист прикладные программы не должен заботится об организации их параллельной работы эти функции на себя берет ОС, она распределяет между выполняющимися приложениями ресурсы вычислительной системы. Осуществляет необходимую синхронизацию вычислений и взаимодействие. Мультизадачный режим наоборот предполагает, что забота о параллельном выполнении и взаимодействии приложений ложится на прикладных программистов. Современные ОС для персональных компьютеров реализуют как мультипрограммный, так и мультизадачный режимы.
При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских (однотерминальных и мультитерминальных ОС) в мультитерминальных ОС могут работать одновременно несколько пользователей, каждый со своего терминала. Для организации мультитерминального доступа к вычислит. системе необходимо обеспечить мультипрограммный режим работы. Примером мультитерминальной ОС явл. Linux.
3) По способу взаимодействия с системой. Основной особенностью ОС реального времени является обеспечение обработки поступающих заданий в течение заданных интервалов времени, которые нельзя превышать. Мультипрограммирование является основным средством повышения производительности системы. Лучшие характеристики по производительности обеспечиваются для систем реального времени однотерминальными ОС реального времени. Средства организации мультипрограммного режима всегда замедляют работу системы в целом, но расширяют функциональные возможности системы. Одной из таких систем является QNX.
4) По способу построения. По своему архитектурному принципу ОС разделяются на микроядерные и монолитные, примером микроядерной является ОС QNX, примером монолитной – Windows 9.XX, 200.
3. С какой целью в ОС вводится специальный программный модуль, наз. супервизор прерываний?
Во многих ОС 1 секция обработки прерываний выделяется в специальный программный модуль наз. супервизором прерываний.
Сей модуль сохраняет в дескрипторе текущей задачи рабочие регистры процессора, которые определяют контекст прерываемого вычислительного процесса. Определяет ту подпрограмму, которая должна выполнять действия связанные с обслуживанием текущего запроса на прерывание. Перед тем. как передать управление этой подпрограмме супервизор прерываний устанавливает необходимый режим обработки прерывания. После выполнения подпрограммы управление передается вновь супервизору, но уже на тот модуль, который занимается диспетчеризацией задач. Диспетчер задач в свою очередь, в соответствии с принятым режимом распределения процессорного времени между выполняющимися процессами восстановит контекст той задачи, которой будет решено выделить процессор.
Обработка прерываний при участии супервизора ОС.
1. отключение прерываний. Производится в соотв. модулях ОС. Сохранение контекста прерванной задачи. Установка режима системы прерываний.
2. определение адреса программного модуля. который обслуживает запрос на прерывание и передача управления на него. Включение подпрограммы обработки прерываний.
Диспетчер задач: выбор готовой к выполнению задачи на основе принятой дисциплины обслуживания. Восстановление контекста прерванной задачи. Установление прежнего режима работы системы прерываний и передача управления этой задаче.
№4
1. Системы программирования. Утилиты.
Система программирования включает в себя транслятор соответствующего языка, библиотеки подпрограмм, редакторы, компоновщики и отладчики. Не бывает самостоятельных оторванных от ОС систем программирования. Любая система программирования работает только в соответствующей ОС. под которую она создана, но тем не менее она может позволять разрабатывать программы разрабатывать ПО для других ОС. В том случае, когда созданные программы должны работать в других ОС говорят о кросс-системах.
Под утилитами понимают специальные системные программы, с помощью которых можно обслуживать как саму ОС, так и подготавливать для работы носители данных, выполнять перекодирование данных, осуществлять оптимизацию размещения данных на носителе (дефрагментация) и производить другие работы связанные с обслуживание вычислительной системы. Также к утилитам относятся программы разбиения носителя на магнитных дисках на разделы, программу для переноса основных системных файлов самой ОС.