йкестендіру станымы. 2 страница

зілістер деп атаан те олайлы, себебі олар дрыс жмысты жйені зіп тастайды. Баса сзбен айтанда, зілістер жйесі процессорды командалы аымды орындауа жібереді, айырмашылыы, осыан дейін орындалан орытынды кодты тізбектік айтарылуы.

зілістер механизмі процедураны орындау механизміне те сас. Біра, бл механизмдер арасында лкен айырмашылы бар. зілістер ауысымыны жай ауысымнан айырмашылыы бар, бл шартсыз немесе шартты тімділік командасымен орындалады, бл командалы аым осымшасында бадарламалаушыпен аралады. Командалы ауысым алдын-ала бадарламалаушыпен белгіленген бадарламалы нктесіндегі орытынды малматтара байланысты болады. зілістерді бадарламалаушы болжай алмайды, ол бадарламаны кез-келген командалы аым нктесінде болады. зілістер берілген бадарламаны орындалу рдісі кезінде аралмаан авариялы жадайда пайда болады. зілістер мен процедураны састыы, екі жадайда да ажетті жадайды дейтіндігінде жне кейбір ішкі бадарлама орындалады, ал одан кейін негізгі бадарламаны аымды тармаы орындалады.

зілістер 3 топа блінеді:

  1. Сырты
  2. Ішкі
  3. Бадарламалы

Сырты зілістер олданушы рекетіні немесе бейнелеушіні терминалы нтижесінде пайда болады. Кіріс белгісіні аппаратты рылы нтижесінде енгізу-шыару операция белгісіні аяталуы, баылаушы компьютерді сырты рылыларын айта дейтін, принтер жне атты дискідегі жинатаыш секілді, не болмаса датчиктер белгісі компьютерді техникалы объектілерімен басарылады. Сырты рылыларды аппаратты рылылар деп те атайды, зілістер кейбір аппаратты электрлік белгі арасында пайда болады, ол арнайы зіліс процессорлы адаммен беріледі. Берілген зілістер класы зіліс бадарламасыны аымды инструкциясына атысты асинхронды болып саналады. Процессорды аппаратурасы, орындалатын атар екі инструкцияны арасында пайда болатын асинхронды зілістерге атысты жмыс істейді. Сонымен атар, зілістер деуінен кейінгі жйе рдісті орындалуын жаластырады, біра орындалуын келесі инструкциядан бастайды.

Ішкі зілістер ерекшелік жадай деп те аталады. Бл зілістер кейбір бадарламаларды андай да бір инструкциясын орындау барысында авариялы жадай пайда боланда синхронды болады, ерекше жадайлардан. Мысалы: 0-ге блінуі, типтері, диапазоннан шыып кету, файлды аша алмау.

Бадарламалы зілістерді баса зілістерден айырмашылыы – бадарламалы зілістер аиат болмайды. Бадарламалы зілістер – орындалуы зілісді иментациялауды процессорларды айрыша командаларын орындаанда пайда болады.

зілістерге оларды маыздылыы жне жеделдігіне байланысты стемділік беріледі. зілістер детте ОЖ- модульдерімен деледі. Себебі, зіліс шін орындалатын ріптер блінетін ресурсы басаруа жатады. зілістерді деуші шаырылатын процессор детте зілістер деушілері немесе зілістерге ызмет ету процессоры деп аталады.

Бадарламалы зілістер

Арнайы нсаулы процессор кмегімен ішкі бадарламаа ауысу тсілдеріні бірін бадарламалы зілістер жзеге асырады, INT секілді процессорларында Intel Pentium, Trap процессорында MotoroLa, Syscall процессорларында MIPS немесе Ticc процессорларында SPARC. Бадарламалы зілістерді командасыны орындалуы кезінде процессор іс-рекетті тізбектелген сырты, ішкі зілістерді пайда болу жмысын тейді, біра бл бадарламаны болжаулы нктесі програмист орнатан команда болады.

азіргі жаа процессорларды командалы жйесінде бадарламалы зілістерді дістері бар. Бадарламалы зілістерді жйелік команда рдісінде дістерді пайда болу себебі, стандартты команда процедурасыны орындалуын олданумен салыстыранда оны олдану те ышамды бадарламалы кода келеді. Бл процессор деушілері зілістерді деу шін аз клемді аиат ішкі бадарламаларды резервтаумен тсіндіріледі. Бадарламалы командасындаы операндты зындыы керекті ішкі бадарламаа ауысу командасынан кішілеу болады. Call комндасын олдану шін 1 байтты емес, 2 немесе 4 байтты операнд ажет. Ішкі бадарламалы шаыру инструкцияларыны орнына бадарламалы зілістерді олдануды таы бір себебі, ол – привилегиоланан бір уаыттаы шаыру процедурасы олданылатын режимні ауысу ммкіндігіні болуы. Кптеген процессорлар бл бадарламалы зілістерді асиетін олдайды.

Жйелік шаырулар

Жйелік шаырулар ОЖ-ге оны кодты сегментін процедура секілді орындалан рекетті орындау шін осымшаа брылуа ммкіндік береді. олданбалы бадарламалаушы шін ОЖ кітапхана секілді. Ол кейбір керекті функциялар жиынтыына ммкіндік береді. Бл кітапхана арылы олданылатын режимде тиым салынатын олданбалы бадарламаны жеілдетуге немесе амалды орындауа болады. Мысалы, енгізу-шыару рылыларыны малматтармен ауысуы.

Жйелік шаыруларды жзеге асыру шін мынадай талаптарды анааттандыру ажет:

  1. Привилегиоланан режимні ауыстырылуын амтамасыз ету
  2. ОЖ процедураларын жоары жылдамдыта шаыруа ие болу
  3. Ммкіндікке арай ОЖ-де жмыс істейтін бкіл аппаратты платформа шін біркелкі ОЖ-ге айналдыруын амтамасыз ету
  4. Жйелік шаыру жиынтыына жеіл кеейтілуін рсат ету
  5. ОЖ жаынан жйелік шаыруларды корректілік олдануды баылаумен амтамасыз ету

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

Жоары жылдамдыты амтамасыз ету шін бадарламалы зілістерді векторлы асиеттер жйелерін олданан пайдалы, ол кптеген процессорларда болады, бл дегеніміз р жйелік шаырудан кейін векторлы белгілі бір маынасын бекіту. осымша мндай шаыруды дісінде векторды маынасын аргументті сауалында тікелей крсетеді, бдан кейін басару ОЖ- керекті процедурасына олма-ол теді. Біра, бл децентрленген платформаны ерекшеліктеріне байланан(байланысты).

Сонымен атар, ОЖ-ге жйелік шаыруларды жиынтыын оай модификациялауа жне оларды олдануын баылауа ммкіндік бермейді. Мысалы, Pentium процессорында жйелік шаыруларды млшері зілістерді векторлар млшерімен аныталады. Ол осы масат шін жалпы пулды 256 элементтерімен белгіленген. Жаа жйелік шаыруларды осылуы жйелік бадарламалаушытен бос элементті зілістер кестесінде ыпты іздеуін талап етеді, ол ОЖ даму кезінде болмауы да ммкін.

Кбінесе, ОЖ жйелік шаырулар орталытандырылан кесте бойынша ызмет етеді, ол жйелік шаырулар диспетчеріні бар болуына негізделген. Кез-келген жйелік шаыруда осымша бадарламалы зілісді белгіленген жне векторды жалыз(дара) номерімен орындайды. Мысалы, OЖ Linux жйелік шаырулар шін INT SO, h командасын олданады, ал OЖ Windows NT-INT 2Eh. Бадарламалы узуді орындау алдында осымша кез-келген діс арылы ОЖ-ге жйелік шаыруларды номерін тапсырады, ол жйелік шаыруларды жзеге асыратын ОЖ процедурасыны адрестер кестесіндегі индексі болып табылады. штастыруды дісі іске асыруа байланысты. Мысалы, номерді процессорды жалпы осындысыны белгіленген регистрында немесе стекпен тапсыру арылы орналастыруа болады. Сонымен атар, жйелік шаыруларды аргументі кейбір тсілмен жаластырылады, олар регистрді жалпы сынысында орналаса алады жне стек немесе массив арылы жаласады.

Олар оперативтік жадыда орналасады. Массив малматтарды лкен клем жадайында ыайлы, олар аргумент ретінде жаласады. Осыан орай регистрді жалпы сынысында осы массивті адресі беріледі.

Жйелік шаыру диспетчері зімен арапайым бадарламаны крсетеді, ол мазмнын сатайды жне шаыруды сралан номері ОЖ диапазон олдауына тсетінін тексереді. Бл арапайым бадарлама ОЖ процедурасына басаруды тапсырады, оны адресі жйелік шаыру адрестер таблицасында крсетіледі.

Жйелік шаыру процурасыны реализациясы жйелік стекпен аргументтерді шыарады жне берілген рекетті орындайды. Бл рекет арапайым болуы ммкін, мысалы жйелік сааттар маынасыны оылуы, сондытан жйелік шаыру бір функция трінде орындалады. Тым крделі жйелік шаырулар, файлдан оу немесе толытырылан сегмент жады процессорыны блінді секілді, ОЖ ядросыны бірнеше ішкі процедуралара жйелік шаыруды басты функциясын айналдыруын талап етеді, олар енгізу-шыару немесе жадты басару секілді р трлі ішкі жйелерге жатады.

Жйелік шаыру жмысыны аяталуынан кейін басару диспетчерге айтарылады, бнымен оса, ол бл шаыруды аяталу кодын алады. Диспетчер процессорды регистрлерін алпына келтіреді, аныталан регистрді айтару кодына орналастырады жне зілісден инструкцияны айтаруын орындайды, ол привилегиоланбаан процессорды жмыс режимін алпына келтіреді.

осымша шін шаыруды сырты бейнесі, объектілік осымша кодымен жне олданылатын режимні орындалуымен байланысан С – функциясыны кдімгі кітапханалы шаыруынан айырмашылыы жо. Бндай жадайды шынымен орны бар – С компиляторымен берілген, бкіл жйелік шаырулар шін кітапханаларда «бітеулер» бар. р бітеу С – функция секілді берілген, сонымен атар, ол бірнеше ассамблерлік жолдарды амтиды, олар бадарламалы зілістер инструкцияларыны орындалуына ажет. Осындай тсілмен олданылатын бадарлама бітеуді шаырады, ал ол , з кезегімен ОЖ процедурасын шаырады.

Кейбіреулерді тезірек орындау шін арапайым жйелік шаыруды олданан жеткілікті, олара привилегиоланан режимде жмысты талап етпейді, талап етілген жмыс кітапханалы функцияда толыымен орындалады. Бл функция жйелік шаыру болып саналмайды, ол таза кітапханалы функция. Бл кітапханалы функция зіні жмысын олданылатын режимні рдісті вертуалды адрестік кеістігінде болады, біра, олданбалы бадарламалаушы бл туралы білмеуі де ммкін - ол шін жйелік шаырулар мен кітапханалы функциялар біркелкі болып крінеді. олданбалы бадарламалаушы API – олданбалы бадарлама интерфейс жиынды функциясымен жмыс жасайды – ол кітапханалы функциялардан трады, оны бір блігі жйелік шаыруларды жмысын аятау шін, ал баса блігі жо.

Бейнеленген жйелік шаыру организацияны кестелік тсілі бкіл ОЖ-де абылданан. Ол модификациялауа ммкіндік береді жне кестеге жаа адрес осады, жіберілетін шаыру номеріні диапазонын кеейтеді.

ОЖ жйелік шаыруларды синхронды немесе асинхронды режимде орындай алады. Синхронды жйелік шаыру дегеніміз – осындай шаыруды жасаан процесс, жйелік шаыру зіні бкіл талап етілген жмысын орындап болмаанша уаытша тотайды. Бдан кейін жоспарлаушы процесті дайынды жадайына кшіреді жне келесі орындауда процесс осы уаытта аяталан жйелік шаыруды нтижелерімен жоспарлап олдана алалды. Синхронды шаырулар блоктаушы деп те аталады, шаырылан жйелік рекетті рдісі оны аяталуына дейін блоктанады.

Асинхронды жйелік шаыру, кейбір бастапы жйелік рекеттерді орындалуынан кейінгі кту режиміні процесс ауысуына келмейді.

Кптеген ОЖ-дегі жйелік шаырулар синхронды болады, осымшаны шаыру нтижесінде пайда болан анытау кезіндегі жмысынан тарады. Мнымен атар, ОЖ- жаа нсауларында асинхронды жйелік шаыруларды клемі ептеп кбейіп келеді, бл крделі осымшалар деушілеріне кбірек еркіндік береді. Асинхронды жйелік шаыруларды микроядерлік жаындау кезінде ОЖ ерекше ажет етеді, олданылатын режимде ОЖ блігі жмыс істейді, олара зіні организациялы жмысында толы еркіндікті болуы ажет, ал мндай еркіндікті тек ана микроядермен шаыру ктіміндегі асинхронды режим ана береді.

зілістер ОЖ негізгі тсінігі болып табылады. зілістер бадарлама команданы аылшыны нктесінде пайда болады, оны програмист алдын ала болжай алмайды. зілістер оиалар орындау рдісіне байланысты сырты себептерден немесе бадарламаны орындау барысында пайда болатын авариалы жадайларда пайда болады. зілістер жйесі процессоды осы уаыта дейін орындалан командалар аымынан зілістер баса рдіске ауыстырады. Содан со алдыы жмысына орындалан рдіске айтарады.зілістер ш топа блінеді;

1.Сырты

2.Ішкі

3.Бадарламалы

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

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

Бадарламалы зілістер – орындалуы зілісді эмитациялайтын процессорды айрыша командаларын орындаанда пайда болады бадарламалы зіліс процессорды арнайы инструкциясы кмегімен ішкі бадарлама кшуді тсілдеріні біреуін жзеге асырады.

азіргі заманы , барлы процессорлар зіні командалар жйесінде бадарламалы зілістер инстрацияларын амтиды. Бадарламалы зілістерді олдануды бір себебі: оларды олдану процедураларды орындауды Стандартты командалара араанда коды жинаты(компактыболуы) нтижесінде бадарламалы зілістерді операциялы жйе ядросыны функцияларыны шаыру шін жиі олданады.

ТАЫРЫП 5-6. БАСАРУ РДІСТЕРІ ЖНЕ

АЫНДАРЫ (ЖІПТЕРІ)

Масаты:Басару рдістері жне аындары мен Unix-тегі рдістерде ядро мен олданушы раушыларын арастыру

Кілттік сздер:ресурс, пакеттік деу, уаытты блу, шынайы уаыт жйелері, режим, мультибадарламалау, енгізу-шыару процессоры, нсаулар, аын, рдіс, сырты жады, блок, индекс

Дріс жоспары (2 саат)

  1. рдіс ымы. Кпаындыты олдайтын рдістер. рдістерді диспетчерлеу. рдістерді жргізушілер жне лестіруші жоспарлаушылар. рдістер мен кезектер арасындаы статикалы жне динамикалы байланыс.
  2. Жйелік деректер жне ОЖ ядросы стірттері (примитивов) рылымдарымен жоспарлаушыны зара рекеті.
  3. Unix-тегі рдістерде ядро мен олданушы раушылары. Сигналдар коммутацияны арапайым ралдары ретінде.
  4. Деккер алгоритмі. Баттауды трлері. Семафоралар.

Операциялы жйені маызды функциясыны бірі барлы аппаратты жне апаратты ресурстарын рационалды олдану болып табылады. Негізгі ресурстара процессор, жады, сырты рылылар, деректер жне бадарламалар жатады. Аппаратты ресурстары бірдей боланымен, р трлі операциялы жйелермен басарылатын есептеу жйелеріні жмыс істеу тиімділігі де р трлі болады. Бір есепті операциялы жйелерде ресурстарды басару есебін шешу маызды болып табыланымен (мысалы, операциялы жйе мен осымша арасында жадыны блінуі), бл жолдаы е басты иынды мультибадарламалы операциялы жйелерде туындайды. йткені бл жадайда ресурстара бір уаытта бірнеше осымша таласады. Сол себепті де біз гімен кбінесе мультибадарламалау тірегінде рбітетін боламыз.

Мультибадарламалау

мультибадарламалау немесе кпесептілік (multitasking) дегеніміз бл бір процессорде бір уаытта бірнеше бадарламаны жмыс істеуін аматамасыз ететін есептеу рдісін йымдастыру. Бл бадарламалар тек ана процессорды емес сонымен атар оперативті жне сырты жады, енгізу-шыару рылылары, деректер секілді клмпьютерді баса да ресурстарын олданады. Мультибадарламалау негізінен есептеу жйесіні тиімділігін арттыруа негізделеді, біра тиімділік р трлі маынада тсіндірілуі ммкін. Есептеу жйесіні тиімділігін барынша арттыратын негізгі критерийлер тмендегілер:

  1. ткізу абілеті – уаыт бірлігіндегі есептеу жйесімен орындалатын есептер саны;
  2. олданушылар жмысыны ыайлылыы – біруаытта бір машинада отырып бірнеше бадарламалармен жмыс істеу ммкіндігі.
  3. Жйені реактивтілігі – жйені алдын-ала берілген бадарламаны жктеу мен нтижені алу аралыындаы интервалды стау абілеті.

Тадап алынан тиімділік критериіне сйкес операциялы жйелер пакеттік деу, уаытты блу жне шынайы уаыт жйелері болып блінеді. Операциялы жйені р тріні зіндік арнайы ішкі механизмдері мен ерекше олдану облыстары бар. Кейбір операциялы жйелер бір уаытта бірнеше режимде жмыс істей алады. Мысалы есепті бір блігі пакеттік деу режимінде, ал таы бір блігі шынай уаыт немесе уаытты блу режимінде орындалып жатуы ммкін.

Пакеттік деу жйелеріндегі мультибадарламалау

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

Пакеттік деу жйелері негзінен есептеуге арналан, яни нтижелерді тез алынуын талап етпейтін есептерді шешуге арналан. Пакеттік деу жйелеріні басты масаты мен критериі максимальді ткізу абілеті, яни уаыт бірлігінде барынша кп есептерді шешуі.

Бл масата жету шін пакеттік деулерде функционерлеуді келесі схемасы олданылады: жмысты басында есеп пакеті рылады, рбір есеп жйелік ресурстара ойылатын талаптарды амтиды; бл есептер пакеті мультибадарламалау оспасын, яни бір уаытта орындалатын есептер жиынын райды. Есептеу машинасыны барлы рылыларыны жктелуіні тепе-тедігін сатауа шін ресурстара р трлі талаптар оятын есептер бір уаытта орындалатын есептер ретінде топталады. Мысалы, мультибадарламалау оспасында біруаытта есептеу есептері мен интенсивті енгізу-шыару есептеріні боланы абзал. Осыан орай, есептер пакетінен есепті тадау ішкі жадайа баяланысты. Наты айтса есепті «тиімдісі» тадалады. Байаанымыздай, пакеттік операциялы жйелерді басаруымен жмыс істейтін есептеу жйелерінде белгілі уаыт периодында да наты бір есепті орындалуына кепілдік беруге болмайды.

Енді енгізу-шыару операциясы мен есептеу операциясыны бірігіп алай жмыс істейтінін арастырып крелік

Мндай бірігу р трлі дістермен жзеге асады. Бларды бірі арнайы енгізу-шыару процессорымен жабдыталан компьютерлерге тн. Мэйнфреим класындаы компьютерлерде мндай рдістерді каналдар деп атайды. детте каналдарды орталы процессорді командалар жйесінен згеше з командалар жйесі болады. Бл командалар сырты рылылармен жмыс істеу шін арналан, мысалы «рылыны жадайын тексеру», «магнитті басушы инені орнату», «бетті басын орнату», «жолды басып шыару». Каналды бадарламалар орталы процессорды бадарламалары орналасан оперативті жадыда саталады. Орталы процессорды командалар жйесінде канала андай енгізу-шыару бадарламаларын орындау керектігіне баыт беретін нсау арастырылады. Осы сттен бастап орталы процессор мен канал параллель жмыс істей алады (1а-сурет).

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

Енгізу/шыару

Есептеу

Каналды програманы жктеу командасы

Енгізу/шыару операциясыны аяталу сигналы

Орталы процессор

канал

а

Есептеу

Орталы процессор

адаалаушы

б

рылыны дайындыы туралы сигнал

Енгізу/шыару командалары

Енгізу/шыару операциялары

Сурет 1.Есептеу мен енгізу/шыару операцияларыныпаралель орындалуы

Кптеген сырты рылылар электромеханикалы тораптарды амтитындытан адаалаушы рылыларды басаратын з командаларын, орталы процессорды з командаларын орындауынан айтарлытай аырын орындайды. Бл жадай есептеу мен енгізу/шыару операцияларын паралель орындауды йымдастыруа олданылады: адаалаушыа команда беру аралыында процессор есептеуді орындай алады (Сурет 1). адаалаушы орталы процессора келесі команданы абылдауа дайын екендігін зіліс сигналымен хабарлауы ммкін немесе орталы процессор бл жайлы адаалаушыны жадайын ауы-ауы срай отырып зі анытайды.