Предпочитана операция - Голямата енциклопедия на нефта и газа, статия, страница 1
Привилегирована операция
Привилегированите операции (команди) могат да се използват само в програми за надзор и не са разрешени в приложни програми. [1]
Появата на привилегирована операция в режима на целевата програма предизвиква прекъсване и преход към супервайзора, който разбира валидността на изискванията на целевата програма и или показва на потребителя грешка в неговата програма, или изпълнява исканото действие, използвайки своите подпрограми. [2]
За да се контролира редът, в който се използват привилегированите операции, обичайно е да се разграничават две алтернативни състояния на процесора: състояние на надзорник, в което процесорът изпълнява програми на надзорник, и състояние на задача, в което процесорът изпълнява приложни програми. В състояние на надзорник са разрешени всякакви операции, а в състояние на задача са разрешени само непривилегировани операции. Ако процесорът е в състояние на задача, появата на привилегирована операция в програмата се счита за грешка и изпълнението на програмата се прекратява. Състоянието на задачата на супервайзора се задава от командата, която инициира програмата. Тази команда принадлежи към привилегирован клас и се използва само от супервайзора. Ако се стартира приложна програма, се задава състоянието на задачата; ако се стартира програмата на супервайзъра, процесорът преминава в състояние на супервайзор. [3]
В режим TASK на компютърната система се използва привилегированата операция. [4]
Връзката на калкулатора с привилегированите операции зависи от състоянието на двойката задача-надзорник. Ако калкулаторът е в състояние на надзорник, всички команди са валидни. В състоянието на задача всички I/O команди и системни операции се третират като невалидни ипоявата на привилегирована операция е причината за прекъсването. Калкулаторът превключва към състояние на задача или надзорник, когато се въведе нов SSP, например в случай на прекъсване. [5]
Появата на привилегирована инструкция в състояние на задача се нарича изключение на привилегирована операция и причинява софтуерно прекъсване. [6]
При нормална работа на машината опитът за използване на привилегирована операция в програма води до прекъсване на програмата. В привилегирован режим всякакви машинни операции могат да се извършват безпрепятствено. Както вече беше отбелязано, привилегированият режим се задава от хардуера, когато се извърши преход към в резултат на прекъсване. [7]
Инструкциите за контрол на програмата включват условно и безусловно прехвърляне на контрол, както и привилегировани операции. [8]
В многопрограмните системи потребителят, като правило, няма пряк достъп до управлението на периферното оборудване: I / O командите са привилегировани операции. Това се прави, защото времето, необходимо за I/O информация от периферните устройства, се използва от надзора за други задачи. Ако, например, целевата програма изпълнява, в допълнение към супервайзора, въвеждането на масив от данни от дисковата памет, тогава процесорът може да не работи за период от 200 или 300 ms и това време при големи машини е достатъчно за извършване на няколко десетки хиляди аритметични операции. Следователно само ръководителят може да определи кога и кое периферно устройство трябва да се включи в работата. [9]
В многопрограмните системи потребителят, като правило, няма директен достъп до управлението на периферното оборудване: I / O командите са привилегированиоперации. Това се прави, защото времето, необходимо за I/O информация от периферните устройства, се използва от надзора за други задачи. Следователно само ръководителят може да определи кога и кое периферно устройство трябва да се включи в работата. [10]
Това е единствената програма в системата, на която е разрешено да използва привилегировани операции. СУПЕРВАЙЗОРЪТ управлява напредъка на всяка от задачите, от въвеждането на задачата до получаването на резултатите. От изпълняваната програма управлението се предава на СУПЕРВИЗОРА чрез сигнал за прекъсване, като след обработка на прекъсването СУПЕРВИЗОРЪТ определя програмата, на която прехвърля управлението на по-нататъшния ход на процеса. [14]
EX може да се изпълни от всяка друга команда освен командата EX. Естествено, в режим на задача потребителската програма няма право да извършва привилегировани операции. [15]