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




Супервизоры бывают:

Супервизор ввода- вывода

СВ прерывания

СВ задач

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

 

-если он свободен и в системе нет запросов от задач с более высоким приоритетом,

- текущий запрос обслуживается и ранее выданные запросы допускают совместное использование ресурсов,

- ресурс используется задачей более низкого приоритета быть одновременно отобран (разделяемый ресурс).

 

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

· идентификатор процесса (Process Identifier, PID);

· тип (или класс) процесса, который определяет для супервизора некоторые пра­вила предоставления ресурсов;

· приоритет процесса, в соответствии с которым супервизор предоставляет ре­сурсы (в рамках одного класса процессов в первую очередь обслуживаются бо­лее приоритетные процессы);

· переменную состояния, которая определяет, в каком состоянии находится про­цесс (готов к работе, выполняется, ожидает устройства ввода-вывода и т. д.);

· контекст задачи, то есть защищенную область памяти (или адрес такой обла­сти), в которой хранятся текущие значения регистров процессора, когда про­цесс прерывается, не закончив работы;

· информацию о ресурсах, которыми процесс владеет и/или имеет право пользо­ваться (указатели на открытые файлы, информация о незавершенных опера­циях ввода-вывода и др.);

· место (или его адрес) для организации общения с другими процессами;

 

8. Реализация последовательного процесса в ОС. Состояние процесса.

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

 

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

· идентификатор процесса (Process Identifier, PID);

· тип (или класс) процесса, который определяет для супервизора некоторые пра­вила предоставления ресурсов;

· приоритет процесса, в соответствии с которым супервизор предоставляет ре­сурсы (в рамках одного класса процессов в первую очередь обслуживаются бо­лее приоритетные процессы);

· переменную состояния, которая определяет, в каком состоянии находится про­цесс (готов к работе, выполняется, ожидает устройства ввода-вывода и т. д.);

· контекст задачи, то есть защищенную область памяти (или адрес такой обла­сти), в которой хранятся текущие значения регистров процессора, когда про­цесс прерывается, не закончив работы;

· информацию о ресурсах, которыми процесс владеет и/или имеет право пользо­ваться (указатели на открытые файлы, информация о незавершенных опера­циях ввода-вывода и др.);

· место (или его адрес) для организации общения с другими процессами;

 

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

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

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

 

9. Создание процессов в ОС. Диаграмма состояний процесса.

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

  • идентификатор процесса;
  • идентификатор пользователя, создавшего процесс;
  • данные о расположении в памяти исполняемого модуля;
  • степень привилегированности процесса (приоритет и права доступа);

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

  1. Обнаружить местоположение такой программы на диске, перераспределить оперативную память и выделить память исполняемой программе нового процесса.
  2. Считать программу в выделенные для нее участки памяти и, возможно, изменить параметры программы в зависимости от размещения в памяти. (В системах с виртуальной памятью в начальный момент может загружаться только часть кодов и данных процесса, с тем чтобы «подкачивать» остальные по мере необходимости

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

При инициализации системы создаются несколько исходных процессов

В Windows NT ядро – это системный процесс System(Pid4), далее загружаются система управления подсистемами smss. Идентификаторы в Win идут с приращением 4, идентификатор 0 зарезервирован, системный процесс — 4.

Чтобы создать процесс надо:

· Присвоить уникальный идентификатор новому процессу

· Выделить ему место в памяти (для программы, данных и стека) – физически в памяти выделяются некоторые страницы (создается образ процесса на диске)

· Инициализировать РСВ (блок управления процессом)

· Добавить процесс в очередь «готовых» к выполнению.

 

Из состояния выполнения процесс может выйти по одной из следующих причин:

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

· ОС переводит процесс в состояние готовности к исполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного ему кванта времени;

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

Состояние процесса:

· Новый процесс

· Выполняемый процесс

· Ожидающий процесс

· Готовый процесс

· Завершенный процесс

10. Архитектура ОС. Понятие ядра. Вспомогательные модули операционной системы. Многослойная структура ОС.

Архитектура

Первая часть — ядро, низкоуровневая основа любой ОС, выполняемая аппаратурой в особом привилегированном режиме. Ядро загружается в память один раз и находится в памяти резидентно – постоянно, по одним и тем же адресам. Ядро — командный интерпретатор, «переводчик» с программного языка на «железный», язык машинных кодов.

Вторая часть — Подсистема управления ресурсами (resource allocator) — управляет вычислительными ресурсами компьютера — оперативной и внешней памятью, процессором

Третья часть — Управляющая программа (control program, supervisor) – управляет исполнением других программ и функционированием устройств ввода-вывода.(используются специализированные программы для управления различными устройствами, входящими в состав компьютера. Драйвера «системные библиотеки»)

Четвертая часть — удобная оболочка, с которой общается пользователь — интерфейс. Своего рода красивая обертка, в которую упаковано скучное и не интересное для пользователя ядро.

Ядро – самый ключевой, основной компонент операционной системы, именно в нем реализуется большая часть функциональности ОС.

Ядро (kernel) — центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.

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

Вспомогательные модули ОС обычно подразделяются на следующие группы:

утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту;

системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

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

 

11. Аппаратная зависимость и переносимость ОС.

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

1. Средства поддержки привилегированного режима обычно основаны на системном регистре процессора, называемом «словом состояния » машины или процессора. Регистр содержит признаки, определяющие режимы работы процессора, в том числе признак текущего режима привилегий. Смена режима привилегий выполняется за счет изменения слова-состояния машины в результате прерывания или выполнения привилегированной команды.

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

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

4. Система прерываний позволяет компьютеру реагировать на внешние события, синхронизировать выполнение процессов и работу устройств ввода-вывода, быстро переходить с одной программы на другую. Механизм прерываний нужен для того, чтобы оповестить процессор о возникновении в вычислительной системе некоторого непредсказуемого события или события, которое не синхронизировано с циклом работы процессора. Например, некорректное завершение арифметической операции, истечение интервала времени. При возникновении условий прерывания его источник (контроллер внешнего устройства, таймер, арифметический блок процессора и т.п.) выставляет определенный электрический сигнал. Этот сигнал прерывает выполнение процессором последовательности команд, задаваемой исполняемым кодом, и вызывает автоматический переход на заранее определенную процедуру обработки прерываний. В большинстве моделей процессоров отрабатываемый аппаратурой переход на процедуру обработки прерываний сопровождается заменой слова состояния машины (или даже всего контекста процесса), что позволяет одновременно с переходом по нужному адресу выполнить переход в привилегированный режим. После завершения обработки прерывания происходит возврат к исполнению прерванного кода.

5. Системный таймер, часто реализуемый в виде быстродействующего регистра-счетчика, необходим операционной системе для выдержки интервалов времени. Для этого в регистр таймера программно загружается значение требуемого интервала в условных единицах, из которого затем автоматически с определенной частотой начинает вычитаться по единице. Частота «тиков» таймера связана с частотой тактового генератора процессора. При достижении нулевого значения счетчика таймер инициирует прерывание, которое обрабатывается процедурой операционной системы. Операционная система использует прерывания от системного таймера для отслеживания временных затрат процессора на выполнение процессов. Например, в системе разделения времени при обработке очередного прерывания от таймера планировщик процессов может принудительно передать управление другому процессу, если данный процесс исчерпал выделенный ему квант времени.

Переносимость ОС

Если кол. ОС может быть сравнительно легко перенесен с процессора одного типа на процессор другого типа и с аппаратной платформы одного типа на аппаратную платформу другого типа, то такую ОС называют переносимой, или мобильной.

 

12. ОС Linux. Взаимодействие компонентов ОС.

Linux - многозадачная и многопользовательская ОС. Написанная на языке C++ и все программы на нее пишутся тоже на С++. Основной составляющей является ядро

Ядро linux состоит из:

· Команд и библиотек

· Программ пользователя

· Интерфейс системного вызова

· Ядро

· Аппаратное обеспечение

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

Ядро выдает системе команды – системные вызовы. Они координируют действие ядра по выполнению команд, введенных пользователем.

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

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

13. Архитектура операционной системы. Многослойная структура ОС.

Вопрос 10.

14. Архитектура Windows 7. Организация ОС.

 

· Уровень аппаратных абстракций HAL (Hardware Abstraction Layer)

· Ядро (Kernel)

· Исполняющая система (Executive)

· Защищенные подсистемы (Protected systems)

· Подсистемы среды (environment subsystems)

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

15. Основные принципы построения ОС.

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

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

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

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

 

16. Супервизор ввода-вывода осуществляет передачу сообщений об ошибках, если таковые происходят в процессе операции управления ввода-вывода.

 

Супервизор ввода-вывода посылает сообщения о завершении операции ввода-вывода запросившей эту операцию задаче и снимает ее с состояния ожидания ввода-вывода, если задача ожидала завершения операции.

 

Супервизор ввода-вывода получает запросы на ввод-вывод от супервизора задач или от программных модулей самой ОС.

 

17. Прерывания. Программные прерывания. Супервизор прерываний.

 

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

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

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

 

18. Операционная система выполняет следующие основные функции, связан­ные с управлением задачами:

· создание и удаление задач;

· планирование процессов и диспетчеризация задач;

· синхронизация задач, обеспечение их средствами коммуникации.

 

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

19. Планирование и диспетчеризация процессов и задач в ОС.

 

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

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

20. Вытесняющая дисциплина диспетчеризации (RR).

 

 

Для решения проблем используется дисциплина обслуживания, называемая карусельной (Round Robin, RR). Дисциплина обслуживания предполагает что каждая задача получает процессорное время порциями или как говорят квантами времени. После окончания кванта времени задача снимается с процессора и он передается следующий задаче. Снятая задача ставится в конец очереди задач готовых к выполнению.

 

21. Не вытесняющие дисциплины диспетчеризации ОС.

Самой простой в реализации является дисциплина FCFS (First Come First Served – самый первый пришел первым обслужен) согласно которой задачи обслуживаются в порядке очереди т.е. в порядке их проявления. Те задачи которые были заблокированы в процессе работы после перехода в состояние вновь ставятся в эту очередь готовности. Дисциплина обслуживания SJN (Shortest Job Next) требует чтобы для каждого задания была известна оценка в потребностях машинного времени. Предполагает что имеется только одна очередь заданий готовых к выполнению. Задания которые в процессе своего исполнения были временно заблокированы вновь попадают в конец очереди готовых к выполнению наравне с вновь поступающими. Для устранения этого недостатка была предложена дисциплина SRT (Shortest Remaining Time) следующим будет выполняться задание, которому осталось меньше всего выполняться на процессоре.

 

22. Качество диспетчеризации и гарантия обслуживания.

 

Гарантировать обслуживание можно тремя способами:

· Выделять минимальную долю процессорного времени некоторому классу процессов.

· Выделять минимальную долю процессорного времени некоторому конкретному процессу, если он готов к выполнению.

· Выделять столько процессорного времени некоторому процессу, чтобы он мог выполнять свои вычисления к сроку.

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

· Загрузка центрального процессора

· Пропускная способность центрального процессора

· Время ожидания

· Время отклика

 

23. Управление процессами и задачами. Дисциплины диспетчеризации ОС.

 

Операционная система контролирует следующую деятельность, связанную с процессами:

 

· Создание и удаление процессов

· Планирование процессов

· Синхронизация процессов

· Коммуникация процессов

· Разрешение тупиковых ситуаций

 

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

 

· Программный код

· Данные

· Содержание стока

· Содержание адресного и других регистров процессора.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: