Операционни Системи Компютърните Системи Основни елементи



страница1/8
Дата12.06.2017
Размер1.12 Mb.
#23375
  1   2   3   4   5   6   7   8
Операционни Системи
Компютърните Системи
Основни елементи.

Регистри. Видове и функционалност.

Изпълнение на инструкции.

Прекъсвания.

Прекъсванията са събития, при които се променя редът на изпълнение на командите от процесора. Прекъсванията се разделят на две категории: външни и вътрешни. Външните прекъсвания се предизвикват от събития, които произхождат извън прекъсвания процес и са асинхронны спрямо него (настъпват в произволен момент). Такива са прекъсванията от входно-изходната апаратура - всъщност основната функция на прекъсванията е синхронизацията на процесора с входа/изхода чрез сигнали за прекъсване, съобщаващи на процесора, че е настъпило изменение в състоянието на канал или устройство (завършена операция, възникнала е грешка, устройството е станало готово). Други подобни прекъсвания могат да се причинят от таймера, от пулта за управление, от друг процесор (в мултипроцесорна система).



Вътрешните прекъсвания се предизвикват от събития, които са свързани с работата на процесора и са синхронни спрямо изпълняваните от него операции. Такива са: изключителните ситуации (препълване, делене на 0 и др.), програмни грешки (изпълнение на забранени или несъществуващи команди, нарушение на защитата на паметта и др.), апаратни грешки (например контрол по четност), команди за програмни прекъсвания от вида SVC.

Обработката на прекъсванията до голяма степей зависи от апаратната част на процесора, и в частност от системата за прекъсване. Има изключително голямо разнообразие от системи за прекъсване, които са и предмет на спор между конструкторите на апаратната и програмни части относно кои функции от обработката на прекъсванията как да се реализират. Действията по обработката на прекъсване, присъщи за повечето машини, са следните: 1) запомня се на определено място характеристиката на прекъсването, 2) запомня се състоянието (контекста) на прекъснатия процес (най-често в дескриптора на процеса), 3) определя се източникът на прекъсване и управлението се предава на съответната програма, 4) след изпълнение на програмата се възобновява нормалната работа.

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

По-нататък трябва да се идентифицира източникът на прекъсване и да се предаде управлението на съответната обработваща програма. Той може да се определи по програмен път (когато всички източници на прекъсване са свързани към една линия) и с команда за преход да се предаде управлението към обслужващата програма. Често се използват апаратни средства за определяне на източника на прекъсване, които изработват вектор на прекъсването и го изпращат към процесора по специални шини (респ. адресни или за данни). Векторът (двоично число) представлява указател към програма за обслужване.

Обслужващата програма извършва необходимите действия или само изпраща съобщения (събитие) към блокиран процес (вж. примера в т. 5.1.4). Преходът от изпълнение на една програма към друга се нарича превключване на контекста.

Проблем настьпва, когато са разрешени едновременни заявки за прекъсване от няколко източника. Тогава трябва да се въведат приоритети или приоритетни класове. Обслужването на приоритетите може да е програмно (когато разпознаването е програмно) или апаратно. Често се използва апаратно-програмно управление на приоритетите чрез регистър-маска на прекъсването, позволяващо по програмен път да се забраняват и разрешават прекъсванията от отделните източници.

Следващият проблем е свързан с въпроса: как да се реагира, ако по време на обработка на прекъсване възникне нова заявка за прекъсване. Възможни са три решения: 1) заявките се игнорират и никога не се обслужват, 2) заявките се запомнят и се изпълняват след завършване на обработката на текущото прекъсване, и 3) ако заявката е с no-висок приоритет, програмата за обработка на прекъсване се прекъсва, започва се обработка на новото прекъсване и след завършването и се продължава със старото прекъсване. В последния случай се говори за вложени прекъсвания и е най-удобно процесорът да използва стек за запомняне на състоянието на всяка програма.

Във всяка машина има различии възможности за забрана и разрешаване на прекъсвания. Те могат да са няколко нива: забрана на всички прекъсвания, забрана чрез маска на някои прекъсвания и забрана на устройство да изпраща прекъсване.

И накрая програмата за обработка на прекъсване трябва да възобнови нормалната работа. В зависимост от вида на прекъсване и дисциплината за планиране на процесите управлението може да бъде върнато: 1) на прекъснатия процес, 2) този процес може да е блокиран или записан в опашката на готовите процеси, а планиращата програма да избере процес за изпълнение от опашката.

Тъй като някои действия по обработката на прекъсване трябва да бъдат изпълнени незабавно, обработката е функция на ядрото. Когато размерите на обработващата програма са големи, тя може да бъде разделена например на две части: резидентна програма за обработка на първо ниво и нерезидентна от второ ниво (изпълнявана като процес).

Много от прекъсванията, имащи отношение към управлението на процеса (таймер, входно-изходна система), водят до това, че управлението почти веднага се предава на планиращата програма. Тази програма избира за изпълнение не само потребителските процеси, но и процесите на ОС и на другите компоненти на програмното осигуряване.

Когато прекъсването е вътрешно - грешка или изключителна ситуация (понякога такова прекъсване се нарича прихващане, trap), ОС определя дали грешката е фатална или не. Ако е, процесът се унищожава и се избира следващ за изпълнение. В противен случай реакцията завися от грешката и реализацията на ОС - може да се извърши процедура по възстановяване или просто информира потребителя. След това може да възобнови текущия процес или да избере друг.



Йерархия на паметта.

Каталог: 2015
2015 -> Висше военноморско училище „Н. Й. Вапцаров“
2015 -> Правила за изменение и допълнение на Правила за търговия с електрическа енергия Съществуващ текст
2015 -> Наредба за изменение и допълнение на наредба №36 от 2005 Г. За изискванията към козметичните продукти
2015 -> М и н и с т е р с т в о н а з д р а в е о п а з в а н е т о н а р е д б а
2015 -> Примерна тема за IV клас за „преглед на знанията по математика“
2015 -> Наредба №25 от 10 ноември 2008 Г. За условията и реда за пускане в действие на медицински изделия без наличие на условията по чл. 8 От закона за медицинските изделия
2015 -> 10 ноември демократичното начало тогава и сега


Сподели с приятели:
  1   2   3   4   5   6   7   8




©obuch.info 2024
отнасят до администрацията

    Начална страница