Разработка операционных систем
Рефераты >> Программирование и компьютеры >> Разработка операционных систем

3. завершение операции ввода - вывода

4. неправильное обращение к памяти

Каждое прерывание обрабатывается соответственно обработчиком прерываний (Interrupt handler), входящим в состав ОС.

Главные функции механизма прерываний — это:

1. распознавание или классификация прерываний

2. передача управления соответственно обработчику прерываний

3. корректное возвращение к прерванной программе

Переход от прерываемой программы к обработчику и обратно должен выполняться как можно быстрей. Одним из быстрых методов является использование таблицы, содержащей перечень всех допустимых для компьютера прерываний и адреса соответствующих обработчиков. Такая таблица называется вектором прерываний (Interrupt vector) и хранится в начале адресного пространства основной памяти (UNIX/MS DOS).

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

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

1. Управление процессами.

Процесс — это программный модуль, выполняемый в CPU. Операционная система контролирует следующую деятельность, связанную с процессами:

1. создание и удаление процессов

2. планирование процессов

3. синхронизация процессов

4. коммуникация процессов

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

1.1 Понятие Процесс. Состояния процесса.

Не следует смешивать понятия процесс и программа. Программа - это план действий, а процесс — это само действие. Понятие процесс включает:

1. программный код

2. данные

3. содержимое стека

4. содержимое адресного и других регистров CPU.

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

Различают следующие состояния процесса:

1. новый (new, процесс только что создан)

2. выполняемый (running, команды программы выполняются в CPU)

3. ожидающий (waiting, процесс ожидает завершения некоторого события, чаще всего операции ввода - вывода)

4. готовый (ready, процесс ожидает освобождения CPU)

5. завершенный (terminated, процесс завершил свою работу)

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

Выполняемый

ожидаемый, готовый

Выполняемый

 

прерывание.

сохраняется состояние П1 в PCB1, активизируется PCB2

       
         
         

готовый

Выполняемый

готовый  

 

прерывание.

сохраняется состояние П3 в PCB3, активизируется PCB1

прерывание.

сохраняется состояние П2 в PCB2, активизируется PCB3

       
         
         

ожидаемый, готовый

Выполняемый

ожидаемый

 

   

time

 

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

На рисунке схематически показано, каким образом операционная система использует process control block для переключения процессора с одного процесса на другой.

   

Заголовок

           

Процессы

 

первый

 

PCB7

 

PCB8

   

в состоянии

               

“готовый”

 

последний

           

               
                 

Очередь к

 

первый

           

магнитной

               

ленте

 

последний

           
                 
                 

Очередь

 

первый

 

PCB3

 

PCB14

 

PCB6

к

               

диску №1

 

последний

           

               
                 

Очередь к

 

первый

 

PCB5

       

терминалу

               

№ 1

 

последний

           


Страница: