Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УММ_ОС_КАЗ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.44 Mб
Скачать

ПОӘК 042–14.01.20.336/03-2012

№ 1 басылым

144 беттiң 144-сi

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

ШӘКӘРІМ АТЫНДАҒЫ СЕМЕЙ МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ

3 деңгейлі СМЖ құжаты

ОӘК

ОӘК 042-14-02-03.1.20.336/3

«Операциялық жүйелер» пәнінің оқу-әдістемелік кешені

Баспа №1

«Операциялық жүйелер» пәнінен оқу-әдістемелік кешен

5В070400 «Есептеу техникасы және программалық қамтамасыз ету»

мамандығына арналған

ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР

Семей

2012

Мазмұны

1

1. Глоссарий

3

2

2. Дәрістер

5

3

3. Зертханалық жұмыстар

4. Тәжірибелік сабақтар

68

108

1 Глоссарий

1.1 Операциялық жүйе – бағдарламалар жиынына, көмпютерлік құралдардың жұмысын қамтамасыз етеді. Және де компютерлік қондырғы бағдарламалық қуаттылықты қадағалайды, операциялық жүйенің негізгі міндеті қондырғыны жүйелі және қолждануға ыңғайлы болуын қадағалайды. Операциялық жүйе рациональды және коордираттық қондырғыны басқару жүйесінде ең жоғары сапада болуын қадағалайды.

1.2 Қондырғылық құрал – компьютер орнатылымы: процессор, жады орнатылымы, кіріс-шығыс орнатылымы, және де берілген құралды қабылдау жіберу.

1.3 Буфер (buffer) – бұл оперативті жады обылысы. Буферизацияның қолданылуының бірнеше әдістері бар. Жай буферизатция процесі берілген процессормен және процесс буферде уақыт бойынша бөлінген. Екінші буферизация тәсілі осы екі процесті бірге атқарады.

1.4 Тікелей жадыға кіріс (Direct Memory Access, DMA) – негізгі опреация кіріс шығыстағы символдар негізгі жадыға беріледі.

1.5 Параллельді процесстер – бұл бір уақыттағы процесс. Параллелді процесс бір –біріне тәуелсіз немесе қозғалғыш. Қозғалтқышты паралельді процесс бір-бірімен периодтық үйлестіргішті және өзара әрекетті қажет етеді.

1.6 Монитор (monitor)-ақпараттар структурасы мен процедуралар жиынтығы және де әр кезде бір ғана процесс қолдануы мүмкін. Мониторды біз бір бөлме сияқты елестетсек, онда ол бөлменің кілті болады, ол кілтпен кезек -кезек процесстерді орналастырады.

1.7 Тұғырық (deadlock) – бұл мультипрограммалық жүйе ситуациясы.

1.8 Сегменттік – беттік жады (paging/segmentation) –сегмент үшін жады беттер бөледі, және де сегменттің кестелік кеденіне байланысты бөлінеді.

1.9 Иерархияның төменгі дәрежесі –комбинация құрайды, соның көмегімен кез – келген мәліметтердің элементтері құралады.

1.10 Файлдық жүйе- ол барлық басқару жадының жүйесінің бір бөлшегі, сыртқы жадыда сақталған, оның міндеті көбінесе файлдарды басқару болып табылады, қолданушыларға ақпаратты бөлу бақыланады.

1.11 Файлға кіру құқығын анықтау – ол операцияда әр қолданғышты анықтау, берілген файлға пайдаланады. Дифференциялдық операцияға кіру әр файлдық жүйеде өз тізімі анықталған.

2 Дәрістер

Дәріс № 1

Тақырыбы:Операциялық жүйелерге кіріспе

Дәрістің сұрақтары:

  1. Операциялық жүйе. Анықтамасы және міндеті.

  2. Операциялық жүйелердің функциялары.

  3. Операциялық жүйелердің негізгі қасиеттері.

  4. ОЖ даму тарихы.

  5. ОЖ классификациясы.

Анықтама

Операциялық жүйе – прграмма жиынына, көмпютерлік ақпаратты қамтамасыз етеді. Және де компютерлік қондырғы бағдарламалық қуаттылықты қадағалайды, операциялық жүйенің негізгі міндеті қондырғыны жүйелі және қолждануға ыңғайлы болуын қадағалайды. Операциялық жүйе рациональды қондырғыны басқару жүйесінде ең жоғары сапада болуын қадағалайды.

Операциялық жүйенің негізгі міндеті – ол ресурстық басқару, ол компьютерлік қондырғылар:

  • Процессор,

  • Жады,

  • Кірістік –шығыстық құрылым

Операциялық жүйе әртүрлі функциялары ұйымдастырылады, оларға:

  • Интерфейстік қолдануды анықтау,

  • Кондырғы ресурсын қолданылатын ресурсын ажыратуды қамтиды,

  • Бір режимдегі қолданыстармен жұмысты қамтиды,

  • Ортақ ресурстарға қолданысты болдыруды қадағалайды

Операциялық жүйенің қандай функцияны қамтитынына қарамастан, ол эксплуатанциондық қажеттерді қамтуы тиіс, және де келесідей сапаға иелі болуы қажет.

  1. Сенімділік. Сенімділік біраз көлемдік жүйеде сенімді болу қажет, қандай қондырғыда болса да. Бағдарлама немесе қондырғыда жүйе қателіктерге ие болса, онда ол қателікті тауып және сол кезінде жөндеуге тиіс.

  2. Қорғау. Жүйе кедергілерден сақтануы керек.

  3. Тиімділігі. Операциялық жүйе программалық жүйеде күрделі комплексті қамтиды. Бұл жүйе экономды болуы қажет, көп ресурс қолданушыда қалу үшін.

  4. Болжаушылық. Бағдарламаны іске қосқанда, қолданушы өзінің күткен нәтижесін болжай білу қажет.

  5. Ыңғайлылық. Операциялық жүйе қолданушыға ыңғайлы болуы қажет.

Операциялық жүйе, компьютерлік қондырғының аналогтығы, өзінің даму жолында радикалдық қатармен өзгеріп отырды, осыны жалғасу деп атайды.

Нолдік жалғасу (40 жылдар).

Ең алғашқы есептеуіш машиналарда Операциялық жүйе болмаған, қолданылатын бағдарламалар машиналық кодта болған.

Алғашқы жалғасу (50 жылдар)

Операциялық жүйенің 50 жылдардағы негізгі ерекшеліктері жеделдету құрлысында және тапсырмадан тапсырмаға көшуде болып табылады. Ең алғашында опреациялық жүйеде концепция атауы жүйелі файлдарда пайда болады. (мысалыға, стандартты жүйелі файл шығыс- кіріс).

50 жылдардың аяғында меншіктік фирмалар – операциялық жүйедегі компьютерді қолдануда келесідей мінездеме қойды:

  • Пакеттік тапсырма,

  • Кіріс –шығыс немесе басқару жүйесі IOCSinput-output control system

  • Автоматтық өзгеріс бір бағдарламадан екінші бағдарламаға өту.

  • Қатерден кейін қалпына келтіру

  • Қолданушға өзінің тапсырмасын түсінікті етіп жеткізу

Зерттеуші лабраториялық фирма General Motors ең алғаш 50 жылдары операциялық жүйені өздерінің компьютерінде IBM-701-де жасап шығарған деп саналады.

Екінші жалғастыру (60жылдар)

Операциялық жүйе мультипрограммалық тәртіпте жұмыс ретінде құрылады, бұл кезде бірнеше қолданушы бағдарламалар бір негізгі компьютерлік жадыда болады, ал орталық процессор бір тапсырмадан екінші тапсырмаға ауысады.

Мультипроцессор типіндегі алғашқы жүйе пайда болады, егер жалғыз санауыш комплекс бірнеше процессорда болса, осы мультипроцессор комплекстік қуаттылықты арттыру үшін пайда болды.

Операциялық жүйеде уақытты бөлгіш пайда болады, олар диалогтық немесе интерактивтік режимде жұмысты қамтиды.

Осы жылдары алғаш тиімді уақыт жүйесі пайда болды, бұл кезде компьютерлер техникалық процеске қолданылды.

Сондай –ақ Burroughs фирмасы өзінің компьютеріне В5000 - ОS MCP (Master Control Program – негізгі басқарушы бағдарлама), мұнда жаңа заманға сай концепциясы бар операциялық жүйе құрылды;

  • Мультибағдарлама;

  • Мультипроцесс;

  • Виртуалды жады;

  • Операциялық жүйенің жоғары бөліктегі жазылуы;

  • Белгілі бір тілде бағдарламалау.

Үшінші жалғастыру (70-жылдар)

Үшінші жалғастырудың пайда болуы операциялық жүйенің IBM фирмасы 1946 жылы System/360 компьютерін дәл келді, бұл компьютерлер ортақ машина ретінде құрылған. Операциялық жүйенің үшінші жалғасудағы ерекшелігі көпрежимді жүйе болуында болып табылады. Операциялық жүйе үшінші жалғасуда бағдарлама қамтуында ерекше орынға ие болды.

Бақылау сұрақтары:

  1. ОЖ анықтамасын беріңіз.

  2. ОЖ функцияларын атап шығыңыз.

  3. Мультибағдарламалық және мультипроцессорлық тәртіптерінің айырмашылықтары туралы айтып беріңіз.

  4. Мультибағдарламалардың пайда болу себептері.

  5. ОЖ негізгі қасиеттері.

Дәріс № 2

Тақырыбы: Аппараттық жабдықтар және бағдарламалық қамсыздандыру

Дәрістің сұрақтары:

  1. Аппараттық құрал түсінігі.

  2. Орта процессоры және оның жұмыс істеу тәртіптері.

  3. Мультипроцессорлық өңдеу.

  4. Жадтың қабаттары. Көшу регистрі.

  5. Жадыны қорғау.

  6. Перифериялық құралдар және олардың жұмыс істеу тәртіптері.

  7. Виртуалды жад. Жадқа тікелей кіріс.

  8. Жадының иерархиясы.

  9. Бағдарламалық қамсыздандыру.

Аппараттық құрал – компьютер орнатылымы: процессор, жады орнатылымы, кіріс-шығыс орнатылымы, және де берілген құралды қабылдау жіберу.

Орталық процессор және оның жұмыс істеу режимі. Екі режиімге көңіл бөлгеніміз дұрыс: тапсырма режимі (problem state) және супервизор режимі (supervisor state). Операциялық жүйеде супервизор режимінде жұмыс атқарылады, барлық командаларға нұсқау бере отырып атқарылады.

Мультипроцесстік өңдеулер (multiprocessing). Мультипроцестік жүйе бірнеше жүйеде, бірдей жадыда және операциялық жүйеде жұмыс істейді.

Жадының қабаттасуы. Жадының қабаттасу тәсілі (storage interleaving) оперативті жадының жылдамдығын көбейтуде қолданылады. Жадының қабаттасуы кезінде көршілік адрестік ұяшықтар әртүрлі модульдік жадыда орналасады, сондықтан бір мезгілде қолданысқа келеді.

Регистрдің араласуы. Регистірдің араласуы (relocation register) динамикалық араласуды бағдарламаны жадыда сақтауға көмектеседі. Регистрге базалық адрес араластырылады, ол негізгі жадыда сақталады.

Біраз нәтижелердің болуы үшін және де жұмыс істеп тұрғанға тәуелді болмай тексеретін әдіс ол опрос (polling) жіберу.

Бұзу (прерывание - interrupts) бір жағдайдан екінші жағдайға өтуге мүмкіндік береді. Қалыпты жағдай, бөгет болған жағдайда сақтап қалады.

Буферизация. Буфер (buffer) – бұл оперативті жады обылысы. Буферизацияның қолданылуының бірнеше әдістері бар. Қарапайым буферизация процесі берілген процессормен және процесс буферде уақыт бойынша бөлінген. Екінші буферизация тәсілі осы екі процесті бірге атқарады.

Жадыны қорғау. Жадыны қорғау storage protection) ең негізгі шартты жұмыс жүйе үшін жадыда сақтау адрес диапазонын қадағалайды.

Жадыда сақтау кілттік жады қорғауымен (storage protect keys) бұл программа кілті бар программаға ғана рұқсат етіледі.

Кіру –шығу каналдары. Негізгі канал құрылғымен, параллель жұмыс істеуін көбейтеді.

Жады циклін басып алу. Канал мен процессор арасында өзіндік бір кедергі болып қалуы мүмкін. – бұл негізгі жадыға рұқсат болып табылады.

Адреске қатысы. Жұмысты қамту үшін адрестік қатынас қолданылады.

Виртуалдық жады. Виртуалдық жады (virtual storage) программада адресті көрсетеді. Виртуалдық адрес динамикалық болып келеді. Виртуалдық жадыда парақтық ұйымдастыру (paging) қолданылады және сигментация (segmentation) бағдарламаның бөлігін және логикалық компоненттерді қарастырады.

Тікелей жадыға кіріс (ТЖК). Тікелей жадыға кіріс (Direct Memory Access, DMA) – негізгі операция кіріс шығыстағы символдар негізгі жадыға беріледі.

Жадттың иерархиясы ( storage hierarchy). Қазіргі заманға сай машиналарда бірнеше жады бар: кэш –жады (cache,storage)опреративті, ішкі жады т.б осы жадылардың барлығы иерархия жадын құрайды.

Бақылау сұрақтары:

  1. Жадының қабаттасу концепциясы неде негізделеді?

  2. Қарапайм және екілік буферизацияның айырмашалақтары неде?

  3. Жадыны қорғау тәсілдері.

  4. Спулинг түсінігі туралы айтыңыз.

  5. Жадыға тікелей кіріс қалай ұйымдастырылады?

  6. Селекторлық жіне мультиплекстік каналдардың айырмашалақтары.

  7. Виртуалды жадыны қолдану тәсілі қандай мүмкіндіктерді береді?

Дәріс № 3

Тақырыбы: Процесстер. ОЖ ядросы.

Дәрістің сұрақтары:

  1. Процесс. Процесстің күйлері.

  2. Процесстермен операциялар орындау.

  3. Үзілістерді өңдеу. Үзілістер типтері.

  4. ОЖ ядросы. Ядроның негізгі функциялары.

  5. ОЖ иерархиялық структурасы.

  6. Linux ОЖ архитектурасы.

Процесс. Процесс ұғымы 60 жылдан бастап, операциялық жүйе программасында пайда болды. Мынаны ескеруіміз керек: программа бұл – файлды жүктеу немесе оны дискке сақтау (мысал ретінде), ал процесс - осы әрекеттердің өту этаптары.

Процесстің жағдайы. Енді негізгі үш процесстік жағдайды қарастырамыз.

  • Сол уақытта орындалған орталық процессордың бөліну процесінің жұмысының орындалып жатқанын айқындайды.

  • Орталық процессорды қолданып әрекеттерді орналастырса, процесстің жұмысы орындалып болғанын айқындайды.

  • Жұмыстың орындалу барысында күтпеген жағдайдың орын алуы, процесстік жағдайдың блокталғанын айқындайды.

Процесстің жұмыс жағдайы. Процестің басқару жүйесінің орындалуы келесі қатармен жүргізіледі:

Процесстің құрылуы. Процесстің құрылуына РСВ басқару процессі, алғашқы ресурстық процестің шығуы және т.б

Процесстің жойылуы. Процестің жойылу барысында шығарылған ресурстар жүйеге енгізіліп, кез-келген тізім және кестелер өшіріліп қалады, ал басқару блогындағы процесс кеңейеді.

Процесстің тоқтатылуы. Тоқтату процесі жұмысы қандайда бір процесстің көмегімен іске асырылады.

Іске қосу процессінің өзгеруі. РСВ процестік модификациялық жағдайлардағы операцияны білдіреді. Бұдан басқа да блоктау, жіберу, іске қосу процестері қолданылады.

ОЖ қосымша модуьдері және Ядро. ОЖ структуризациясы оның барлық модуьдерінің екі топқа бөлінуіне ортақ болып келеді:

  1. Ядро –ОЖ басты функцияларын шешуші модульдері.

  2. ОЖ көмекші функцияларын шешуші модульдері.

Ядролық модульдер ОЖ мынадай базалық функцияларын орындайды: процесстерді басқару, жадыға сақтау, шығыс-кіріс құрылғыларын басқару және т.с.с. Ядро ОЖ жүрегінен тұрады онсыз ОЖ толығымен жұмыс істеу қабілетінен айырылады және де бірде бір өзінің функцияларын орындай алмайды.

Ядроның құрамына кіретін функциялар, ішкі-жүелік есептердің шешуші құрамды процестері, мынадай:

  1. контекстерді ауыстыру.

  2. беттердің жүктеу/выгрузка

  3. үзілулерді өңдеу

06.02.12

Бұл функциялар қосымшаларға қол жетімді емес. Ядро функциясының басқа классы қосымшаға қолдау қызметін атқарады, және оларға атаулы қолданбалы программалық орта жасайды. Қосымшалар ядроға сұраныс жасай алады –жүйелік шақырулар –сол немесе басқа әрекеттердің орындалуы, мысалы бір файылдың оқылуы және ашылуы графикалық мәліметтерді дисплейға шығару, жүйелік уақытты алу т.б. қосымшамен шақырылатын функцияның ядросы, қолданбалы программалық интерфейстерді құрайды –АРІ (Application Programming Interfase) –әдістерді таңдау функциясы программисттің функционалды программалық компанентті қолдануға арналған жолы (программалар, модульдер, кітапханалар). АРІ маңызды абстракция болып келеді, функционалдықты «таза түрде» жазушы.

Windows – Win32 API арналған қолданбалы программалаудың интерфейсын қарастырамыз. Win32 API жүйелік шақырулардан бөлектетілген . Бұл әр түрлі нұсқаларда программаларды көшірмей-ақ жүйелік шақыруларды өзгертуге мүмкіндік береді. Сондықтан шақыру жүйелік болама түсініксіз (ядромен орындалады), әлде ол пайдаланушының кеңістігінде өңделеді. Win32 API-да 1000 аса шақырулар болады. Мұндай көлем UNIX пайдаланушының графикалық интерфейстері пайдаланушы режимінде қосылуымен байланысты, ал Windows ядроға орнатылған. Сондықтан Win32 API арналған басқару терезелері, тақырыптар, шрифттер т.б., көп шақырулар бар.

Win32 API шақырулары, стандартты POSIX шақыруларына ұқсауын қарастырамыз.

-CreatProcess (fork) –жаңа процесс құру.

-ExitProcess(exit) –процессті аяқтау.

-CreatFile(open) –файлды ашу.

-CloseHandle(close) –файлды жабу.

-ReadFile(read) –файлдағы мәліметтерді буферға оқиды.

-WritFile(write) –буфердағы мәліметтерді файлға жазады.

-CreatDirectory(mkdir) –жаңа каталог құрады.

-RemoveDirectory(rmdir) –каталогты жояды.

-SetCurrentDirectory(chdir) –жұмыс істейтін каталогты өзгертеді.

Win 32 Қолданбалы программа

Win32 API Қолданбалы программаның интерфейсі

Windows 3.x

Windows 95/98/Me

Windows NT4.0

Windows NT5.0

Win32s

Сурет.2.1. Win32 API Windows интерфейсі

Функциялар, ядро модульдерімен орындалатын ОЖ функциясы болып келеді, сондықтан олардың орындалу жылдамдығы жүйенің толығымен бар қабілетін анықтайды. Барлық ОЖ жұмыс істеу жылдамдығымен қамтамасыз ету үшін ядро модульдері және де олардың үлкен бөліктері әрқашан жедел есте сақтау жадысында болады, демек резидентті болады.

Ядро компютерлік жүйедегі барлық есептеуіш процестерді қозғаушы күші болып келеді, және ядроның құлауы барлық жүйенің құлауымен тең. Сондықтан ОЖ құрастырушылар ядро кодтарының қауіпсіздігіне ерекше көңіл бөледі, нәтижесінде процесс пен олардың отладка көп айларға созылуы мүмкін.

Кейде ядро арнайы форматтың кей программалық модульдері ретінде рәсімделеді, пайдаланушылық қосымша форматтардан ерекшеленеді.

Қалған ОЖ модульдері аса қажетті бірақ аз міндетті функцияларды орындайды. Мысалы, мұндай көмекші модульдерге мыналар кіреді:

  1. Мәліметтерді архивтеу программасы.

  2. Дискті дифрагменттеу.

  3. Тексттік редакторды.

ОЖ көмекші модульдері кейде қосымша түрінде, кейде процедуралар кітапханасы түрінде рәсімделеді.

Сол себепті ОЖ кейбір компаненттері қарапайым қосымша ретінде рәсімделген, демек стандартты модульдердің берілген ОЖ форматында орындалу ретінде берілгендіктен, ОЖ мен қосымшалар арасына нақты шектеу қою өте күрделі де жиі болады.

Қандайда бір программа ОЖ бөлігі болама жоқпа екендігін, ОЖ қабілеттілігі шешім қабілдайды. Көп факторлардың ішінде осы шешімге әсер ете алатын, берілген ОЖ потенциялдық қолданушылардың программаға сұранысы көлемді болуы маңызды болып келеді. Кейбір программа берілген уақытта пайдаланушылық қосымша ретінде бола алады, ал содан кейін ОЖ бөлігі болады және керісінше болады. Осыған мысал ретінде Microsoft компаниясының Web-браузер пограммасының өзгеру статусы келеді, әлгі жеке қосымша ретінде бастапқыда Windows NT 4.0 және Windows 95/98 ОЖ бөлігі болды, ал бүгінгі күні сот шешімінде бұл браузер қайта тұрақты қосымшаға айналуына үлкен мүмкіндік бар.

ОЖ ядросы

– ОЖ қосалқы модулі

–Қолданушы қосалқыс

Сурет 2.2. Қосалқы және ОЖ арасындағы айқындық

Ерекше артықшылығы бар режимдегі ядро. Қосымшалардың орындалу жүрісін қауіпсіз басқаруда ОЖ қосымшаға деген ерекше артықшылықтары болуы қажет. Ендеше оның дұрыс жұмыс істемейтін қосымшасы ОЖ жұмысына кедергі болуы мүмкін, мысалы, оның кодтар бөлігін, ОЖ құрастырушылардыңбар жіберген күштері бос әурешілік болып қалады егер олардың шешімдерінің орындалуы қосымша молдульді жүйеден қорғамайды, қандай элегантты және эфектті шешімдер болмасын. Компьютер ресурстарының мультипрограммалық режимінде қосымшамен араларындағы дауда арбитрдың ролін ойнау үшін ОЖ ерекше қасиеттері болуы керек. Еш бір қосымша ОЖ бұйрығынсыз қосымша есте сақтау құралын алу мүмкіндігі жоқ, және процессорда ОЖ –де берілген уақытынан артық ұстауға, сыртқы құралдармен қатар атқаруға рұқсат жоқ.

Арнайы аппараттық құралдардың көмегінсіз ОЖ ерекше артықшылықты қолдаумен қамтамасыз ету мүмкін емес. Компьютердің аппаратурасы аз дегенде екі режимді ұстауы қажет:

  1. Қолданушы режимі (user mode)

  2. Ядро режимі деп аталатын ерекше артықшылығы бар режим (remel mode), әлде супервизор (supervisor mode).

ОЖ кейбір бөліктері ерекше артықшылығы бар режимде, ал қосымша –қолданушы режимінде жұмыс атқарады деп мойындалады.

Ядро операциялық жүйенің барлық негізгі жүиелерін орындағандықтан, көбінесе ол артықшылық режимінде жұмыс істейтін операциялық жүйенің бөлігі болып саналады.

Кейде артықшылық режиміндегі жұмыс «ядро» түсінігінің негізгі анықтамасы болып саналады.

ОЖ утилиталары Жүйе орындайтын прог Қолднушы қосалқысы

Қолданушы режимі

ОЖ ядросы

Артықшылық режимі

Артықщылық режиміндегі ядро мен жүйенің ОЖ-сі

Процессордың міндеттерін ауыстырумен, Енгізу-Шығару құралдарын басқарумен механизмдерді реттеу және жадты қорғау рұқсатымен байланысты, тұтынушы режиміндегі кейбір критикалық командалардың орындалуына тиым салынатындықтан, қосымша бағыныңқы жағдайға қойылады. Нұсқаулықтардың орындалуына тек белгілі жағдайларда ғана тиым салынса, тұтынушы режимінде ондай нұсқаулықтардың орындалуына сөзсіз тиым салынады (ондай нүсқауларға артықтандырылған режимдегі өту нұсқауы жатады). Мысалы; барлық қосымшалармен операциялық жүйеде жалпы деректерді сақтайтын, бірақ арнайы қосымшалар үшін монополиялық иелікте бөлінген кейінгі портқа рұқсат ететін қатқыл дискінің бақылаушысына рүқсат кезінде Енгізу-Шығару нұсқаулары қосымшаларға тиым салуы мүмкін.

Операциялық жүйенің артықшылықтары жадқа рұқсат етілгенде ұқсас түрде қамтамассыз етіледі. Мысалы; егер нұсқаулық операциялық жүйеде берілген қосымшасына жіберілген жадтың аумағында болса, онда қосымшаларға жадқа ену үшін нұсқаулықтар орындалуына рұқсат етіледі. Ал, операциялық жүйе және басқа қосымшаларда орын алатын жадтың аумағында болмайтын жағдайда тиым салынады. Жадқа енуге нұсқаулықтармен жадты қорғау конфигурациялық механизмдер нұсқаулары тек артықшылық режимінде ғана орындалуға рұқсат етілгендіктен, операциялық жүйенің толық бақылауы жүзеге асады. Мысалы; (Мэйнфреймах ІВМ-де жадты қорғау кілттерінің өзгеруі немесе Рentium процессорында жад дескрипторларының кестесіндегі сілтемелерінің өзгеруі).

Жадты қорғау механизмі операциялық жүйе мен тек қосымшалардан өз жадтарының аумақтарын қорғауға ғана емес, сондай-ақ операциялық жүйемен белгіленген қандай да бір қосымшалардың жад аумақтарын басқа қосымшалардан қорғайды. Әр қосымша өз кеңістігінде жұмыс істейді. Бұл қасиеті жадтың өз аумағында жұмыс істейтін қате қосымшаларды таратпауға мүмкіндік береді. Сондықтан да оның қателері басқа қосымшалармен операциялық жүйеге әсер етеді.

Аппаратты жүзеге асыратын артықшылық деңгейінің мөлшерімен операциялық жүйені қолдайтын артықшылық деңгейінің мөлшері арасында байланыс жоқ. 4 деңгейлі базада Intel компаниясы процессорлармен қамтамассыз ететін 0S/2 операциялық жүйесі 3 деңгейлі артықшылық жүйені жасауда, ал Windows NT, UNIX және кейбір операциялық жүйе 2 деңгейлі жүйемен шектелуде. Бір жағынан егер аппарат 2 деңгейлі артықшылықты қолданса, операциялық жүйе осының негізінде программалық әдіспен дамыған қорғау жүйесін жасай алады. Мысалы; бұл жүйе иерархияны тудырушы артықшылықтардың бірнеше деңгейін қолдай алады. Бірнеше артықшылықтардың болуы операциялық жүйе модульдерінің арасында да толық егжей - тегжейлі реттеуді рұқсат етеді. Ішкі операциялық жүйе артықтандырылған және аз артықтандырылған бөліктердің пайда болуы операциялық жүйенің бағдарламалық кодттарының ішкі қателіктерінің беріктілігін көтеруге әкеледі. Себебі мұндай қателіктер тек модульдер ішінде белгіленген арнайы деңгейлі артықшылықпен таралады. Артықтандырылған модульдер бөлігі аз артықтандырылған модульдер деректеріне енуге және олардың орындалуын басқаруға рұқсат алатын деференциялық артықшылықтардың ортасындағы күрделі қолданбалы кешендер құруға мүмкіндік береді.

Процессор артықшылығының 2 режимі негізінде операциялық жүйе ресурстарды жекелей қорғайтын күрделі жүйе құра алады. Оған мысал ретінде файлдар мен каталогтардың әдеттегі қорғау жүйесі бола алады. Бұндай жүйе кез-келген тұтынушыға, әрі файлдармен каталогтарға рұқсат қоюға белгілі құқықтар бере алады.

Ядроның артықтандырылған режимге ауысуын қамтамассыз ететін операциялық жүйенің нақтылығы кейбір жүйелік шақыртулардың орындалуының бәсеңделуі арқасында жоғарлайды. Артықтандырылған жүйенің шақыртуы процессордың тұтынушы режимінен артықшылықтар режиміне ауысуына бастайды, ал қосымшаға қайтарылғанда - артықшылық режимінен тұтынушы режиміне ауысады. Процессорлардың барлық түрлерінде қосымша екі мәртелі тоқтатуда ауыстырылатындықтан, ауысымсыз режимі процедурасын шақыртуға қарағанда процедуралық ауысым режиміне көшу баяу жүзеге асады. Артықтандырылған ядромен тұтынушы режиміндегі қосымшаларға негізделген операциялық жүйе архитектурасы классикалық болады. Оны көптеген атақты операциялық жүйе оның ішінде - UNIX, VАХ VМS, ІВМ OS/390, OS/2 сияқты сан алуан нұсқаулары және арнайы модификациялармен - Windows NТ жүйелері бар.

Оқиғаларда соналардың өңдеушілері шегінеді мынаның сәулет классикалық түрінің, түйін жұмысын және қосымшаларды ұйымдастыра бірде және том ғой тәртіпте. Дәл осылай, түйін жұмысына арналған қалай белгілі мамандандырылған операциялық жүйе Novell компания NetWare 86| Pentium Intel х процессорларының пұрсатты тәртібін қолданады, дәл осылай және өз ерекше қосымшалардың - толтыра арту модульдерінің жұмысына арналған. Дәл осылай қалай тәртіптердің ауыстырып қосулары жоқ, бірақ мыналар жанында жад сенімді аппараттық қорғанышы жоқ болады, модульдермен орын иеленгеннің соналардың , дөрекі жұмыс істеуші қосымшадан, NetWare өңдеушілері өз операциялық жүйе сенімділік сондай потенциалды төмендеуіне кетті , шек қойылған терім сондықтан әрбір қосымша мүқият жөндеулері шоттың артынан сәулетшілік жетіспеушілік оны мынау мамандандырылған қосымшаларды компенсациялауға рұқсат етеді.

Қ олданушы режимі

Артықшылық режимі

NetWare ядросы

NLM

2.5-шi сурет. Басқару жүйесiнiң ықшамдалған архитектурасы NetWare

Бiр тәртiпте жұмыстың ерекше құқықты режимін қолдамайтын процессорлар үшiн тiптi жасалған басқару жүйелерi ядро және қосымша арқылы жұмыс iстейдi. Мұндай түрдiң өте әйгiлi процессоры Intel 8088/86 болып табылды , IBM компанияснының дербес компьюлерге негiзі жараған процессоры.Бұл компьютерлерге арналып жасалған Microsoft компаниясымен игерiлген MS-DOS операциялық жүйесі, msdos.sys және io.sysтiң жүйелiк шақыруларға command.comның командалық интерпретаторы, жүйелiк утилиталар және қосымшаларға айналған (модулдердың ядро атауын пайдаланылып, ол олар негiзi бойынша болып табылғандығымен ) жүйенiң ядро құрастырылған екi модулдерінен тұрды. MS-DOS архитектурасы ОЖ-нің 2.1-шi сурет келтiрiлген архитектурасына сәйкес келедi. Дөрекi жазылған қосымшалар кейде жоғарыд айтылған MS-DOS-тың негiзгi модулдерін әбден қирата алды, бiрақ (дербес компьютер, MSXтың сондайы, СР/М үшiн ерте басқару жүйелерiнiң көп ұқсас түрлері) MS-DOS-тың қолдану облысы және ОЖ-нің биiк сенiмдiлiкке қойылатын талаптарының көрсетпедi.

Жұмыстың (80286-дан бастай ) Intel мүмкiндiгiнiң процессорларының ерекше құқықты режимiндегi болжамдардың кенжелеулерiнде пайда болуына MS-DOS-тың өңдеуішi болмады. Бұл ОЖ-лер 8086/88-шi процессорды шығаратын нақты тәртiп деп аталатындарға осы тип процессорларында әрдайым жұмыс iстейдi. Нақты тәртiп қолданбалы тәртiптiң синонимы болып табылғанда санамауы керек болғанында емес, оның екiнiң бiрiмен ерекше құқықты режимінде болғанына байланысты.

Нақты тәртiп тек қана оған ерте 8086/88-шi үлгiсiмен және екiнiң бiрiмен процессорлардың кешiрек үлгiлерiнiң үйлесiмдiгiне iске асырылды артықшылықтардың төрт деңгейлерi бiрлерде кешiрек үлгiлердiң процессорларының түсiнiктi барлық ерекшелiктерi болып қалыптасатын процессордың қорғал қалған жұмыс тәртiбi, соның iшiнде және жұмыс болып табылады.

ОЖ-нің көп қабатты құрылымы

Орналасқан жiктер үш иерархиялық болуға тұратын жүйенi сияқты қарау мүмкiн ядроның негiзiнде ОЖ басқарумен сияқты қарау мүмкiн жұмыс iстейтiн есептеуiш жүйенi: төменгi қабатты аппаратура, аралық ядро, программа және қосымша арқылы өңделетiн утилиталар (2.6-шы сурет ) және жүйенiң беттiк қабаттары деп топтастыруға болады. Есептеуiш жүйелер қабатшы құрылымды концентрлi дөңгелектердiң жүйелік түрiнде сол әрбiр жiк тек қана жапсарлас жiктермен әрекеттесе алатын айғақ мысал келтiруін суреттеуге қабылдаған. Шындығында, қосымшаның ОЖ-сі мұндай ұйымдардың жанында, аппаратурамен тiкелей әрекеттесе алмағанында емес, тек қана ядроның жiгi арқылы байланысады

2.6-шы сурет. Есептеуiш жүйенiң үш қабатты схемасы

Көп қабатты жол кез келген түрдiң күрделi жүйелерiнiң сол санда болып табылатын және программалық декомпозициясының әмбебап және тиiмдi әдiсi. Жүйе бұл жолдың сәйкестерi жiктердiң иерархиясынан тұрады. Әрбiр жiк жоғары жатқан жiк (2.7-шi сурет ) қабат аралық интерфейстердi құрастырған функциялардың кейбiр жиыны ол үшiн орындайтын қызметін көрсетедi. Иерархия бойынша жоғары келесi жiк қабаттай өз функциялары күрделiрек салады және өз кезегімен жасауға арналған қарапайымдарымен толып қалады қабаттай жоғары жатқан функциялары әлi әлмендiген функцияларының негiзiнде төменде жатады. Қатал ережелер жүйе жiктердiң арасындағы тек қана өзара модулдарының арасындағы әрекеттесулер байланысы кез келген бола алатын iшiндегі қабаттан тұрады. Жеке модуль өз жұмысын орындай алады немесе қабаттай басқа модульге өз сұранысын немесе төменде жатқанға көмегi үшiн сұранысын қабат аралық интерфейс арқылы өз алдына қабаттайды

.

Мұндай жүйесiн ұйымдастыру қадырларды көп алады. Ол жүйенiң өңдеуiн айтарлықтай ықшамдайды, жiктердiң функциясы және қабат аралық интерфейстердi жоғарыдан төменге анықтап, содан соң толық iске асырудың жанында жiктердiң функцияларының қуаты төменнен жоғарыға қозғала бiртiндеп өсiп жетiлдiруге өйткенi бастапқыда мүмкiндiк бередi. Егер күште қалған бұл iшкi өзгерiстердiң қабат аралық интерфейс болса, бұдан басқалар, жүйенiң жаңғыртуының жанында модулдар қажетсiз жiктердiң қалған жағдайлардалар өзгерiс қандай болмасын өндiрiп алуға iшiнде қабаттай өзгертуге болады.

Күрделi көп қызметтi кешен болмен ядро болғандықтан, онда көп қабатты жолға әдетте ядроның құрылымына да таралады.

Ядро келесі қабаттардан тұрады:

  1. ОЖ-нің аппаратты қолдауының құралдары. Басқару жүйесi туралы осыған дейiндер айтылған программалардың кешенi сияқты , бiрақ жалпы айтылғандар, ОЖ-дің функцияларының бөлiгi аппаратты құралдармен де орындала алады. Сондықтан программалық және аппаратты құрал, не жиынтық қалай басқару жүйесiнiң анықтауымды кейде кездестiруге болады. 3.8. суреттегі табиғи, басқару жүйелерiне әкетедi, компьютердiң барлық емес аппаратты құрылым емес, есептеуiш процесстердiң ұйымдарында тiкелей қатысатын ОЖ-дің аппаратты қолдауды тек қана құралы, демек : ерекше құқықты режимнiң қолдауының құралдары, үзулердi жүйенi, тағы сол сияқтыларды контекст процесстерiнiң ауыстырып қосуды құралы, жадтың облыстарының қорғау құралы.

  2. ОЖ-ге тәуелдi компоненттер. Бұл жiк компьютердiң аппаратты платформасының ерекшелiгiн шағылысатын программалық модулдарды құрастырады. Бұл жiк жақсы болғандалар жоғары жатқан толық экрандалады аппаратураның ерекшелiктерiнен ядро қабатта. Бұл жоғары жатқан өндеуге мүмкiндiк бередi осы ОЖ қолдалатын аппаратты платформалардың барлық түрлерге арналған жалғыз дана қазiргi машина - тәуелсiз модулдардың негiзiнде қабатта. Windows NTтiң басқару жүйесiнiң HAL жiгi қызмет көрсете аладуға қабаттай мысалымен перделейтiн.

  3. Ядроның негiздi тетiктерi. Бұл жiк дисктегi жадтан беттерiнiң контекст процесстерiнiң программалық ауыстырып қосу өте қарапайым ядро операциялары, үзулердi диспетчеризацияны, орын ауыстыруын орындайды және тағы сол сияқтылар керi. Рет мәлiметтiң модулдары, не беттiк қабаттардың модулдарға арналған олардың атқарғыш механизмдарымен деп атауға қабаттай тек қана олар ресурстарды бөлу туралы шешiмдердi қабылдамайды шешiм қабылданған жоғарыда жан-жақты зерттейдi бередi. Мысалы, осы уақытта ағымдағы процесстiң орындауын үзетiн және процесстiң орындауы бастауы керек болатын туралы шешiм, жоғары жатқан жiкте процесстердiң менеджерiмен қабылданады, негiздi тетiктер қабаттаймын процесстiң контекстiне ағымдағы процесстiң контекстiнен ауыстырып қосу орындауы керек болған процесстiң контекстiне ағымдағы процесстiң контекстiнен ауыстырып қосу орындауы керек болған туралы тек қана нұсқау берiледi.

  4. Қорлардың менеджерлерi. Бұл жiк есептеуiш жүйенiң негiзгi қорларымен басқару бойынша стратегиялық есеп iске асыратын қуатты функционалдық модулдардан тұрады. Жiк мәлiметте әдетте процесстердiң (диспетчерлермен сонымен бiрге деп аталатын ) менеджерi, енгiзу-шығару, файл жүйесi және жедел жадтар жұмыс iстейдi. Мысалы, менеджерлер және файл жүйесiнiң менеджерi өзгеректерге бөлiктеу енгiзу-шығаруды менеджермен кейде бiрлестiруге, негiзiнендердiң жүйеге қолданушыларының рұқсатты басқару функциясы және оның жеке объекттерiне қауiпсiздiктiң жеке менеджерiне мiндеттейтiн бола алады. Еркiн және нақтылы түрдiң қолданылатын қорларының есеп жүргiзудiң менеджерлерiнiң әрбiрi және қосымшалардың сұрау салуларымен сәйкес олардың үлестiрiлуiн жоспарлайды. Мысалы, менеджер виртуалды жад жедел жад дискке беттерiнiң орын ауыстыруымен басқарады және сәйкесінше керi жұмыс істейді. Неткен жүктелгенiн менеджер үндеулердi қарқын зерттеп отыруы керек беткеңiз, олардың жад, мәлiмет қолданушы процесстердiң күйiнде болуды уақыт және ол негiздеймiн әлсiн-әлсiндi бет жүк түсiруге керек екенін және туралы шешiмдi қабылдайтын көп басқа параметрлер. Менеджерiнiң қабылдаған шешiмдерiнiң орындау түрлері төменде жатқанғанға айналады нақты беттердiң (түсiруге ) жүктеуi туралы сұрау салулары бар негiздi тетiктер қабаттайды. Менеджерлер iшiнде қабаттай сол процессорға, жадтың облысының бiрнеше қорларына керек рұқсаттың процесске орындауына бiр уақытта айғақ шағылатын тар өзара байланыстар бар болады болуы мүмкiн, нақтылы файлға немесе енгiзу құрылымына - қорытынды. Мысалы, процесстер менеджер процесстiң жасауында оның кодтары және мәлiметтерге арналған жадтың нақтылы облысын процесске ерекшелеуi керек болған жадтың менеджерiне айналады.

  5. Жүйелiк шақыруларды интерфейсі. Бұл жiк ядроның жiгi ең жоғарғылар болып табылады және қосымшалармен және жүйелiк утилиталармен басқару жүйесiнiң қолданбалы программалық интерфейсi құрастыра тiкелей әрекеттеседi. Жүйелiк шақырулар мұндай кешендi әсерлердiң жүзеге асырулары үшiн функцияларға көмегi үшiндермен қорлардың менеджерлерi қабаттай әдетте айналады, және де бiрнеше мұндай үндеулердi қажет ете алды бiр жүйелiк шақыруды орындауға.

2.8-шi сурет. ОЖ ядросының көп қабатты құрылымы

О Ж ядросының келтiрiлген бөлiктеуi қабатта болып табылады және шарты жеткiлiктi. Олардың арасындағы жiктердiң санын нақты жүйеде және функциялардың үлестiрiлуi бола алады. Мысалы, машина - тәуелдi модулдардың жiгi NetWare-шы ОЖ аппаратты платформалардың тұрпаттастары үшiн қолайлы жүйеде негiздi тетiктердiң жiгiмен қосыла алады және әдетте жартылай,қорлардың менеджерлерiнiң жiгiмен ажыраймайды. Әрдайым қолданусыз қорларды жоспарлай қоймай, одан да басқа өз жоспарларын өз алдына жүзеге асырады, қорлардың менеджерлерi осы жағдайдағы негiздi тетiктерi жеке

2.9-шы сурет. UNIX ОЖ-ң Көп қабатты құрылымы

болуы мүмкiн және ядро жiктердiң үлкен санынан тұратында қарама-қарсы суретте келтірілген. Мысалы, қорлардың менеджерлерi, көп қабатты құрылыммен ядроның нақтылы жiгi, өз кезегiнде құрай ие бола алады. Мысалы, төменгi қабаты қатты дисктiң драйверiнiң құрылымдарының драйверi немесе желiлiк бейiмдеуiштi драйверлердi құрайтын енгiзу-шығаруды менеджерге бұл жад ең алдымен, жоғарғы мәлiметтiң логикалық ұйымымен файл жүйесi немесе торлық қызметтердiң хаттамаларының драйверi, шаруалы қабатта.

Сонымен бiрге нақты ОЖ-дегі жiктердiң өзара әрекеттесуі туралы әдiс схема жоғарыда корсетілген. Ядроның жұмысының үдеулерi үшiн басқа мағынада туралы тiкелей функцияларға төменгi қабат аралық өтiп кете қабаттай болады. Мұндай терiс өзара әрекеттесудi типтi мысал жүйелiк шақыруды өңдеудi бастапқы кезең болып табылады. Жүйелiк шақырудың iске асырулары үшiн көп аппаратты платформаларға программалық үзудi нұсқауды қолданылады. Бұл қосымша негiздi тетiктердiң жiгiнде болатын алғашқы үзулердi өңдеулермен модул iс жүзiнде шақырады, бұл модул ендi керек функцияны жүйелiк шақырулар қабаттай шақырады. Сонымен бiрге жүйелiк шақыруларды өздерiнiң функциясы иерархиялық жiктердiң субординацияларын ядроның негiздi тетiктерiне тiкелей айнала кейде бұзады.

Я дроның жiктерiнiң санының таңдауы жауапты және күрделi iс болып табылады : қабат аралық өзара әрекеттесуге нәсiлдердiң қосымша тiркеме қағаздарының арқасында ядроның жұмысының кейбiр бәсеңдiгiне бағыттал жiктердiң санының үлкеюi, жiктердiң санының кiшiрейтуi жүйенiң кеңейтiлiмдiк және қисындылығын нашарлатады. Мысалы, UNIX-тiң көп болжамдары эволюциялық дамытуды ұзақ жол өткен басқару жүйелерi әдетте айқын ерекшеленген жiктердiң ептеген саны бар реттелген емес ядроларын алады, салыстырмалы жаңадан көрiнген басқару жүйелерiнде, Windows NT-нiң сондайы, ядро жiктердiң саны және олардың өзара әрекеттесуi көбiрек бөлiнген анағұрлым үлкенiрек дәрежеде формалданылған.

ОЖ аппаратты тәуелдiлiк және тасымалданғыштық. Көп басқару жүйелерi әр түрлi аппаратты платформалардың өз құрамында маңызды өзгерiстерсiзiнде ойдағыдай жұмыс iстейдi. Көпшiлiгiнделер бұл сол ұғындырылады, жанында бөлшектердегiнi айырмашылық, компьютерлердiң көпшiлiгiнiң ОЖ-нiң аппаратты қолдауды құралы неткенмен - ең алдымен бұл құралдар көп бiр үлгiдегi сызықтар, атап айтқандаларды бүгiн тауып алды басқару жүйесiнiң компоненттерiнiң жұмыстарына ықпал етедi. ОЖ-ге нәтижелер ядроның машина - тәуелдi компоненттерiнiң тығыз жiгiн ерекшелеуге және өңге жасауға жеткiлiктуге болады әртүрлi аппаратты платформалар үшiн ОЖ ортақ қабатта.

ОЖ-нің аппаратты қолдауын бiр үлгiдегi құралдар. ОЖ-нің функцияларының программалық және аппаратты iске асыруының аралығында айқын шекаралар, ОЖ-нің функциялары программалық орындалатын туралы шешiм бар болмағанында емес, неткен аппаратты, аппаратты және компьютердiң программалық қамтамасыз етуiнiң өңдеушiлерiмен қабылданатынын. Қазiргi аппаратты платформалар түгелдей дерлiктi әйтсе делер келесi компоненттер кiретiн БЖдiң аппаратты қолдаудың құралдарының кейбiр типтi жиындарын алады :

1. ерекше құқықты режимнiң қолдауының құралдары;

2.мекенжайларды хабар жүргiзудiң құралдары;

3. процесстердiң ауыстырып қосуының құралдары;

4. үзулердi жүйе;

5. жүйелiк таймер;

6. жадтың облыстарының қорғау құралдары.

Ерекше құқықты режимнiң қолдауының құралдары процессордың машинаның күйi немесе процессор қорытып айтқанда жиi деп аталатын жүйелiк регистрiнде әдетте негiзделген. Бұл регистр кейбiр белгiлер, процессордың анықтайтын жұмыс тәртiптерi, соның iшiнде және артықшылықтардың ағымдағы тәртiбiнiң белгiсiнде болады. Артықшылықтардың тәртiбiнiң ауысымы үзу немесе ерекше құқықты команданың орындауын нәтижеденiң машинаның күйдiң сөзiнiң өзгерiсiнiң арқасында орындалады. Мысалы, жеңiлдiкпен пайдаланушылықтың градацияларының саны процессорлардың әртүрлi түрлерiнде, (ядро ) немесе төрт ядро - орындау платформада VAX немесе 0-1-2-3 процессорларда Intel x86/Pentium ) екi деңгей әртүрлi өте жиi қолданатын бола алады.

Ерекше құқықты режимнiң қолдауының құралдарының мiндеттерiнде процессордың нұсқауларын белсендi программаны орындауды рұқсат етiлушiлiктiң тексеруiн орындау жеңiлдiкпен пайдаланушылықтың ағымдағы деңгейiнде кiредi.

Мекенжайларды хабар жүргiзудiң құралдары процесс кодтарындағында болатын виртуалды мекенжайларды өрнектеудiң операциясы, нақты жадтың мекенжайларында орындайды. Мекенжайларды хабар жүргiзудiң жанында қолайлы кестелер үлкен көлемдердi әдетте алады, сондықтан олардың сақтауына жедел жадтың облыстарын қолданылады, процессордың аппаратурасы облыстың бұнын тек қана нұсқағыштарда болады.

Процесстердiң ауыстырып қосуының құралдары тоқтаттырылатын процесстiң контекстiнiң тез сақтауы және белсендi болып қалыптасатын процесстiң контекстiнiң қалпына келтiруiне арналған. Мысалы, iшiндегiсi контексттер жүйелiк регистрлер және жеке процесспен байланатын нұсқағыштар процессордың жалпы тағайындауы, (тағы сол сияқтылардың нөл, тасымалдау, асыра толтырудың байрақтары демек ) операциялардың байрақтарының регистрiнiң iшiндегi барлық регистрлерi, сонымен бiрге сол әдетте қосады, процесстiң мекенжайларын хабар жүргiзудiң кестесiне нұсқағыш басқару жүйесi емес. Контекст тоқтаттырылған процесстерiнiң сақтаулары үшiн процессордың нұсқағыштарымен сүйейтiн жедел жадтың облыстарын әдетте қолданылады

Мысалы, контекстi ауыстырып қосу жаңа есепке өту командасы бойынша процессордың нақтылы командалары бойынша орындалады. Мұндай команда процессордың сақталған контексттен регистрге мәлiметтердiң автоматты жүктеуiн шақырады, процесс кейiн не орын үзiлген бұрын созылады.

Компьютерге үзулерiн жүйе сыртқы оқиғаға сезiнiп, процесстердiң орындауы және жұмысты енгiзу құрылымы синхронизациялануға мүмкiндiк бередi - қорытынды, жылдам қайта - бiр программадан басқаға жүру. Үзулердi тетiк кейбiр болжамсыз оқиға немесе процессордың жұмысының циклiмен синхронизацияланбаған оқиғаның есептеуiш жүйесiнде пайда болу туралы процессорды хабарландыру үшiн сол үшiнмен керек. Мысалы, мұндай оқиғалардың мысалдарымен дисктiң контроллерiн мәлiметтердiң блогiнiң жазуы сыртқы құрылымды енгiзу-шығару операциясының аяқтауы қызмет көрсете алады ), регистрдiң асыра толтыруын арифметикалық операцияны дұрыс емес аяқтау ), астрономиялық уақыттың интервалының өтуi. Оның (тағы сол сияқтыларды процессордың сыртқы құрылым контроллерi, таймер, арифметикалық блогi ) көзi үзулер шарттардың пайда болуында нақтылы электрлiк белгiнi шығарып қояды. Бұл сигнал командалардың тiзбегiнiң процессоры, тапсырма берiлген атқарылатын кодпен орындауды бөледi, және үзулердi өңдеудi процедура деп аталатын алдын ала нақтылы процедураға автоматты өткел шақырады. Үзулердi өңдеудi процедураға өткел жан-жақты зерттелетiн аппаратураның процессорларының үлгiлерiнiң көпшiлiгiнде мекенжай бойынша өткелмен ерекше құқықты режимге өткелдi орындауы керек бiр уақытта мүмкiндiк берген (немесе тiптi процесстiң жинағы контекстi ) машинаның күйдiң сөзiнiң алмастыруымен жарысайды. Үзiлген кодтың орындауына қайтаруда үзулердi өңдеудiң аяқтауларынан кейiн әдетте болады.

Үзулер кез келген басқару жүйесiнiң жұмысындағы ең маңызды рөлдердi оның қозғаушы күшi бола тұра ойнайды. Шындығында, БЖдың әсерлерiнiң көбiнесесi әр түрлi түрдiң үзулерiмен басталады. Мысалы, қосымшаларданғы жүйелiк шақырулары тiптi үзудi IBM-шi Intel немесе мэйнфреймдердегi SVCтың процессорларындағы intтiң нұсқауының ядроның тиiстi процедураларының орындауына өткел шамданған арнайы нұсқауға көмегiменнiң көп аппаратты платформаларына орындалады.

Жылдам регистрдiң түрiнде қажеттi жиi жүзеге асырылатын жүйелiк таймер. Таймердiң регистрiне ол үшiндер содан соң автоматты нақтылы жиiлiкпен бiрлiк бойынша шегерген шартты өлшемдердегi тиiстi интервалдың мәнiн программалық жүктеледi. Таймердiң тартуларын жиiлiк, әдеттегiдей, процессордың такты генераторының жиiлiгiмен тығыз байланған. (таймер ескертпе дабылды iстеп шығаратын такты генератормен шатыстырмауы керек бол, компьютердегi синхронизацияланған барлық операциялары, уақыт және календарлық датасының тәуелсiз есептеулерiн апаратын электрондық схемаға батареялылар жүйелiк сағаттармен .) Таймер есептеуiштiң нөлдiк мәндерi табыста басқару жүйесiнiң процедурасымен қаралудан өтетiн үзудi бастайды. Жүйелiк таймерденгi үзулерi жеке процесстер процессордың уақыттарын тұтынатын аңдуға арналған ең алдымен БЖдарды қолданылады. Мысалы, егер уақыт квантының ол ерекшеленген процессi мәлiметiн бiтсе, процесстердiң жоспарлауышының таймерiнен кезектi үзудi өңдеудiң жанында уақытты бөлулердi жүйесiнде басқа процесске басқару ықтиярсыз тапсыра алады.

Программалық кодтың мүмкiндiгiнiң тексеруiн аппаратты деңгейдегi жадтың облыстарының қорғау құралдары мұндай оқу, жазу немесе (басқару тапсыруларында ) орындау операциялар жадтың нақтылы облысының мәлiметтерiмен жүзеге асыруға қамтамасыз етедi. Егер компьютердiң аппаратурасы мекенжайларды хабар жүргiзудiң тетiгiн қолдаса, онда жадтың облыстарының қорғау құралы тетiк бұлар икемделедi. Жадты қорғау бойынша аппаратураның функциялары процессордың ағымдағы коды және үндеу өндiрiп алатын жадтың сегментiнiң артықшылықтарының деңгейлерiнiң салыстыруларында әдетте тұрады.

Бақылау сұрақтары:

  1. Келесі терминдерге анықтамалар беріңіз: бағдарлама, процедура, процесс, процессор.

  2. Процесстің төрт негізгі қалыптары туралы айтып беріңіз.

  3. Үзілулердің негізгі типтерін белгілеңіз және әр типке мәселе көрсетіңіз.

  4. ОЖ яросының анықтамасы және негізгі фкнкциялары туралы айтып беріңіз.

  5. Linux ядросының структурасын анықтаңыз.

  6. Файлдық жүйенің міндеті неде?

Дәріс № 4

Тақырыбы:Процесстерді жобалау және диспетчеризациясын орындау.

Дәрістің сұрақтары:

  1. Жоспарлау сатылары. Жоспарлау мақсаттары.

  2. Жоспарлау кезінде ескерілетін факторлар. Приоритеттер.

  3. Жоспарлау алгоритмі. FIFO (first-in-first-out) принципі бойынша жоспарлау.

  4. Циклдік жоспарлау.

  5. Көпқабаттық кезектер.

Синхронизация мақсаты мен қажеттілігі

Лектердің синхронизациясына қажеттілік тек мультипрограммалық операциялық жүйеде және есептеуіш жүйеде ақпараттық, информациялық қорларды бірге пайдалануға байланысты туады. Лек аралық мәлімет алмасу, мәліметтерді бөлу, процессорға ену және енгізу-шығару құрылғылары кезінде тұйықтауларды жою мақсатында синхронизациялау қажет болады.

Көптеген ОЖ-де бұл құралдар процесс аралық қарым- қатынас –Inter process communications (IPC) , деп аталады, яғни «процесс» ұғымы «лек» ұғымымен түпкі тарихы мазмұндас екені анықталады.

Лекті мультипрограммалық ортада орындау барысында асихрондық мінезге ие болады. Белгілі бір уақытта бұл процестің орындалу кезеңін дөп басып айту қиын. Тіпті бір бағдарламалық режимде тапсырманың торындалу уақытын дәл есептеу мүмкін бола бермейді. Бұл уақытта көптеген жағдайда циклдер санына, енгізу-шығару операцияларын орындау уақытына ықпал ететін, шығыс мәліметтерінің мазмұнына және т.б байланысты болады.

Мультипрограммалық жүйеде бағдарламаны орындау уақыты анықталынбайды. Лектердің үзілу уақыты, олардың қорлық бөліну кезегінде болуы, лектерді орындауға жіберуді таңдау тәртібі – мұның бәрі көптеген жағдайлардың өту қорытындысы болып табылады және кездейсоқ интерпретивті болуы мүмкін. Сәтті жағдайларда есептегіш бағдарламаның ашықталуы мүмкін мінездерін бағалауға болады, мысалы, берілген уақыт аралығында аяқталуы ықтимал.

Сол себепті, лектер жалпы жағдайда (егер програмист оларды синхронизациялауға қажетті шаралар қолданбаса) тәуелсіз түрде асинхронды бір-біріне қарсы бағытталады. Бұлай болуы бір бағдарламаның, жалпы бағдарламалар кодының қызметін атқаруы немесе бірнеше бағдарламалар легі, әр-қайсысы өз міндетін атқаруы тәрізді. Келесі бір жағдайға дейін және оның кезекті активизатциялауына дейін лекті тоқтату арқылы жылдамдығын мақұлдаумен бекітілді. Кез келген процестер мен лектердің әрекеттестігі олардың синхронизациясына байланысты. Синхронизациялау мақсаты кез- келген лектің әрекеттестігіне негізделеді де, қорлады бөлу немесе мәлімет алмасуға байланысты бола алмайды. Мысалы: алушы легі мәліметтерді тек қана лек жіберуші оларды буферге орналастырғаннан кейін ғана ала алады. Егер алушы легі мәліметтер буферге түспей жатып әрекет ететін болса , онда ол әрекет тоқтатылады.

Аппараттық қорларды бірлестіре пайдалану барысында да синхронизациялау қажет. Мысалы: ( белсенді лекке жүйелі портқа ену қажеттілігі туған кезде) күту режимінде тұрған монополиялық тәртіпке белгілі бір лек жұмыс жасап жатқанда, белсенді лекке жүйелі портқа ену қажеттілігі туған жағдайда, ЖС белсенді лекті уақытша тоқтатады және оны өзіне қажетті порт босағанға дейін активизациялайды. Есептеуіш жүйеде де синхронизациялау қажеттілігі жиі туындайды, мысалы; Ctrl+ C пернелерін басу реакциясы. Қорларды бөлу және босатуға байланысты секунд сайын жүздеген жағдайлар болып тұрады, осы кезде лектерді синхронизациялауға мүмкіндік бере алатын сенімді әрі өнімділігі жоғары ЖС құрамдары болуы керек.

Операциялық жүйе сияқты қосалқы бағдарламалар легін синхронизациялауда програмист өзіндік құралы ретінде пайдалана алады. Мысалы: қосалқы процестің екі бірдей легі өзіндік жұмысын бірнеше оқиғаларды орындау арқылы біреу ғана орнатылатын басты-қисынды өзгерткіш арқылы үлестіруге бағыттай алады.

Бірақ көптеген жағдайларда едәуір нәтижелі немесе бірден –бір мүмкіндіктердің бірі синхронизациялау құралдарының бірі операциялық жүйеде, жүйелі шақырту үлесінде болуы мүмкін. Міне осылай әртүрлі процеске тән лектер бір – бірінің жұмысына қандайда бір жолмен әсер ете алмайды. Олар операциялық далансыз бір –бірін тоқтата алмайды немесе болған оқиға туралы хабарландыра алмайды. Операциялық жүйеде синхронизациялау құрамы тек қосалқы процестерді синхронизациялап қана қоймай, сонымен қатар ішкі қажеттіліктері үшін де пайдаланылады.

Әдетте операциялық жүйені өңдеушілер програмистерге қолданбалы және және жүйелі спектрлі синхронизациялау құралдарын пайдалануға мүмкіндік береді. Бұл құралдар фунционалдық арнайы жабдықтау әрі мейлінше қарапайым құралдарды едәуір күрделі ұүралдар орнын басуға тырысқанда лерархия құра алады, мысалы, бір процестік синхронизациялау легі мен түрлі процестер синхронизациялау легі арасында мәлімет алмасу барысындажәне т.б. синхронизацияның түрлі жүйелік шақыртуларының фунционалдық жиі тосқауланады, бұл жағдайда бір тапсырманы шешу барысында програмист өз қалауына сәйкес бірнеше шақыртуларды пайдалана алады.

Процеспен әрекеттесу қажеттілігі туатын жағдайлар:

  • бір процестен екінші процеске ақпарат берілуі;

  • процестің ықпал етуін бақылау ( мысалы, олар бір қап үшін таласқан кезде);

  • процестік әрекеттердің келісілуі(мысалы, бір процесс мәліметтерді қойса, екіншісі оларды баспаға жібереді).

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

Екі жағдайда лектерге байланысты. Бірінші жағдайда лектерде мәселе туындамайды, себебі олар жалпы адрестік кеңістікте қолданады.

Мәлімет алмасу бірнеше тәсілдермен жүзеге асырылады:

  • бөлінуші жад;

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

  • Бір компьютердегі сияқты бүкіл желіде ортаның ерекшелігі жасыратын және процесстерге бірлесіп әрекет қылуға біркелкі мүмкіндік беретін, яро мен механизмді сүйемелдейтін құралы сокеты деп аталады.

  • Пошталық жәшіктер (Windows-та ғана), біржаққа бағытталған, кең хабарлама жіберу мүмкіндіктері:

өшірілген процедураны қалпына келтіру, немесе А процесі В процесінде процедураны шақыру мүмкіншілігі және мәліметтерді қайтадан алу.

Синхронизациялау қажеттілігі. Синхронизациялау сұрақтарына немқұрайлылық комплекті жүйеде тапсырманы дұрыс шешуге немесе жүйенің күйреуіне әкеліп соқтырады. Мысалы: (4.1.1.суреттегідей) кейбір кәсіпорындарда тұтынушылардың мәліметтік қорын енгізу тапсырмасы.

Деректер базасындағы көптеген жолдардың ішінде төлем және тапсырыс жолы бар, әрбір тұтынушға жеке жазба жұмыстары жүргізіледі. Деректер базасын орындайтын бағдарлама бірнеше лектен тұратын; соның ішінде А легі деректер базасында тұтынушылардан келіп түскен тапсырыс беру туралы ақпарат енгізсе, В легі деректер базасында тұтынушыларға есептеме төленді, ұсынушы біріңғай процес ретінде құралды. Үш қадамдық әрекеттерді іске қосатын біртиптік алгоритмді пайдаланып. Бұл екі лекте деректер базасының жалпы файлына бірлесе әрекет етеді.

  1. Деректер базаснда тұтынушы туралы тапсырылған теңестірілуімен буферге жазуды есептеу.

  2. Тапсырыс (А легі үшін) немесе Төлем (В легі үшін) жолдарын жаңа мағына беру.

  3. Деректер базасына модификацияланған жазба енгізу.

М әліметтерді бөлуге ену барысы. А легі үшін А12 және А3, В легі үшін В12 және В3 қадамдарына сәйкес лектерін белгілейміз, N тұтынушы туралы тапсырыс жазбасын А легі қажет болған жағдайда жаңарта алу үшін. Бұл үшін ол өзі буферінде (А1 қадам) жазба енгізу, Тапсырыс (А2 қадамы) мазмұнын модификациялайды, ал деректер базасында (А3 қадамы) жазба енгізуге үлгермейді, себебі оның орындалуы тоқтатылады, мысалы уақыт квантының аяқталуы. В легінде N тұтынушысына сәйкес мәлімет енгізу қажеттілігі туды деп есептейік. В легінің кезегі келгенде, ал өз буферінде (В1) жазбасын енгізіп үлгереді және төлем (В қадамы) жолын жаңартуды орындайды. Содан кейін тоқтатылады. Бұдан В легінде N тұтынушысы туралы жазба енгізілген, ал тапсырыс жолы бастапқы қалпында мағынасы өзгертілгендігін байқаймыз.

Егер А легіне кезекті түрде басқару берілген кезде, ол өз жұмысын жалғастыра отырып, N тұтынушысы туралы деректер базасына тапсырыс (А3 қадамы) жолының модификацияланған жазбасын енгізеді. А легін тоқтатып, В легін активизацияланғаннан соң, N тұтынушысы туралы деректер базасындағы төлем жолының соңғы жаңартылған өз нұсқасын енгізеді. Бұл жағдайда деректер базасында N тұтынушысының жүргізген төлемі туралы ақпарат сақталады да, тапсырыс туралы ақпарат жойылады. (Н.2,а-суреті) Синхронизациялау мәселесінің қиындықтары пайда болатын жағдайлардың ретсіздігіне байланысты жоғарыда көрсетілген мысалдағы оқиға желісін басқалай дамытуға болады: тапсырыс туралы ақпараттың жойылуы. (Н.2,б-суреті) немесе керісінше барлық түзетулер сәтті енгізіледі. (Н.2,в-суреті) Бұның барлығы лектердің жылдамдығымен тоқтатылу уақытына сәйкес анықталады. Сондықтан лек аралық қарым-қатынас күрдеіл қатынас болып табылады. Жоғарыда көрсетілгендей немесе одан да көп лектер белгілі бір бөлімдерді өңдеуі және қорытында нәтиже лектердің жылдамдығына сәйкес болуы лектер жарысы деп аталады.