Файл қосу

Процесспен басқару



ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
ШӘКӘРІМ АТЫНДАҒЫ СЕМЕЙ МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ
                                       
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
Тақырыбы:Операциялық жүйелерге кіріспе
Дәрістің сұрақтары:
* Операциялық жүйе. Анықтамасы және міндеті.
* Операциялық жүйелердің функциялары.
* Операциялық жүйелердің негізгі қасиеттері.
* ОЖ даму тарихы.
* ОЖ классификациясы.

Анықтама
Операциялық жүйе  -  прграмма жиынына, көмпютерлік ақпаратты қамтамасыз етеді. Және де компютерлік қондырғы бағдарламалық қуаттылықты қадағалайды, операциялық жүйенің негізгі міндеті қондырғыны жүйелі және қолждануға ыңғайлы болуын қадағалайды. Операциялық жүйе рациональды қондырғыны басқару жүйесінде ең жоғары сапада болуын қадағалайды. 
   Операциялық жүйенің негізгі міндеті  -  ол ресурстық басқару, ол компьютерлік қондырғылар:
* Процессор,
* Жады,
* Кірістік  - шығыстық құрылым
 Операциялық жүйе әртүрлі функциялары ұйымдастырылады, оларға: 
* Интерфейстік қолдануды анықтау,
* Кондырғы ресурсын қолданылатын ресурсын ажыратуды қамтиды,
* Бір режимдегі қолданыстармен жұмысты қамтиды,
* Ортақ ресурстарға қолданысты болдыруды қадағалайды
Операциялық жүйенің қандай функцияны қамтитынына қарамастан, ол эксплуатанциондық қажеттерді қамтуы тиіс, және де келесідей сапаға иелі болуы қажет. 
* Сенімділік. Сенімділік біраз көлемдік жүйеде сенімді болу қажет, қандай қондырғыда болса да. Бағдарлама немесе қондырғыда жүйе қателіктерге ие болса, онда ол қателікті тауып және сол кезінде жөндеуге тиіс. 
* Қорғау. Жүйе кедергілерден сақтануы керек. 
* Тиімділігі. Операциялық жүйе программалық жүйеде күрделі комплексті қамтиды. Бұл жүйе экономды болуы қажет, көп ресурс қолданушыда қалу үшін. 
* Болжаушылық. Бағдарламаны іске қосқанда, қолданушы өзінің күткен нәтижесін болжай білу қажет. 
* Ыңғайлылық. Операциялық жүйе қолданушыға ыңғайлы болуы қажет. 
  Операциялық жүйе, компьютерлік қондырғының аналогтығы, өзінің даму жолында радикалдық қатармен өзгеріп отырды, осыны жалғасу деп атайды. 
Нолдік жалғасу (40 жылдар).
Ең алғашқы есептеуіш машиналарда Операциялық жүйе болмаған, қолданылатын бағдарламалар машиналық кодта болған. 
Алғашқы жалғасу (50 жылдар)
Операциялық жүйенің 50 жылдардағы негізгі ерекшеліктері жеделдету құрлысында және тапсырмадан тапсырмаға көшуде болып табылады.  Ең алғашында опреациялық жүйеде концепция атауы жүйелі файлдарда пайда болады. (мысалыға, стандартты жүйелі файл шығыс- кіріс).
50 жылдардың аяғында меншіктік фирмалар  -  операциялық жүйедегі компьютерді қолдануда келесідей мінездеме қойды:
* Пакеттік тапсырма,
* Кіріс  - шығыс немесе басқару жүйесі  IOCS  -  input-output control system
* Автоматтық өзгеріс бір бағдарламадан екінші бағдарламаға өту.
* Қатерден кейін  қалпына келтіру
* Қолданушға өзінің тапсырмасын түсінікті етіп жеткізу
Зерттеуші лабраториялық фирма General Motors ең алғаш 50 жылдары операциялық жүйені өздерінің компьютерінде IBM-701-де жасап шығарған деп саналады. 
Екінші жалғастыру (60жылдар)
Операциялық жүйе мультипрограммалық тәртіпте  жұмыс ретінде құрылады, бұл кезде бірнеше қолданушы бағдарламалар бір негізгі компьютерлік жадыда болады, ал орталық процессор бір тапсырмадан екінші тапсырмаға ауысады. 
  Мультипроцессор типіндегі алғашқы жүйе пайда болады, егер жалғыз санауыш комплекс бірнеше процессорда болса, осы мультипроцессор  комплекстік қуаттылықты арттыру үшін пайда болды. 
   Операциялық жүйеде уақытты бөлгіш пайда болады, олар диалогтық немесе интерактивтік режимде жұмысты қамтиды. 
  Осы жылдары алғаш тиімді уақыт жүйесі пайда болды, бұл кезде компьютерлер техникалық процеске қолданылды. 
   Сондай  - ақ  Burroughs фирмасы өзінің компьютеріне В5000 - ОS MCP (Master Control Program  -  негізгі басқарушы бағдарлама), мұнда жаңа заманға сай концепциясы бар операциялық жүйе құрылды;
* Мультибағдарлама;
* Мультипроцесс;
* Виртуалды жады;
* Операциялық жүйенің жоғары бөліктегі жазылуы;
* Белгілі бір тілде бағдарламалау.
Үшінші жалғастыру (70-жылдар)
Үшінші жалғастырудың пайда болуы операциялық жүйенің IBM фирмасы 1946 жылы System/360 компьютерін дәл келді, бұл компьютерлер ортақ машина ретінде құрылған. Операциялық жүйенің үшінші  жалғасудағы ерекшелігі көпрежимді жүйе болуында болып табылады. Операциялық жүйе үшінші жалғасуда бағдарлама қамтуында ерекше орынға ие болды. 

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

Дәріс № 2
Тақырыбы:  Аппараттық жабдықтар және бағдарламалық қамсыздандыру
Дәрістің сұрақтары:
* Аппараттық құрал түсінігі.
* Орта процессоры және оның жұмыс істеу тәртіптері.
* Мультипроцессорлық өңдеу.
* Жадтың қабаттары. Көшу регистрі.
* Жадыны қорғау.
* Перифериялық құралдар және олардың жұмыс істеу тәртіптері.
* Виртуалды жад. Жадқа тікелей кіріс.
* Жадының иерархиясы.
* Бағдарламалық қамсыздандыру.

Аппараттық құрал  -  компьютер орнатылымы: процессор, жады орнатылымы, кіріс-шығыс орнатылымы, және де берілген құралды қабылдау жіберу. 
        Орталық процессор және оның жұмыс істеу режимі.   Екі режиімге көңіл бөлгеніміз дұрыс: тапсырма режимі (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)опреративті, ішкі жады т.б осы жадылардың барлығы иерархия жадын құрайды. 

Бақылау сұрақтары:
* Жадының қабаттасу концепциясы неде негізделеді?
* Қарапайм және екілік буферизацияның айырмашалақтары неде?
* Жадыны қорғау тәсілдері.
* Спулинг түсінігі туралы айтыңыз.
* Жадыға тікелей кіріс қалай ұйымдастырылады?
* Селекторлық жіне мультиплекстік каналдардың айырмашалақтары.
* Виртуалды жадыны қолдану тәсілі  қандай мүмкіндіктерді береді?
 
Дәріс № 3
Тақырыбы: Процесстер. ОЖ ядросы.
Дәрістің сұрақтары:
* Процесс. Процесстің күйлері.
* Процесстермен операциялар орындау.
* Үзілістерді өңдеу. Үзілістер типтері.
* ОЖ ядросы. Ядроның негізгі функциялары.
* ОЖ иерархиялық структурасы.
* Linux ОЖ архитектурасы.

Процесс. Процесс ұғымы 60 жылдан бастап, операциялық жүйе программасында пайда болды.  Мынаны ескеруіміз керек: программа бұл  -  файлды жүктеу немесе оны дискке сақтау (мысал ретінде), ал процесс - осы әрекеттердің өту этаптары. 
Процесстің жағдайы.  Енді негізгі үш процесстік жағдайды қарастырамыз. 
* Сол уақытта орындалған орталық процессордың бөліну процесінің жұмысының орындалып жатқанын айқындайды. 
* Орталық процессорды қолданып  әрекеттерді орналастырса, процесстің жұмысы орындалып болғанын айқындайды.
* Жұмыстың орындалу барысында күтпеген жағдайдың орын алуы, процесстік жағдайдың блокталғанын айқындайды.
Процесстің жұмыс жағдайы. Процестің басқару жүйесінің орындалуы келесі  қатармен жүргізіледі: 
Процесстің құрылуы. Процесстің құрылуына РСВ басқару процессі, алғашқы ресурстық процестің шығуы және т.б 
Процесстің жойылуы. Процестің жойылу барысында шығарылған ресурстар жүйеге енгізіліп, кез-келген тізім және кестелер өшіріліп қалады, ал басқару блогындағы процесс кеңейеді. 
Процесстің тоқтатылуы. Тоқтату процесі жұмысы қандайда бір процесстің көмегімен іске асырылады.
Іске қосу процессінің өзгеруі.  РСВ процестік модификациялық жағдайлардағы операцияны білдіреді. Бұдан басқа да блоктау, жіберу, іске қосу процестері қолданылады.  
ОЖ қосымша модуьдері және Ядро. ОЖ структуризациясы оның барлық модуьдерінің екі топқа бөлінуіне ортақ болып келеді:
* Ядро  - ОЖ басты функцияларын шешуші модульдері.
* ОЖ көмекші функцияларын шешуші модульдері.
Ядролық модульдер ОЖ мынадай базалық функцияларын орындайды: процесстерді басқару, жадыға сақтау, шығыс-кіріс құрылғыларын басқару  және т.с.с. Ядро ОЖ жүрегінен тұрады онсыз ОЖ толығымен жұмыс істеу қабілетінен айырылады және де бірде бір өзінің функцияларын орындай алмайды.
Ядроның құрамына кіретін функциялар, ішкі-жүелік есептердің шешуші құрамды процестері, мынадай:
* контекстерді ауыстыру.
* беттердің жүктеу/выгрузка
* үзілулерді өңдеу
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)  - жұмыс істейтін каталогты өзгертеді.
                                    Win32s
                                 Windows NT5.0
                                 Windows NT4.0
                               Windows 95/98/Me
                                  Windows 3.x
                Win 32 Қолданбалы программа 


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








                                       
                                       
                                       
                                       
                                       
            Сурет.2.1. Win32 API Windows интерфейсі
Функциялар, ядро модульдерімен орындалатын ОЖ функциясы болып келеді, сондықтан олардың орындалу жылдамдығы жүйенің толығымен бар қабілетін анықтайды. Барлық ОЖ жұмыс істеу жылдамдығымен қамтамасыз ету үшін ядро модульдері және де олардың үлкен бөліктері әрқашан жедел есте сақтау жадысында болады, демек резидентті болады.
Ядро компютерлік жүйедегі барлық есептеуіш процестерді қозғаушы күші болып келеді, және ядроның құлауы барлық жүйенің құлауымен тең. Сондықтан ОЖ құрастырушылар ядро кодтарының қауіпсіздігіне ерекше көңіл бөледі, нәтижесінде процесс пен олардың отладка көп айларға созылуы мүмкін.
Кейде ядро арнайы форматтың кей программалық модульдері ретінде рәсімделеді, пайдаланушылық қосымша форматтардан ерекшеленеді.
Қалған ОЖ модульдері аса қажетті бірақ аз міндетті функцияларды орындайды. Мысалы, мұндай көмекші модульдерге мыналар кіреді:
* Мәліметтерді архивтеу программасы.
* Дискті дифрагменттеу.
* Тексттік редакторды.
ОЖ көмекші модульдері кейде қосымша түрінде, кейде процедуралар кітапханасы түрінде рәсімделеді.
Сол себепті ОЖ кейбір компаненттері қарапайым қосымша ретінде рәсімделген, демек стандартты модульдердің берілген ОЖ форматында орындалу ретінде берілгендіктен, ОЖ мен қосымшалар арасына нақты шектеу қою өте күрделі де жиі болады.
Қандайда бір программа ОЖ бөлігі болама жоқпа екендігін, ОЖ қабілеттілігі шешім қабілдайды. Көп факторлардың ішінде осы шешімге әсер ете алатын, берілген ОЖ потенциялдық қолданушылардың программаға сұранысы көлемді болуы маңызды болып келеді. Кейбір программа берілген уақытта пайдаланушылық қосымша ретінде бола алады, ал содан кейін ОЖ бөлігі болады және керісінше болады. Осыған мысал ретінде Microsoft компаниясының Web-браузер пограммасының өзгеру статусы келеді, әлгі жеке қосымша ретінде бастапқыда Windows NT 4.0 және Windows 95/98 ОЖ бөлігі болды, ал бүгінгі күні сот шешімінде бұл браузер қайта тұрақты қосымшаға айналуына үлкен мүмкіндік бар.



                                       
                               ОЖ ядросы








                                       
                                       
                                       
                       - ОЖ қосалқы модулі
                                         - Қолданушы қосалқыс

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

Ерекше артықшылығы бар режимдегі ядро. Қосымшалардың орындалу жүрісін қауіпсіз басқаруда ОЖ қосымшаға деген ерекше артықшылықтары болуы қажет. Ендеше оның дұрыс жұмыс істемейтін қосымшасы ОЖ жұмысына кедергі болуы мүмкін, мысалы, оның кодтар бөлігін, ОЖ құрастырушылардыңбар жіберген күштері бос әурешілік болып қалады егер олардың шешімдерінің орындалуы қосымша молдульді жүйеден қорғамайды, қандай элегантты және эфектті шешімдер болмасын. Компьютер ресурстарының мультипрограммалық режимінде қосымшамен араларындағы дауда арбитрдың ролін ойнау үшін ОЖ ерекше қасиеттері болуы керек. Еш бір қосымша ОЖ бұйрығынсыз қосымша есте сақтау құралын алу мүмкіндігі жоқ, және процессорда ОЖ  - де берілген уақытынан артық  ұстауға, сыртқы құралдармен  қатар атқаруға рұқсат жоқ.
Арнайы аппараттық құралдардың көмегінсіз ОЖ ерекше артықшылықты қолдаумен қамтамасыз ету мүмкін емес. Компьютердің аппаратурасы аз дегенде екі режимді ұстауы қажет:
* Қолданушы режимі (user mode)
* Ядро режимі деп аталатын ерекше артықшылығы бар режим (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 кешен болмен ядро болғандықтан, онда көп қабатты жолға әдетте ядроның құрылымына да таралады.
Ядро келесі қабаттардан тұрады:
*      ОЖ-нің аппаратты қолдауының құралдары. Басқару жүйесi туралы осыған дейiндер айтылған программалардың кешенi  сияқты , бiрақ жалпы айтылғандар, ОЖ-дің функцияларының бөлiгi аппаратты құралдармен де орындала алады. Сондықтан программалық және аппаратты құрал, не жиынтық қалай басқару жүйесiнiң анықтауымды кейде кездестiруге болады. 3.8. суреттегі табиғи, басқару жүйелерiне әкетедi, компьютердiң барлық емес аппаратты құрылым емес, есептеуiш процесстердiң ұйымдарында тiкелей қатысатын ОЖ-дің аппаратты қолдауды тек қана құралы, демек : ерекше құқықты режимнiң қолдауының құралдары, үзулердi жүйенi, тағы сол сияқтыларды контекст процесстерiнiң ауыстырып қосуды құралы, жадтың облыстарының қорғау құралы.
*      ОЖ-ге тәуелд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н.
*      Ядроның негiздi тетiктерi. Бұл жiк дисктегi жадтан беттерiнiң контекст процесстерiнiң программалық ауыстырып қосу өте қарапайым ядро операциялары, үзулердi диспетчеризацияны, орын ауыстыруын орындайды және тағы сол сияқтылар керi. Рет мәлiметтiң модулдары, не беттiк қабаттардың модулдарға арналған олардың атқарғыш механизмдарымен деп атауға қабаттай тек қана олар ресурстарды бөлу туралы шешiмдердi қабылдамайды шешiм қабылданған жоғарыда жан-жақты зерттейдi бередi. Мысалы, осы уақытта ағымдағы процесстiң орындауын үзетiн және процесстiң орындауы бастауы керек болатын туралы шешiм, жоғары жатқан жiкте процесстердiң менеджерiмен қабылданады, негiздi тетiктер қабаттаймын процесстiң контекстiне ағымдағы процесстiң контекстiнен ауыстырып қосу орындауы керек болған процесстiң контекстiне ағымдағы процесстiң контекстiнен ауыстырып қосу орындауы керек болған туралы тек қана нұсқау берiледi.
*      Қорлардың менеджерлерi. Бұл жiк есептеуiш жүйенiң негiзгi қорларымен басқару бойынша стратегиялық есеп iске асыратын қуатты функционалдық модулдардан тұрады. Жiк мәлiметте әдетте процесстердiң (диспетчерлермен сонымен бiрге деп аталатын ) менеджерi, енгiзу-шығару, файл жүйесi және жедел жадтар жұмыс iстейдi. Мысалы, менеджерлер және файл жүйесiнiң менеджерi өзгеректерге бөлiктеу енгiзу-шығаруды менеджермен кейде бiрлестiруге, негiзiнендердiң жүйеге қолданушыларының рұқсатты басқару функциясы және оның жеке объекттерiне қауiпсiздiктiң жеке менеджерiне мiндеттейтiн бола алады. Еркiн және нақтылы түрдiң қолданылатын қорларының есеп жүргiзудiң менеджерлерiнiң әрбiрi және қосымшалардың сұрау салуларымен сәйкес олардың үлестiрiлуiн жоспарлайды. Мысалы, менеджер виртуалды жад жедел жад дискке беттерiнiң орын ауыстыруымен басқарады және сәйкесінше керi жұмыс істейді. Неткен жүктелгенiн менеджер үндеулердi қарқын зерттеп отыруы керек беткеңiз, олардың жад, мәлiмет қолданушы процесстердiң күйiнде болуды уақыт және ол негiздеймiн әлсiн-әлсiндi бет жүк түсiруге керек екенін және туралы шешiмдi қабылдайтын көп басқа параметрлер. Менеджерiнiң қабылдаған шешiмдерiнiң орындау түрлері төменде жатқанғанға айналады нақты беттердiң (түсiруге ) жүктеуi туралы сұрау салулары бар негiздi тетiктер қабаттайды. Менеджерлер iшiнде қабаттай сол процессорға, жадтың облысының бiрнеше қорларына керек рұқсаттың процесске орындауына бiр уақытта айғақ шағылатын тар өзара байланыстар бар болады болуы мүмкiн, нақтылы файлға немесе енгiзу құрылымына - қорытынды. Мысалы, процесстер менеджер процесстiң жасауында оның кодтары және мәлiметтерге арналған жадтың нақтылы облысын процесске ерекшелеуi керек болған жадтың менеджерiне айналады.
* 	Жүйелiк шақыруларды интерфейсі. Бұл жiк ядроның жiгi ең жоғарғылар болып табылады және қосымшалармен және жүйелiк утилиталармен басқару жүйесiнiң қолданбалы программалық интерфейсi құрастыра тiкелей әрекеттеседi. Жүйелiк шақырулар мұндай кешендi әсерлердiң жүзеге асырулары үшiн функцияларға көмегi үшiндермен қорлардың менеджерлерi қабаттай әдетте айналады, және де бiрнеше мұндай үндеулердi қажет ете алды бiр жүйелiк шақыруды орындауға.

97155040640
2.8-шi сурет. ОЖ ядросының көп қабатты құрылымы
                                       
381001672590ОЖ ядросының келт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келей айнала кейде бұзады.
2381252107565Ядроның ж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ң салыстыруларында әдетте тұрады.
Бақылау сұрақтары:
* Келесі терминдерге анықтамалар беріңіз: бағдарлама, процедура, процесс, процессор.
* Процесстің төрт негізгі қалыптары туралы айтып беріңіз.
* Үзілулердің негізгі типтерін белгілеңіз және әр типке мәселе көрсетіңіз.
* ОЖ яросының анықтамасы және негізгі фкнкциялары туралы айтып беріңіз.
* Linux  ядросының  структурасын анықтаңыз.
* Файлдық жүйенің міндеті неде?
Дәріс № 4
Тақырыбы:Процесстерді жобалау және диспетчеризациясын орындау.
Дәрістің сұрақтары: 
* Жоспарлау сатылары. Жоспарлау мақсаттары.
* Жоспарлау кезінде ескерілетін факторлар. Приоритеттер.
* Жоспарлау алгоритмі. FIFO (first-in-first-out) принципі бойынша жоспарлау. 
* Циклдік жоспарлау.
* Көпқабаттық кезектер.
Синхронизация мақсаты мен қажеттілігі 
Лектердің синхронизациясына қажеттілік тек мультипрограммалық операциялық жүйеде және есептеуіш жүйеде ақпараттық, информациялық қорларды бірге пайдалануға байланысты туады. Лек аралық мәлімет алмасу, мәліметтерді бөлу, процессорға ену және енгізу-шығару құрылғылары кезінде тұйықтауларды жою мақсатында синхронизациялау қажет болады.
Көптеген ОЖ-де бұл құралдар процесс аралық қарым- қатынас  - Inter process communications  (IPC) , деп аталады, яғни   <<процесс>> ұғымы <<лек>> ұғымымен түпкі тарихы мазмұндас екені анықталады. 
Лекті мультипрограммалық ортада орындау барысында асихрондық мінезге ие болады. Белгілі бір уақытта бұл процестің орындалу кезеңін дөп басып айту қиын. Тіпті бір бағдарламалық режимде тапсырманың торындалу уақытын дәл есептеу мүмкін бола бермейді. Бұл уақытта көптеген жағдайда циклдер санына, енгізу-шығару операцияларын орындау уақытына ықпал ететін, шығыс мәліметтерінің мазмұнына және т.б байланысты болады. 
Мультипрограммалық жүйеде бағдарламаны орындау уақыты анықталынбайды. Лектердің үзілу уақыты, олардың қорлық бөліну  кезегінде болуы, лектерді орындауға жіберуді таңдау тәртібі  -  мұның бәрі көптеген жағдайлардың өту қорытындысы  болып табылады  және кездейсоқ интерпретивті болуы мүмкін. Сәтті жағдайларда есептегіш бағдарламаның ашықталуы мүмкін мінездерін бағалауға болады, мысалы, берілген уақыт аралығында аяқталуы ықтимал. 
Сол себепті, лектер жалпы жағдайда (егер програмист  оларды синхронизациялауға қажетті шаралар қолданбаса) тәуелсіз  түрде асинхронды бір-біріне қарсы бағытталады. Бұлай болуы бір бағдарламаның, жалпы бағдарламалар кодының  қызметін атқаруы немесе бірнеше бағдарламалар легі, әр-қайсысы өз міндетін атқаруы тәрізді. Келесі бір жағдайға дейін және оның кезекті активизатциялауына дейін лекті тоқтату арқылы жылдамдығын мақұлдаумен бекітілді. Кез келген процестер мен лектердің әрекеттестігі олардың синхронизациясына байланысты. Синхронизациялау мақсаты кез- келген лектің әрекеттестігіне негізделеді де, қорлады бөлу немесе мәлімет алмасуға байланысты бола алмайды. Мысалы: алушы легі мәліметтерді тек қана лек жіберуші оларды буферге орналастырғаннан кейін ғана ала алады. Егер алушы легі мәліметтер буферге түспей жатып әрекет ететін болса , онда ол әрекет тоқтатылады.
Аппараттық қорларды бірлестіре пайдалану барысында да синхронизациялау қажет. Мысалы: ( белсенді лекке жүйелі портқа ену қажеттілігі туған кезде) күту режимінде тұрған монополиялық  тәртіпке белгілі бір лек жұмыс жасап жатқанда, белсенді лекке жүйелі портқа ену қажеттілігі туған жағдайда, ЖС белсенді лекті уақытша тоқтатады және оны өзіне қажетті порт босағанға дейін активизациялайды. Есептеуіш жүйеде де синхронизациялау қажеттілігі жиі туындайды, мысалы; Ctrl+ C пернелерін басу реакциясы. Қорларды бөлу және босатуға байланысты секунд сайын жүздеген жағдайлар болып тұрады, осы кезде лектерді синхронизациялауға мүмкіндік бере алатын сенімді әрі өнімділігі жоғары ЖС құрамдары болуы керек.
Операциялық жүйе сияқты қосалқы бағдарламалар легін синхронизациялауда програмист  өзіндік құралы ретінде пайдалана алады. Мысалы: қосалқы процестің екі бірдей легі өзіндік жұмысын бірнеше оқиғаларды орындау арқылы біреу ғана орнатылатын басты-қисынды өзгерткіш арқылы үлестіруге бағыттай алады. 
  Бірақ көптеген жағдайларда едәуір нәтижелі немесе бірден  - бір мүмкіндіктердің бірі синхронизациялау құралдарының бірі операциялық жүйеде, жүйелі шақырту үлесінде болуы мүмкін.  Міне осылай әртүрлі процеске тән лектер бір  -  бірінің жұмысына  қандайда бір жолмен әсер ете алмайды. Олар операциялық далансыз бір  - бірін тоқтата алмайды немесе болған оқиға туралы хабарландыра алмайды. Операциялық жүйеде синхронизациялау құрамы тек қосалқы процестерді синхронизациялап қана қоймай, сонымен қатар ішкі қажеттіліктері үшін де пайдаланылады.
    Әдетте операциялық жүйені өңдеушілер програмистерге қолданбалы және және жүйелі спектрлі синхронизациялау құралдарын пайдалануға мүмкіндік береді. Бұл құралдар фунционалдық арнайы  жабдықтау әрі мейлінше қарапайым құралдарды едәуір күрделі  ұүралдар орнын басуға тырысқанда лерархия құра алады, мысалы, бір процестік синхронизациялау легі мен түрлі процестер синхронизациялау легі арасында мәлімет алмасу барысындажәне т.б. синхронизацияның түрлі жүйелік шақыртуларының фунционалдық жиі тосқауланады, бұл жағдайда бір тапсырманы шешу барысында програмист өз қалауына сәйкес бірнеше шақыртуларды пайдалана алады. 
    Процеспен әрекеттесу қажеттілігі туатын жағдайлар: 
* бір процестен екінші процеске ақпарат берілуі;
* процестің ықпал етуін бақылау ( мысалы, олар бір қап үшін таласқан кезде);
* процестік әрекеттердің келісілуі(мысалы, бір процесс мәліметтерді қойса, екіншісі оларды баспаға жібереді).

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

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

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

Екілік өзгерткіштікке сәйкес әр бір сыный мәліметтер жинағына келесідегідей қойылады: лек 0 мағынаға ие болғанда, сыный секцияға енгенде және одан шықанда мағынасы 1. 4.3. суретте F(D) бекіту өзгерткіштігіне D сыный мәліметтеріне сәтті қосылуды дамыту мақсатында пайдалынатын лектердің алгоритімдік фрогменті көрсетілген. Сыный секцияға шығар алдында,  D мәліметтерімен қандайда бір лек жұмыс істеп тұрмағандығын тексереді. Егер өзгерткіштік F(D) 0 қасиетте орнатылған болса, онда берілген тапсырма мен циклдық тексеру қайталанады. Сегер жинтық мәліметтер (F(D) = 1) болса, онда өзгерткіштік мағынасы F(D) 0 қасиетте орналасады да лек сыный секцияға шығады. О мәліметтерімен лек толық жұмысын аяқтаған соң, F(D) өзгергніштігі қайтадан 1 қасиетпен теңеседі. 
   Бекіту өзгерткіштігі тек қана бөлінетіе мәліметтерге ғана қолданылмайды сонымен қатар бөлінетін қорлардың әр түрлеріне де пайдаланылады. 
    Егер барлық есептер жоғарыда көрсетілген тәртіппен орындалса онда лектердің сәтті қосылуларына кепілдік беріледі. Солай болғанмен де кез  -  келген уақытта, кез  -  келген жерде соның ішінде сыный секцияда да операциялық  жүйе ықпалымен үзілуі мүмкін. 
    Сонда да бір нәрсені ескеруіміз қажет, үзілісті шектеудің бір тәсілі бар екендігін. Бекіту өзгерткіштігін орнату және тексеру операциясының орындалуы барысында үзуге болмайды. Мысалы: тексеру барысында қордың бос екендігі анықталысымен, 0 өзгерткіштікті орнатып үлгермей лек үзіледі. Оның тоқтатылуы кезінде басқа лек қормен жұмысын жалғастырады, сыный секцияға кіріп ол да  бөлінген қормен өз жұмысын аяқтамастан үзіледі. Бірінші безекке баақару мүмкіндігі берілісен, ол қорды бос екен деп қабылдап, өзіндік сыный секциясының жұмысын бастайды. Осылайша өзара қатынас принціптері бұзылады да, потециалды түрде нашар қорытындыға әкеліп соқтыртады. Осындайжағыдайларды болдырмаудың алдын алу үшін көптеген компьютерлердің жүйелік командаларында біріңғай, бөлінбейтін сараптау мен логикалық өзгерткіштік қасиет беру командалары қарасырылған (мысалы: ВТС, BTR және ВТ5 командалары мен Pentium процессі).  Процессорда осындай командалар болмаған жағыдайда, текесеру және орнату опреациясын орындау барысында үзілісті болдырмаудың арнайы жүйелік 1 негізі қалыптастырылуы керек. 
Жоғарыда көрсетілген өзара байланыстың дамытылуының тәсілі мынадай жетіспеушілктерден тұрады: бір лек сыный секцияда тұрғанн уақытта,  осы қор қажет келесі бір лек процессорға ену құғығын алысымен өзіне қажетті бекіту өзгерткіштігін қайта  -  қайта сұрауы мүмкін, ал бұл дегеніміз басқа бір лекті орындауда пайдаланылатынпроцессор уақытын текке кетіру деген сөз. Осы жетіспеушіліктерді толықтыру үшін көптеген ОЖ арнайы сыный жүйедегі жүйелік шақыртулар қарасытырылуда.

4.4. суретте Windows NT операциялық жүйеде жоғарыда көрсетілген функциялардың көмегімен өзара байланыс орнатылған. Сыный мәліметтерді өзгертудің алдында лек EnterCriticalSection  жүйелік шақыртуын орындайды. Осы шақырту шеңберінде алдыңғы жағыдайдағыдай алдымен, сыный қордың жағыдайын көрсететін бекіту өзгерткіштіктің тексерілуі орындалады.  Егер жүйелік шақырту (F(D) - 0) қорының бос еместігін анықтағаннан кейін, алдыңғы көрсетілген жағыдайдағыдай емес, циклдық сұраныс жасамай, лекті D) күту режиміне ауыстырады және осы лек сәйкесінше қор босағаннан кейін активациялануына белгі жасайды. Осы уақытта қорды пайдаланып жатқан лек сыный секциядан шығысымен LeaveCriticalSection  жүйелік фнукциясын орындауы қажет, осының нәтижесінде бекіту өзгерткіштік мағынаға ие болады да, (F(D) - 1) қоры босайды, ал операциялық жүйе осы қорды күту режимінде тұрған лектерді қарастырып, бірінші кезекте тұрған лекті дайындық жағыдайына жібереді.
1114425107315 
4.4. сурет сыный секцияға ену және шығуда өзара байланысты орнатуда қолданылатын жүйелік фнукцияларды дамыту 
Осылайша бос емес қорды босатудың циклдық тексерілуіне кететін өнімсіз процессор уақытын жоюға болады. Бірақта сыный секцияның жұмыс көлемі аз болып, бөлінген қорға ену уақыты жылдам берілетін болса, онда бұл жағыдайда бекіту өзгерткіштік жүйесін пайдаланған дұрыс. Шынында да бұл жағыдайда ОЖ сыный секцияға ену және шығуда өзара байланысты орнатуда қолданылатын жүйелік фнукцияларды дамыту күтке үнемділікті керісінше жоғарлатуы мүмкін. 

Бақылау сұрақтары:
* Тапсырмалар жоспарлаушысы аралық деңгейлер жоспарлаушысы және диспетчердің араларындағы айырмашылықтары туралы айтып беріңіз.
* Жоспарлаудың негізгі мақсаттары.
* Қарастырылған жоспарлау алгоритмдер арасындағы айырмашалықтарды белгілеңіз.

Дәріс № 5
Тақырыбы:Параллельді процесстердің синхронизациясын орындау.
Дәрістің сұрақтары:
* Параллельді өңдеу.
* Критикалық аумақтардың мәселелері.
* Төменгі деңгейдегі параллельді процесстерді синхрондау.
* Жадыны блоктау.
* Деккер алгоритмі.
* Семафорлар.
Процесс- ол орындалу режимінде болатын программа. Әр бір процесспен оның адрестік кеңістігі байланысады,одан ол оқи алады және онда ол мәліметтерді жаза алады.
Адрестiк кеңiстiк құрамында :
* Программаның өзін
* программаға мәлiметтер 
* программның стегі
Әрбiр процесспен регистрлердiң жиыны байланыстырылады, мысалы:
* Командалар есептеуішi(процессорда )  -ол  кезек тұрған ,орындалатын  команданың адресі бар регистр. Жадыдан команда таңдалған соң, командалар есептеуiшi өзгертіледі және нұсқағыш келесi командаға өтедi,
* стектiң нұсқағышы;
* және т.б.
Көптеген операциялық жүйелерде әрбiр процесс туралы мәлімет  , қосымша iшiндегi оның меншiктi адрестi кеңiстiгiне, операциялық жүйенiң процесстерiнiң кестесiнде сақталады :
Процесспен басқару
Жадымен басқару
Файлдармен басқару 
Регистрлер
Команда есептеуіш           Стектiң нұсқағышы
Процесстің күйі
Приоритет
Жоспарлау параметрлері
Процесстің идентификаторы 
Ата-аналық процесс
Процесс группасы
Процесстің басталу уақыты
Қолданған процессірлік уақыт
Текстік сегменттің нұсқағышы
Мәліметтер сегментінің нұсқағышы
Стек сегментінің нұсқағышы
Түпкі каталог
Жұмыс істейтін каталог
Файл дескрипторлары
Қолданушы идентификаторы 
Топ  идентификаторы
ОЖ мультипрограммалауды қолдау  үшін, процессор мен компьютердің  басқа да ресурстарын бөліп тұратын жұмыстың iшкi бiрлiктерiн өзi үшiн анықтап ресiмдеуi керек. Қазіргі кезде  операциялық жүйелердің көпшiлiгiнде жұмыс бiрлiктерiнiң екi түрi анықталған. Үлкенірек жұмыс бiрлiгi, әдетте процесс немесе есеп атын иеленеді,өзі  орындауындалуы үшін бiрнеше майдарақ жұмыстарды талап етедi,оларды  анықтау  үшін <<ағын>> немесе <<желi>> терминдердiн қолданады.
Бұл терминдерді пайдаланғанда көп кезде қиындықтар туындайды . Бұл бірнеше себептерден болады. Бiрiншiден, - ОЖ әр түрлі спецификасынан мә магынасы жағынан бірдей бірақ аттары басқа,мысалы OS/2, OS/360  - дағы (task) амалы және UNIX, Windows NT, NetWare  - дегі просесс. Екiншiден, жүйелiк программалаудың дамытуы кезінде  және есептеу ұйымның әдiстерi бойынша бұл терминнің кейбiрі жаңа мағына алды, <<ағын>> жаңа ұғымының  көптеген  қасиеттерiне жол берген ,әсiресе бұл <<процесс>> терминіне байланысты . Үшiншiден, терминологиялық күрделiлiктер ағылшын тiлі терминінің орыс тiлi аудармасында  бiрнеше варианттарының бар болуынан туады.Мысалға, <>термині <<желі>>, <<ағын>>, <<оңайланған процесс>>, <<шағын амал>> және т.б. деп аударылады.Сосын ОЖ-нің бірлік жұмыстары ретінде <<процесс>> және<<ағын>> терминдері қолданылады.
Бұл ұғымдар арасында айырмашылық маңызды рөл  атқармайтын жағдайда  , олар қосалқы <<амал>>терминіне бiрiгедi.
Есептеуiш жүйенiң кез келген жұмысы кейбiр программаның орындауында болатыны анық. Сондықтан  процесспен де, ағынмен де белгілі бір программалық код байланысты,  бұл мақсат үшiн қолданылатын  модуль түрiнде безендіріледі. Бұл программалық код орындалуы үшiн, оны жедел жадыға жүктеу керек, мәлiметтi сақтауға арналған дисктегi кейбiр орынды ерекшелеп, енгiзу-шығару  құрылғыларына рұқсат беру, мысалғамодемге Портудың қосылған осығандарға мәлiмет бойыншаларын алуына бiртiндеп Портуға мысалы,файлдарға, TCP/UPD портарына, семафораларға. Программаның оған берілген процессірлік уақытынсыз орындалуы мүмкін емес,яғни бұл процессордға берілген программаның кодын  орындауға арналған уақыт. 
Процесстер де ағындар да бар операциялық жүйелерде,бұнда процесс- процессорлық уақыттан басқа,қорлардың барлық түрiн тұтынуға мәлiмдеме сияқты  қарастырылады. Ағындар бұл- басқа да жұмыс бірліктерінің арасында операциялық жүйемен анықталатын ақарғы,ең маңызды қор. 
 Ең қарапайым түрде процесс  бiр ағыннан тұрады,бұндай ұғым80-шi жылдардың ортасына дейiн айтылған(мысалы,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 мақсаттар үшін операциялық жүйелер көпағынды өңдеу (multithreading ) механизмін ұсынады.Сонымен бiрге,жаңадан жұмыс бірлігі енгізіледі-  орындау ағыны, ал <<процесс>>   ұғымы   мағынасын  өзгертедi. <<Ағын >>  ұғымына процессордың программаның  бiр командадан басқаға бір командаға өтуі сәйкес келеді. ОЖ ағындардың,арасындағы процессорлық уақытты үлестiредi. ОЖ процесске барлық оның ағындарымен қолданылатын, адрестік кеңістік және қорлардың жиынын тағайындайды.
 ОЖ ағындарды жасауда процестерден қарағанда азырақ шығындарды талап етедi. Процесстерге қарағанда, бiр процесстiң барлық ағындары  әрқашанда бір программаға жатады, сондықтан ОЖ анағұрлым кiшiрек дәрежедегi ағындарын қорғайды, дәстүрлi мультипрограммалық жүйедегі процесстерге қарағанда. Бiр процесстiң барлық ағындары ортақ файлдар, таймерлер, құрыдғылар,жедел жадыдағы бір облысты, бір адрестiк кеңiстiкті пайдаланады. Бұл олардың   бiр глобалдi айнымалы бөлетiндігін бiлдiредi. Әр ағын процессордың кез-келген вертуалдық адреіне рұқсаты болғандықтан,бір ағын келесі бір ағынның стегін пайдалана алады. Бiр процесс ішіндегі  ағындардың арасында толық қорғаныс  жоқ, өйткенi, бiрiншiден, бұл мүмкiн емес, екiншiден бұл керек емес. Өзара әрекеттесу және мәлiмет алмасу үшін , ағындарға ОЖ  жүгінуі керек емес , оларға ортақ жадыны  қолдану жеткiлiктi -  бір ағын мәлiметтердi жазады , басқасы  оларды  оқып отырады. Басқа жағынан  әртүрлi процесстердің   ағындары бiр-бiрiнен бұрынғысынша жақсы қорғанған .
Сонымен, ағындардың  деңгейдегі  мультипрограммалау процесстерге қарағанда ,тиiмдiрек. Әрбiр ағын меншiктi командалар есептеуiшiн және стегін  алады. Бiр процесстiң шеңберiнде бiрнеше ағындар түрінде ресiмделген амал,оның жеке бөліктерінің  жалған параллель орындалуының арқасында   тезірек орындала  алады. Мысалы, егер электронды  кесте  көпағынды  өңдеудiң мүмкiндiктерiнiң есепке алуымен жасалса, онда қолданушы өз жұмыс парағының қайта есебiн сұрауға және бiр уақытта кестені толтыруды  жалғастыра алады. Әсіресе көпағындылықты таралған қосымшаларды орындауда тимді пайдалануға болады,мысалға  көпағында сервер бірнеше клиенттерден параллельді түрде сұрау жасай алады.
Ағындар қолдануы параллельді  есептеулерi арқасында  ж үйенiң өнiмдiлiгiн жоғарылату ғана емес, ол оқылатынырақ, қисынды программаларды  жасау  мақсатымен.Орындалудың  бірнеше агымдарды енгизу программалауды онайлатады.Мысалы, <<жазушы-оқырман>> амалдарында бір ағын буферге жазуды,ал келесісі одан оқиды. Ағындарды  қолданудың  басқа мысалы- сигналдармен басқару ,(del немесе break ) клавиатураданды үзілулерімен. Бiр ағынның үзілу сигналының өңдеулерi орынына сигналдың түсуiнiң тұрақты күтуiне белгiленедi.Сонымен, ағындарды қолдану қолданбалы деңгей үзулерiндегi қажеттiлiк қысқарта алады.Бұл мысалдарда  параллель  орындаудан қарағанда,  программаның анықтығы маңызды.
 Процесстер мен  ағындарды жасау. Процессті жасау-бұл ең алдыменмен процесс суреттемесiн жасауын  бiлдiреді, бiр немесе бiрнеше ақпараттық құрылымдар ретiнде шығады, , басқаруға арналған басқару жүйесiне қажеттi, процесс туралы барлық мәлiметтері бар.Мысалы, мұндай мәлiметтердiң санына атқарылатын модулдың жадындағы орналастырылуы туралы процесстiң идентификаторы, мәлiметтер кiре алады, тағы сол сияқтыларды (басымдылық және қол жеткiзу құқығы ) процесстiң жеңiлдiкпен пайдаланушылығының  дәрежесi. Процесстiң суреттемелерiнiң мысалдарымен OS/360 ішінде  (Task Control Block ) тапсырманы басқару блок болып табылады, OS/2 ішінде (Рсв -Process Control Block Рсв ) процессi басқарушы блок, UNIX  ішіндегі процесс дескрипторы, процесс  -  объектісі  Windows NT ішінде, (object-process ).
Процесстiң суреттемесiнiң жасау, есептеуiш қорларға  жүйедегi тағы бiр  талапкердiң пайда болуын өзiменмен белгiлейдi. Осы моменттен  бастап  ОЖ ресурстарды бөлуде, жаңа процесстiң қажеттiгiнiң есептеуi тиiс. 
Процесстi жасауда берілген процесстiң  дискісінен жедел жадысына  орындалатын программаның кодтар және мәлiметтерін жүктеуiн талап етеді . Бұл үшін  дисктегi мұндай программаның тұрған орынын бiлдiруi, жедел жадты қайта үлестiруi және жаңа процесстiң орындалатын программасына жады бөлуі  керек. Содан соң  оған берілген жадтың бөлiмшелерiнің программасын санау  керек және, жадыда  орналасуына  байланысты программаның параметрлерін өзгерту,мүмкіндігі бар.Виртуалды жадысы бар жүйелерде бастапқыда процесстiң  кодтар және мәлiметтерің тек қана бөлiгi жүктеле алады, қалған <<қосымша жүктеулер>> керек болғанда.Кейбір жүйелерде процесті жасау барысында кодтар мен мәліметтерді жедел жадыға жүктеуді керек етпейді,бұның орнына атқарылатын модуль бастапқыда орналасқан файлдық жүйе каталгынан көшіріледі ,жүктелу облысына-процестердің кодтары мен мәліметтерін сқтауға арналған дисктегі арнайы облыс.Бұл барлық әрекеттердің орындалуы барысында процестермен басқарудың шағын жүйесі жады және файлдық жүйемен басқарудың шағын жүйесі тығыз әрекеттеседі. 
Көпағынды  жүйеде процесс құруда,ОЖ әр процесс үшін орындалу бір ағынын жасайды. Осылай ағынның жасауында, сонымен қатар процесстiң жасауында, операциялық жүйе арнайы информациялық структураны белгілейді  - ағынның суреттеуіші, ол ағынның идентификаторын құрайды, қол жеткiзу құқығы және басымдылық туралы арнайы ақпаратты, ағынның күйi туралы мәлiметті және тағы басқаларды  мәлiметтердi құрайды . Ағын бастапқы күйінде тоқтаттырылған күйде болады.Ағынды таңдау моментінде орындалуы берілген жүйеде қабылданған ережеге сай қазіргі уақытта бар ағындар мен процесстерге процессорлық уақыттың берілуімен орындалады. Егер процестің кодтары және мәлiметтерi жүктелу облысында болса, процесстiң ағынының активизациясының керектi шарты оның атқарылатын модулының жүктеуге арналған жедел жадтағы орынының бар болуы болып табылады.
Процесстi жасау. Процесстердi жасауға алып келетін  үш  негiзгi оқиғалар(fork немесе CreateProcess шақыруы ) :
* Жүйенің жүгінуі
* Істеп тұрған процесс процесті жасау үшін жүйелік шақыру жасайды
* Процесті жасау үшін қолданушының сұранысы
Барлық жағдайларда, белсендi ағымдағы процесс жаңа процесстiң жасауына жүйелiк шақыруды жiбередi. UNIX-та  әрбiр процесске (PID - Process IDentifier ) процесстiң идентификаторы тағайындалады.
 Процесстi аяқтау. Процесстiң тоқтауына алып келетін төрт оқиға(exit немесе ExitProcess шақыруы )  :
* Жоспарлы аяқталу (орындауды аяқтау )
* Белгiлi қате бойынша жоспарлы шығу (мысалы, файлдың жоқтығы)  
* Түзелмейтiн қателiк бойынша шығу (программадағы қателiк )
* Басқа процесспен жою
Уақыша тоқтатылған процесс  жадтың түрі деп аталатын(core image )  меншiктi адрестi кеңiстiгiнен тұрады, және (компоненттердiң санында және оның регистрлерi ) процесстердiң кестесiнiң компоненттерi.

 Процесстердiң иерархиясы. UNIX жүйелердегi процесстердiң қатты иерархиясы салған. Fork жүйелiк шақыруымен жасалған  әрбiр жаңа процесс,алдыңғы процесске тәуелдi болады. Аналықтан тәуелді процеске ауыспалылар,регистрлар және т.б. тиді. Fork  шақыруынан кейін,аналық мәліметтер көшіріліп алынғаннан кейін ақ , бiр процесстердегi келесi өзгерiстерi басқаға ықпал етпейдi, бiрақ процесстер қайсысы аналық екенін есте сақтайды. Олай болса UNIX  - те барлық процесстердiң ата-анасы болып  -  init процессi табылады.

  
         3.1. сурет UNIX  жүйесі үшін процесстер ағашы

Windows  - та  процесстердiң иерархиясы деген ұғым жоқ. Ішкi процессті тексеруге мүмкiндiк беретiн, аналық процесске арнайы таңбалағышты беруге болады.
 Процесстердiң күйi. Процесстiң үш негiзгi күйлерi  болады:
* Орындау (процессорда орналасады ) 
* Дайындық (процесс басқа процесске орындалуға мүмкiндiк беру үшiн уақытша  тоқтаттырылған ) 
* Күту (процесс iшкi себептерге байланысты iске қосыла алмайды,мысалы, енгізу/шығару операцияларын күтуде ) 

              Сурет. 3.2. Күйлердiң арасындағы өткелдер болу мүмкiндігі.

1. Кiру мәлiметтерiн күте, процесс қоршауға алынады 
2. Жоспарлауышы басқа процесстi таңдайды 
3. Жоспарлауышы бұл процесстi таңдайды 
4. Кiру мәлiметтері келіп  түстi
2 және 3 өткелдер операциялық жүйесiнiң процесстерiнiң жоспарлауышысымен шақырылады, сондықтан бұл өткелдер туралы процесстер білмейді де,процесстердің көз қарасы бойынша  екi күйi  бар екен олар орындау және күту.
Клиенттiң сұрауға жауабының тездетуі  үшiн серверлерде, көбінесе күту режимінде  бiрнеше процесстерді жүгіндіреді,сервер сурауды алғанда, процесс "күтуден""орындауға"  өтедi. Бұл өткел жаңа процесстiң iске қосуына  қарағанда әлдеқайда  тез орындалады.
Монитор (monitor)-ақпараттар  структурасы мен процедуралар  жиынтығы  және де  әр кезде  бір ғана процесс  қолдануы мүмкін.  Маниторды біз  бір  бөлме  сияқты  елестетсек,  онда  ол  бөлменің  кілті  болады, ол  кілтпен  кезек  -кезек  процесстерді  орналастырады.
 	 Мониторға  ену  нақты  бақылауда  - әр  уақытта бір ғана  процесске  енуге  мүмкіндік  бар.  Монитордың  бір  процесспен  жұмыс  істеуі  кезінде келесі бір  процессті  жіберсек, онда  манитор  оған  тасу  режимін  қосады.
Wait () және Signal ()командалары.
	Егерде  маниторда  бір процесс  жүріп жатса, оған тағы  бір  процесске  құрау  жасасақ, онда манитор  Wait  күту  режимін  қосады. Манитор Wait  командасы мен  тоқтатса, онда маниторға бір шарт қойсақ, сонда бірақ жұмысқа кіріседі.  Содан  кейін  Signal  командасы  маниторға  жұмыс істеліп  жатқан  процесс  босатылды деп  хабарлайды.

Монитор , екілік семафорды  орналастыру
Операцияның  орындалуы  Р және  V  бөлікте  семафор S, манитордың  көмегімен  қарастырсақ. Мұндай  алгоритм Хоара алгоритмі  болып танылған.
Мониторда  статикалық  ақпараттық  структураларымен бір  немесе  бірнеше  параллельдік  процедуралар  орындалады.  Мынаған  қараған кезде  манитор -  пассивтік  белгі  болып  табылады және  манитор процесс  берген кезде  ғана  жұмыс істейді, ал процесс  енгізілмесе  онда  ол  тыныштық  күйін   сақтайды.
Monitor Семафор;
	S : integer;
	S_POSITIVE: condition; {бұл процесс блокта  тұрған кезде тоқтатпайды}

	procedure P;
		begin
			if S<1 then Wait(S_POSITIVE);{орындалуды  тосу үштінде}
					S:=S-1
		end;

	procedure V;
		begin
			S:=S+1;
			if S=1 then Signal(S_POSITIVE);{жұмыстың  орындалғанын  білдіретін  дыбыс}
		end;
 begin
		S:=1
 end;

Монитордың  көмегімен Хоара  алгоритмін  екі  алгоритммен    қосуға  болатындығын.  Мұнда  манитор  шақырғанда  Р және  V  -ны  манитор  бұларды Семафор Р  және Семафор  V деп  шақырады.
begin
	Parbegin 
	Процесс_Х:
		begin
			While (true) do
			begin
			Call (Cемафор.Р);
			{Критический участок Процесса_Х};
			Call(Семафор.V);
  			{Оставшиеся операторы Процесса_Х}
			end
		end;

	Процесс_Y;
begin
			While (true) do
			begin
			Call (Cемафор.Р);
			{Критический участок Процесс_Y};
			Call(Семафор.V);
  			{Оставшиеся операторы Процесса_Y}
			end
		end
Parend
end.

Бақылау сұрақтары:
* Синхронизация түсінігі.
* Синхронизация тәсілдері
* Параллельді процесстер деген не?
* Деккер алгоритмінің принциптері.
* Семафорлық примитивтер түсінігі.
Дәріс № 6
Тақырыбы: Тұғырықтар.Тұғырықтардың пайда болу себептері. Олармен күресу.
Дәрістің сұрақтары:
* Тұғырықтар. Тұғырықтар пайда болу үшін қажетті шарттар.
* Тұғырықтарды болдырмау стратегиясы.
* Банкир алгоритмі.
* Тұғырыұтарды анықтау. Ресурстарды тарату графтары.
* Петри желілері.
* Тұғырық мәселесі үшін Холт моделі.
Тұғырықтар
	Тұғырықтар және өмірлік қалған проблемалар  -  маңызды факторлар, ОЖ ескеретін факторлар.
	Тұғырық (deadlock)  -  бұл мультипрограммалық жүйе ситуациясы, бұл жаңалық болады деп тосады бірақ олай болмайды.
	Қарапайым тұғырыққа мысал келтірілетін болсақ ОЖ-гі тупикте ресурстардың байқалу процессі кезінде басқа процеспен кедергіге ұшырайтын жағдайлар да болады.
	Спулинг жүйесі(кіріс-шығыс буферизациясымен) тупикке қатер әкеледі.
	Негізгі тұғырық кезіндегі қажетті шарттар
Негізгі тупик кезіндегі қажетті шарттар:
* Бірлестік шарты;
* Ресурстарды күту шарты;
* Дөңгелек күту шарты.
Негізгі тұғырықтардың пайда болуының шарттары. 1971 жылы Коффман, Элфик және Шошани тұйықтарды тудырудың төрт шартын қисынға келтірді:
* (Mutual exclusion) тұйықталулардың пайда болуының шарты. әрбір процес бір ғана лек үшін бөлінген нмесе енуге рұқсат етілген. Процестер өздеріне бөлінген қорларды монополиялық басқаруды қажет етеді.                          
* қорларды күту шарттары (Hold and wait). Процесстер өздеріне бөлінген қорларды ұстап тұрады және сол уақытта қосымша бөлінетін қорларды күтеді (басқа процесстердің әсерінен кідірген қорларды) 
* Қайта таратпау шарттары (No preemtion). Алдын  -  ала берілген қор процестен мәжбүрлі түрде алынылмайды... оларды ұстап тұрған процес арқылы ғана босатылады. 
* дөңгелек күту шарттары (Circular wait).  Басқа процестер шынжырлы түрде талап ететін, әр  -  бір процесс бір немесе оданда көп қорларды ұстап тұруы мүмкін, сол жағыдайда процестердің сақиналы шынжыры болады.  
Жазылған бағдарлама көмегімен тұғырықты шектеуге болады, лектердің өзара жылдамдығына байланысты тұйықталуларды болдырмаудың арнайы бағдарламасы жазылуы қажет.мысалы 4.7 суретте көрсетілген А және В лектерінің бірдей тәртіппен қорлдарды сұрады сұраса, онда тұйықталу тууы мүмкін емес еді. Тұйықталуды болдырмаудың едәуір тиімді жолы бар, ол ОЖ әрбір тапсырма жіжеру алдында олардың қорға қажеттілігі мен осы мултибағдарламалық  қосапда туындайтын тұйықталуларды сараптайды. Солай болған жағыдайда жаңа тапсырманы енгізу уақытша шегеріледі. ОЖ сонымен қатар лекреге 
Қорларды тағайындауда анықталған тәртіпті пайдалануы мүмкін, мысалы, қорлар операциялық жүйеде, анықталған тәртіппен барлық лектерге ортақ бөлінуі мүмкін. 

Тұғырықтан кейінгі қалыптасу. Тұғырықты табу ол фактіні орнату, осы жағдайға қатыстырылған барлық процестер мен қорларды және тұйықталуларды анықтау.  Тұйықталу жағдайының алғашқы үш шарты орындалғанда табу алгартитімдері пайдаланылады. Содан кейін дөңгелек күту режімі тексеріледі. Осы жағдайда еске түсірілген жолдардағы қорларды бөлу белсенді пайдаланылады. 
Анықтау алгоритімі өзіне жүктелген міндеттерді толықтай орындап тұйықталуды табады делік. Содан әрі не болады. Тағы бір жолы қалпына келтіріліп жүйені арықарай жүмыс істетеді. Осы бөлімде біз тұйықталудан кейінгі қалпына келтірудің түрлі тәсілдерін қарастырамыз. 
   Тұйықталуда тұрған жүйені, оның қалыптасуының бір шартын бұзу арқылы тұйықталудан алып шығуға болады. Осыған байланысты атқарылған жұмыстардың бірнеше лектері толдық немесе бөлшекті қорытындысын жоғалтады. 
   Факторлармен бірге қалпына келтіру қиындықтары                           
* көптеген жүйелерде процесті тоқтатудың тиісінше нәтижелілігі жоқ, оны жүйеден алып шығып және оны нәтижесіне сәйкес қайта қалыптастыру
* егер ондай жүйе болған күнде де, ол көп шығын мен оператор назарын көп қажет етеді
* күрделі тұйықталудан кейінгі қалпына келтіру көп жұмысты қажет етеді    

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

Кейін шегіну арқылы қалпына келтіру. Бұл барынша мүмкін, ең нәтижелі тоқтату және қайта құрудың тәсілі 
Жүйе тізбегінде қорытынды нүкесі бар рестар құрамы (белгілі бір уақыт мөлшерінде жүйенің жағдайының сақталуы). Оларды қосалқы бағдарлама дайындаушылары әзірлеу керек. Егер жүйені жобалаушылар тұйықталу мүмкін екенін білсе, онда олар процесстер үшін қорытынды нүктесін дайындай алады. 
Тұйықталу анықталғанда, онда қандай қорлар дөңгелек күту цикліне қатысқанын байқауға болады. 
Бір процесті жою арқылы қалпына келтіру. Тұйықталуды шектеудің ең қарапайым, дөрекі тәсілі  -  бір немесе одван да кп процестерді жою. Мысалы циклдегі процесті жою. Онда қалған процестер сәтті орындалуы мүмкін. Егер бұл көмсектеспесе онда тағы бір процесті жоюға болады. 
Басына қайта келтіру мүмкін болатын процесті жою мүмкіншілігі жақсы болар еді, мысалы компиляция.  Екінші жағынан алғанда деректер базасынывң мазмұнын өзгертуге ықпал ететін процес қайта қалпына келтірілуі әрқашан мүмкін болмайды.
Қорларды бөлу арқылы тұйықталуларды шектеу. Процесс еркіне пайдалануға берілген қор бұл қауіпті еместігіне шешім қабылдауы қажет. Мұнадай сұрақ туады: тұйықталулардан қашатын және дұрыс шешім қабылдайтын алгоритім бар ма? Жауабы  -  бар, біз тұйықталулардан қаша аламыз, егер белгілі біа ақпарат алдын ала анықталуы мүмкін болса. Осы секцияда біз тұйықталудың алдын алу жұмыстарын қорларды түпкілікті бөлу арқылы жүргізуді қарастырамыз.
Тұйықталулардың алдын алу алгоритімдері қауіпсіз жағдайлар концепциясына негізделеді
Банкирлердің тұйықталулардың алдын алуы және алгоритімдері. Тұйықталулардаң қашуға болады егер қорларды рационалды түрде пайдаланып, белгілі бір тәртіпті ұстай отырып. Алгоритімдер арасында кеңінен танымалы ол  -  Дейкстрой ұсынған, банкирлік алгоритім. 
Жүйедегі n құрылғы бар делік, мысалы лента. Алгоритім тәртібі төмендегідей:
10 құрылғы іске қосылған, ал 2 құрылғы қосалқы бар, 12 құрылғымен үш тұтынушы жұмыс істейтін жүйе сенімділігіне мысал келтірейік. Ағымдағы жүйе төмендегідей:
	
Ағымдағы саны
Максималдық қажеттілік
Бірінші тұтынушы
1
4
Екінші тұтынушы
4
6
Үүшінші тұтынушы
5
8

Дәл осы жағыдай сенімді. Жүйе ең алдымен екінші тұтынушына қанағаттандырады да өзінің 6 құрылғысыныың босағанына дейін күтеді. Содан кейін басқа тұтынушыларды қанағаттандыра алады. 
Міндетті түрде тұйқталу болады деген термин сенімді жүйеде қолданылмайды. Ол тек қана сәтсіз жағыдайларда жүйе тұйықталуға түсіп қалуы мүмкіндігін ескертеді.
 Банкир алгоритімінің жетіспеушілігі. Бағдарлама дайындаушысы тұйықталу мәселесін шешудің басқа тәсілдерін пайдалануға соқтыратын, банкир алгоритімінің жетіспеушіліктері төмендегідей:
* Банкир алгоритімі бекітілген қорлар санына сәйкес орындалады
* Он требует, чтобы число работающих пользователей оставалось постоянным
* Осы алгоритім белгілі уақыт аралығында тапсырысты қанағаттандыруды талап едеді 
* Алгоритім тұтынушылар қорларды қайтаратындығына кеілдік беруін талап етеді.
* Тұтынушылар алдан ала қорлар санын көрсетуін талап етеді. Қорлардың динамикалық бөлінуіне сәйкес тұтынушыларға қажетті қорлар сенын анықтау өте қиын. 
Пайда болу шарттарын бұза отырып тұйықталуды шектеу.Берілген тапсырма туралы ақпаратсыз қандай жүйе тұйықталудың алдын ала алады? Бұл сұраққа жауап беру үшін тұйықталуды тудырудың үш шартына оралайық. Бөлінген уақыт соңында бір қызмет қанағаттандыра алмайтындай жүйе жұмысын қалыптастыра алсақ онда тұйықталу болуы мүмкін емес. 
 Өзара байланыс шарттарын бұзу. Егер жүйеде бөлінген қорлар болмаса тұйықталу болмайды. Егер де жалпылау қасиеті болса мысалы принтерге өзара хауз тудыра отырып екі процесті бір принтеде орындауға болады. Спулинг арқылы бірнеше процесті бір уақытта орындау мүмкін. Бұл жағдайда тұйықталу болмайды. 
   Өкінішке орай барлық құрылғыларда спулинг ұйымдастыру мүмкін емес, спул-буферінде дискілік кеңістікк потенциялды бәсеке туындап жағымсыз нәтиже туындайды. 
Қосымша қорлардың күту тәртібінің шарттарының бұзылуы. 1968 жылы Хавендер төмендегі старатегияны  ұсынды: 
* әрбір процес өзіне қажетті қорлардықолма қол талап етуі қажет және барлық қорлар мүмкін болғанға дейін жұмысты бастамау керек. 
* Егерпроцесс жұмыс істеу барысында қосымша қорды бөлу мүмкін болмаса онда ол бастапқы пайдаланған қорларды босатып, қосымша қор бөлінген соң әрекетін қайта бастауы керек. 
Бұл дегеніміз барлық процестер орындау алдында барлық қажетті қорларды толықтыруына мүмкіндік берудіңбір тәсілі. Егер жүйе барлық процессқажеттілігін бере алса онда ол өз жұмысын аяқтағанға дейін әреке ете алады. Егер бір қор бос болмаса онда бүкіл процесс тосу режимінде болады. 
Қайта бөлірмеу принціптерін бұзу. Хавендердің екінші тәсілі арқылы процесстер жұмысын аяқтағанан соң қажетті қорларды алу.  Егер бұл әрқашан мүмкін болса тұйықталудың үшінші шартын орыгндама-ақ жұмысты аяқтауға болар еді. Егер процесс жұмыс істеп отырған қорды уақыт аяқталмай босатуға тура келсе, онда ол барлық атқарған жұмыстарын жоғалтады. можно отбирать ресурсы у удерживающих их процессов до завершения этих процессов. 
     Бұл сызбаның жетіспеушілігі оның жекелеген қорларында дикременация болуы, яғни қорларды жиі алып кету. 
Дөңгелек күту режімін бұзу. Бір ғана шарт қалды. Циклдық күтуден аврылудың ешбір жолы жоқ. 
Әр бір процес белігілі бір уақытта бір ғана қорды иелене алады, деген тәптіппен олардың бірі әрекет етеді.  Егер екінші қор қажет болса біріншіні босат. Бірақ бұл тәртіп көптеген процестер үшін қолданылуы мүмкін еместігі айқын.  
   Немесе әрбір қорға нөмір берім процес кезінде өсу ретімен қорларды талап етді қалыптастыру. Сонда дөңгелек күту режімі туындауы мүмкін емес. 
Бақылау сұрақтары:
* Бір процесс қатысқан тұғырық мысалысын келтіріңіз.
* Үш процесс және үш ресурс бар тұғырық мысалысын келтіріңіз.
* Тұғырық болудың  негізгі төрт шарттары.
Дәріс № 
Тақырыбы: Жадыны басқару. Жадты басқару стратегиясы.
Дәрістің сұрақтары:
* Жадтың иерархиясы.
* Жадыны ұйымдастыру түрлерінің эволюциясы.
* Жадыны парақтық және сегменттік ұйымдастырудың ерекшелңктері.
* Жадыны басқару стратегиялары.
Жадыны  басқару. Жады дегеніміз оперативті сақтау құрылысы, қатқыл дискіге қарағанда, ішкі жады деп атайды. Оперативті жадыны сақтау үшін әрдайым электр тоғы қажет. Жады ішкі ресурс болып табылады, мультибағдарламалау кезінде жүйенің өту тәсілі көбейеді, бірақ бөлек жолды процесс бір бағдарламалық режимде орындалғаннан гөрі өзі ешқашан тез орындала алмайды. Жадының негізгі қызметі, процессор жұмысты жадыда сақтаған кезде ғана орындайды.
Мультибағдарламалық жүйедегі жадыны басқару оперативтік жүйенің функциялары:
* Бос және толық жадыны тексеру;
* Жадыны процесстерге бөлу және процесс біткенде  жадыны тазарту;
* Негізгі жадыға барлық процесстер симаған кезінде, оперативтік жадыдан дискіге процесстер шығару;
* Оперативті жадыда орын босағанда, процесстерді сонда қайтару;
* Физикалық жадының нақты аймағына бағдарлама мекен-жайын жөңдеу;
Жадыны басқарудың барлық әдістерін екі классқа бөлуге болады: оперативті жадымен диск арасында процесстерді алмастыру әдісі және бұл істі жасамайтын әдістер.
Оперативті жадыны басқарудың қарапайым түрі  -  ол белгіленген мөлшердегі бөліктер бөлу. Орындалатын келесі есеп, не жалпы кезектен, не бір бөліктегі кезектен тұрады.
Бұл жағдайда жадыны басқарушы бағыныңқы жүйе келесі жұмыстарды орындайды. Операциялық жүйемен жұмыс уақытында жаңа қызметтік ақпараттық құрылымдар құрады. Барлық жүйелік объектілер жадыны қажет етеді. Кейбір операциялық жүйелер ертерек керекті көлемін жадыдан алады. Осы жағдайда кез келген операциялық жүйелер өз кестесін, объектісін құрылымын т.б. ішкі жүйедегі жадыға сақтайды.
 Мекенжай түрлері. 12573001209675Айнымалы және команда идентификациясы  үшін әр түрлі кезеңдерде бағдарламалардың өмірлік мерзімін символдық аттар, виртуалды мекен-жайлар және физикалық мекен-жай қолданылады 
                                       
* Символдық аттарды қолданушы бағдарламалық жасау барысында алгоритм тілдерді қолданылады.
* Кейде математиклық немесе логикалық деп аталатын виртуалды мекен-жайлы транслятор өңдеп бағдарламаны машинаның тіліне аударады.
Трансляция кезінде жалпы жағдай белгісіз, бағдарламаны оперативті жады қандай орынға жүктейтіні, транслятор айнымалы және виртуалды мекен-жайлы командаларды қабылдап, әдетте олар өздігінен орындалады, бағдарламаның бастапқы мекен-жайы болып табылады.
Айнымалылар және командалар орнында физикалық мекен-жай ұяшықтың оперативтік жадының номерімен сәйкес болады. Виртуалдық мекен-жайдың жиынтығы виртуалды мекен-жайдың кеңістігі деп аталады. Процесстердің виртуалдық мекен-жайдың кеңістік аралығы бірдей болады.
Әр түрлі процесстердің командасы мен айнымалылар виртуалды мекен-жайлардың тура келуі қақтығысқа әкелмейді, өйткені жадыда бір уақытта айнымалы болса, онда оперативтік жүйе әр түрлі физикалық мекен-жайда көрсетіледі. Егерде бірнеше процесстер жалпы деректерді немесе шартты белгілер жүйесін бөлу қажет болса, онда оперативтік жүйесі сол процесстердің виртуалды мекен-жай кеңістігіндегі тиісті бөлігін физикалық жадының сол бір бөлігінде көрсетеді. 
4572001966595Әр түрлі оперативтік жүйеде виртуалды мекен-жай кеңістігі құрылысының амалы қолданылады. Кейбір оперативтік жүйеде виртуалдық мекен-жай физикалық жады сияқты ұздіксіз сызықтық жүйелікте беріледі. Сонымен қоса виртуалды мекен-жай біршама ығысу (әдетте бұл 000 ...............000)  -  жекеше бір сан виртуалды мекен-жай болады. Мекен-жайдың мұндай түрін сызықтық виртуалды мекен-жай дейді. 5.2.сурет
1.2.сурет. Бірнеше бағдарламалардың виртуалды мекене-жай кеңістігі
571500688340Басқа оперативтік жүйеде виртуалды мекен-жай сегмент деп аталатын бөлшектерге бөлінеді. Бұл жағдайда мекен-жайдан басқа қосты сан болған, соның ішінде n  -  сегменті, ал т  -  сегменттің ығысуын білдіретін виртуалды мекен-жай пайдаланылады. 
1.3.сурет. Виртуалды мекен-жай кеңістігінің түрлері:
               жалпақтау (а), сегменттік (б)
Виртуалдық мекен-жайдың физикалық түрленуіге 2 ерекшелігі бар:
* Бірінші жағдайда жадыға бағдарламаны бастапқы тейіптеу кезінде виртуалдық мекен-жайды физикалыққа ауыстыру әрбір процессте бірақ рет орындалады. Арнайы жүйелік бағдарлама  -  орын ауыстыру тиіпеуіші  -  бағдарламаны тейіптеу барысында жадының бастапқы физикалық мекен-жайы туралы шығатын мәлімет негізделеді, сонымен қатар мекен-жайды тәуелді программа туралы транслятормен берілген ақпарат бағдарламаны тейіптеп, виртуалдық мекен-жайды физикалықпен ауыстырады;
* Екінші тәсіл мынамен шектеледі, бағдарлама жадыға виртуалды мекен-жайға өзгермеген түрінде тиіптеледі, нақты айтқанда операнды инструкциясы мен мекен-жайдың ауысуы траслятор өңдеген мағынасымен көрсетіледі. Тейіптеу кезінде виртуалдық мекен-жайға бағдарлама кодының орындалуын операциялық жүйеде белгілейді. Бағдарламаның орындалуы кезінде  әрбір операциялық жадыға өтуінде виртуалдық мекен-жайдың физикалыққа жаңартылуы орындалады. Бұның жаңарту кестесі 5.4. суретте көрсетілген мысалға операциялық жүйе сызықтық-құрылымды  виртуалдық мекен-жаймен қолданылсын және осы операциялық жүйе басқаратын кейбір бағдарламалар физикалық жадыға физикалық мекен-жайдан бастап тейіптелген. Бастапқы S ығысу мағынасын операциялық жүйе сақтайды және бағдарлама орындалу уақытында оны арнайы процессор регистрына орналастырады. Берілген бағдарламаның виртуалдық мекен-жайлары жадыға кірген уақытта физикалық жолмен немесе оларға S ығысуының қосылуы түрлендіріледі. Мысалға: V мекен-жайы бойынша орналасқан MOV мәліметтер ауысу инструкциясының  орындалуында VA+S 6858003136265физикалық мекн-жай V мекен-жайы бойынша орналасады.

1.4. суретте динамикалық мекен-жайларды жаңарту кестесі
                                       
	Соңғы тәсіл ыңғайлау болып табылады. Тейіптеуіш бағдарламаны бастапқы жадының бөлігіне қатты байланыстырғанда, виртуалдық мекен-жайдың динамикалық түрлендіруі процесстің бағдарламалық кодын орындау кезінде оны ауыстыруға мүмкіндік береді. Бірақ ауыстыру тейіптеуішін қолдану өте үнемді, өйткені бұл жағдайда әрбір виртуалды мекен-жайдың түрлендіруі тейіптеу кезінде бірақ рет болады, ал динамикалық жаңартуда - әрбір мекен-жайдың мәліметтерін қолданған сайын. Виртуалды мекен-жайлы процесстің максималды мүмкіндігі мен виртуалды мекен-жайдың көрсетілуін ажырата білу қажет. Бірінші жағдайда операциялық жүйе жұмыс істейтін компьютердің архитертурасымен анықталатын виртуалдық мекен-жайдың максималды мөлшері, әсіресе оның адресация кестесі топталуы жөнінде айтылған. Мысалы, 32-топтық Intel Pentium процессорларымен жұмыс істеген уақытта операциялық жүйе әрбір процесске 4 Гбайтқа деінгі виртуалды мекен-жай береді. Бірақ бұл мағына виртуалдық мекен-жайдың практикада сирек қажет болатын сәйкестік мөлшері болып табылады. Процесс виртуалдық мекен-жайдың шектелген бөлігін қолданады. 
Белгіленген виртуалдық мекен-жай жұмыс процессіне нақты керек жинағы болып табылады. Кодтық сегмент  -  сонымен бірге сегмент немесе мәліметтер сегментін құрғанда осы мекен-жайларды бастапқы бағдарламаның  мәтініне негіздеп, бағдарламаға тронслятор негіздейді. Содан кейін поцессті құру кезінде операциялық жүйе виртуалды мекен-жайды өзінің жүйелігінде белгілейді. Процесс өзінің орындалу барысында мекен-жайын операциялық жұйеден қосымша сегменттің құрылуын немесе бар мөлшерін көбейтуін сұрап бастапқы белгіленген виртуалдық мекен-жайдың мөлшерін көбейте алады. Кез келген жағдайда операциялық жүйе әдетте виртуалдық мекен-жай процессінің сәйкестігін қолдануын бақылайды  -  оған белгіленген сегменттің шетіне шыққан виртуалды мекен-жайымен процесске операция жүргізілмейді. Виртуалды мекен-жайдың максималды мөлшері компьютердің берілген архитектурасымен сәйкес мекен-жайдың топталуымен шектеледі, әдетте ол компьютердегі физикалық жады көлемімен келіспейді. Бүгінгі күнгі универсалдық машина үшін виртуалдық мекен-жайдың көлемі оперативтік жады көлемінен асады. Қолданбалы кодтан операциялық жүйе кодына беру басқаруын шектеу үшін және операциялық жүйе модульдерін жеңіл қоланбалы мәліметтерге кіру үшін рұқсат. Мысалы, оларды сыртқы құрылғыға шығару үшін көбінесе операциялық жүйе олардың сегменттерін белсенді процесстің виртуалды мекен-жаймен қолданбалы бөледі. Нақты айтқанда операциялық жүйе сегменттері мен белсенді процесс сегменттері біргелкі виртуалды мекен-жайды құрайды.
Әдетте процесстің виртуалдық мекен-жайы екі үздіксіз бөлікке бөлінеді: жүйелік және қолданбалық. Кейбір операциялық жүйелерде (мысалға: Windows) бұл бөлшектер біркелкі мөлшер  -  2Гбайттан болады. Мысалы: 1Гбайт операциялық жүйе үшін, және 2Гбайт қолданбалы бағдарлама үшін әрбір процесстің виртуалды мекен-жай бөлігі операциялық жүйе сегментіне арналған барлық процесске сәйкес болады. Сондықтан белсенді процесс ауысуында, индивидуалды сегментті бар виртуалды мекен-жайдың екінші бөлігіне ауыстырылады. Әдетте  -  кодтармен және қолданбалы бағдарламаның мәліметтері (5.5.сурет). жаңашыл процессордың архитектурасы виртуалдық мекен-жайдың құрылымының ерекшелігін көрсетеді. Мысалы: Intel мұндай жағдайда операциялық жадыға симайтын мәліметтер сақтайтын жүйе сыртқы жаңашыл компьютерлерді қатқыл дискісі бар жадысын пайдаланады. Осы принципте виртуалды жады негізделген. Жадыны басқару үшін операциялық жүйеде қолданылатын жаңашыл тетік.
Виртуалдық мекен-жай және виртуалдық жады әртурлі тетік және олар бір уақытта міндетті түрде шындалмайды. Процесс үшін виртуалдық мекен-жай қолдайтын оперативтік жүйені өзімізге ұсынуымызға болады, бірақ виртуалдық жадының тетігі болмайды.
Виртуалдық мекен-жайға белгіленген анықтама, нақтырақ айтқанда команда коды шығушы және мәлімет аралығы, сонымен қатар есептің нәтижнесі процесстің барысын көрсетеді.
Процесстің жұмыс уақытында операциялық жүйенің функциялық жүйе ретінде қолданбалы кодтан немесе қолданбалы кодтың сәйкес емес тәртібінен пайда болған шектелген жағдай немесе сыртқы жағдайға реакция ретінде шақырылған ауысуы орындалады. Pentium процессорында жүйелік кестенің 2 түрі бар: біреуі жалпы процесстерге арналған сегменттерді бейнелеу, ал басқасы берілген процесстің индивидуалдық сегментін бейнелеу үшін. Процесс ауысу кезінде бірніші кесте өзгермейді, ал екіншісі жаңа болып өзгереді.
1257300529590

1.5 сурет Жалпы және жеке виртуалды мекен-жай.
Алдында бейнеленген виртуалды мекен-жайдың екі бөлігі  -  операциялық жүйе сегменттеріне және қолданбалы бағдарламаға типті, бірақ абсолютті емес. Жалпы ережеден ерекше. Кейбір операциялық жүйеде ішкі міндеттерін шешетін операциялық жүйеден пайда болған жүйелік процесстер бар. Бұл процесстерде қолданбалы бағдарламаның сегменттері жоқ, бірақ олар кейбір өз сегменттерін (операциялық жүйе сегменттері) виртуалдық мекен-жайды жалпы орналстырады, ал кейбірін әдетте қолданбалы сегменттерге арналған, жеке бөлігінде орналасқан.
Парақтық жадының тетігі көбінесе әмбебап операциялық жүйенің барлық виртуалды мекен-жайдың пайдаланатын бөлігіне қолданылады. Арнайы операциялық жүйе жеке болып табылады, мысалы оперативтік жүйеде қатты белгіленетін кейбір сегментер жеке дискке жүктелмейтін нақты уақыттың операциялық жүйесі  -  бұл сыртқы оққиғаларға қосымша тез реакциясын қамтиды.
Виртуалды жадының жүйелі бөлігі әр типті операциялық жүйеде парақтық ығыстырып шығарылған (paged) саланы қосып алады. Ығыстырылып шығарылмайтын салада жылдам реакция немесе жадыда үнемі болатынын талап ететін операциялық жүйе модульдері орналасады, мысалы жадының парақтары ауыстыруын басқаратын ағым немесе код диспетчері. Қалған операциялық жүйе модульдері парақтық ығыстыруға, пайдаланушы сегменттер ретінде ұшырайды.
Әдетте аппарат виртуалды мекен-жайды қолдануына өзінің шектеулі тәртібін қояды. Кейбір процессорлар (мысалы MIPS) жүйелік мекен-жайлы кеңістігінің берілген саласы үшін ерекше бейнелеу ережесін физикалық жадыға алдын ала ескертеді. Сонда виртуалды мекен-жай физикалық мекен-жайлда тура бейнеледі (ақырғысы виртуалды мекен-жайлға тура келеді немесе оның бөлігіне тең болады).
Мұндай жадының ерекше саласы парақтық ығыстыруға ұшырайды, және бұл мекен-жайлы қиын процедура түрленуі ерекшеленіп, орналасқан кодтарға және мәліметтерге кіруі жылдам болады.
Жадының үлестіру алгоритмі. Әр түрлі даму кезеңіне сай операциялық жүйелерінің жадыны үлестірудің жалпы тұрғысын қарастырайық. Кейбіреуі актуалдығын сақтап жаңашыл операциялық жүйеде кең пайданылады, ал кейбіреуі көрсетіліп, қазіргі арнайы жүйелерде кездеседі.
Суретте барлық жадыны үлестіру алгоритмдері 2 класқа бөлінген: сыртқы жадысы қосылмайтын алгоритмі және операциялық жүйемен дисктің арасында сегменттері ауысатып жүретін алгоритм
144780086360
1.6 сурет Жадыны үлестіру әдістемісінің классификациялары.
Жадыны белгіленген бөлімдерімен бөлу. Операциялық жүйені басқарудың қарапайым  -  жады, бөлімдерін белгіленген мөлшердің бірнеше саласына бөлінеді. Мұндай бөлінуді жүйенің бастапқы жұмыс істеу және орналастыру кезеңінде қолданылады. Сонан кейін бөлімдерінің шегі өзгермейді.
Жаданы басқару жүйесі келесі міндеттерді шешеді.
* Орындауға түскен бағдарламаның өлшемімен бос бөлімдерді салыстырып, сәйкес бөлімді таңдайды.
* Бағдарламаны іске қосып, мекен-жайды құрады. Осы трансляция мерзімінде есептеуіш іске керекті бөлімді тауып алады. Бұл жадының нақты саласына айнымалы жүктемесіз машиналық кодын алуға мүмкіндік береді.
Артықшылығы  -  жүзеге асырудың қарапайымдылығы болса да, үлкен кемшілігі бар  -  қатаңдылығы. Себебі, әр бөлікте тек қана бір ғана бағдарлама орындалады, онда мултибағдарламалау деңгейі бағдарлама өлшеміне тәуелсіз бөліктер санымен шектелген. Егер бағдарлама көлемі үлкен болмаса да, ал бір бөлікті  толық қамтиды, бұл жадыны қолдануда нәтижесіз болып саналады.
Мұндай жадыны басқару әдісібұрынғы мултибағдарламалық операциялық жүйеде қолданған. Бірақ қазір де бұл белгіленген бөліммен жадыны үлестіру әдісі нақты уақытын жүйелерінде қолданады.
Жаданы динамикалық бөлімдерімен үлестіру. Бұл жағдайда машина жадысы алдын-ала бөліктерге бөлінбейді. Алғашқыда барлық жады бос болады. Әр түсетін есепке оған қажет жады бөлінеді (Егер жадыны қажет көлемі болмаса, онда есеп орындалмайды). Егер орындалып болған соң, жады босап, орнына басқа есеп қосылуы мүмкін. Сонымен оперативті жады кез келген уақытта бос және бос емес аймақтарды (бөлік) кез келген тізбегін көрсетеді.
Жадыны  басқару  үшін  арналған функциялар: 
Жадыны  басқаруды  былай  қарастыруға болады,  ақпаратты  жадыға  енгізудің  енгізудің  үш  функциясы  бар:
* Аталатын  функция  F1,  әлбетте  көрсетілген  ақпарат  қолданушының   аты  ақпараттың  идентикаторы,   осыған  арналған  ат үшін  
* Жадының  функциясы  F2, олар орналасқан  жерді  идентификаторады  шындығындағы  адресін  анықтайды
* Содержимое    функциясы F3,  бұл  мәндегі  жадының  адрестері,  сол  адресте  орналастырылған.

Қолданушының       f1        Біркелкі           f2             Ұяшықтар      f3                      Мәні 
аттары   	        идентификаторлар                    жадысы 

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


есеп Х 40К						                 операциялық жүйе 

есеп Y 60K
								         Есеп  Х  40К
									
                                                                                                                                 Есеп  Y 60K
								            Бос
  
								 
Ауысу  бөлігіндегі  мультибағдарламадағы  бастапқы  бөлінуі



Сегменттік  -  беттік   жады (paging/segmentation)  - сегмент  үшін  жады  беттер  бөледі,  және де  сегменттің  кестелік   кеденіне байланысты  бөлінеді.  Адрестер  үш  компоненттардан   тұрады [s,p,d]  s-сегменттің  нөмері, p- беттегі  кестедегі  жазбаны  анықтайды, d  -  қосылыстары.  Сонда [s,p,d]  s- сол  берілген  есептегі, p- беттегі, d  -  сөзді анықтайды.


			сегменттағы  кестелік регистр
										бет

		s	р      d					   		                          d
     +						  +																		    сөз 	    	

									      		
			Сегметтер кестесі

		Кедені                  беттегі  база  кестесі  	                    s-тая строка
								  таблицы
								  сегментов
   +


		Беттегі  кестелер 
						
Признак                     қорғаныс          беттің  орналастыруын  көрсеткіш                                     р-тая 	
												строка												             таблицы
		кеден 									        страниц		        (беттегі  кестенің  ұзындығы)																					
Сегменттік  -  беттік  жадының , адресті табу  кезеңі
f3(сөз)= f3(f3(f3(f3(сегменттағы  кестелік регистр)+s)+p)+d)

Беттерге тез ену ассоциативтік регистр
сегменттің            беттің            Беттің 
номері                    номері             орналасқан 
				            жері			           бет [s1,p1]


      s1		p1						бет [s2,p2]

     s2	            p2

     s3		p3	


		. . .							бет [s3,p3]


Жадыны  басқару стратегиясы. Қандай да бір нақты сұлба жадысы таңдалса, оптималдық мінездеме үшін жадыны басқару стратегиясын қолдану керек. Жадыны басқару стратегиясына әртүрлі мән беріп, шығарса олар қалай анықталады:
* Жады да жаңа бағдарлама алсақ: жүйеге сұрау жіберу
* Бағдарлама оперативтік жадының қанша бөлігін алу керек: көбінесе бос орын қалдырмауға тырысады, олардың жадыға минимум орын қалдырмауға  немесе оларды тез жадыға орналастырып , машинаның уақытын алмайды.
* Бағдарламаны жадыға енгізгенде оперативтік жады толы болса, онда жадыдағы көп қолданысқа келмейтін және уақыты бойынша ұзақ тұрған бағдарламаны өшіреміз.
Жадыны басқару  стратегиясы категорияларға бөлінеді:
* Таңдау стратегиясы
Таңдау стратегиясына сұрау жіберу
	2.орналастыру стратегиясы
Таңдау стратегиясы олардың мақсаты: қандай уақытта бетті қайта жазу керектігін және де сегментті оперативтік жадыға ауыстырады.
Орналастыру стратегиясы. Түскен сегментті немесе бетті бірінші жадыға орналастыру, олардың мақсаты болып табылады. 
Оперативтік жадыға жаңадан  бағдарлама енгізілсе, онда оларды қалай  таңдау керек. Және де оларға 3 стратегия келеді. Оларды қарастырып өтсек: 
* Көбінесе келетін стратегия, көбінесе келетін жадыға бағдарламаны орналастырса, онда жадыға аздаған орын қалады,
* Бірінші кіру стратегиясы , жадыдағы орнына байланысты есепті орналастырады. Көбінесе келетін стратегия , олар жадыға есепті орналастырғанда, максималды орын қалса, онда бір жағынан  қарағанда сұмдық болп көрінуі мүмкін, бірақ оның жақсы жағы да бар ,  ал біз жадыға максималдық бос орындарға бағдарламаларды орналастыру болады. 
* Шығарып тастау стратегиясы. Олардың мақсаты: оперативтік жадыдан қандай сегментті немесе бетті  өшіру болып табылады және жадыға келіп түскен бағдарламаны  немесе сегментті орналастыру үшін , бірақта  жады толықтай толы тұрмаса.
Кез келген бетті ығыстыру. Мұндай оңай жолмен жадыдағы орынды босату үшін кез келген бетті ығыстырамыз.
Бірінші түскен бетті ығыстыру ( FIFO)
First-in-first-out
Егер оперативті жадыдағы түскен бетті орналастыру үшін , жадыдағы ең бірінші және ұзақ уақыт бойы тұрған бетті ығыстырамыз сонда  FIFO принципі орындалады.Бұл стратегияның ең жақсы қасиеті , онда оперативтік жадыдағы бұрыннан келе жаткан бетті ығыстыру ында , бет бұрыннан келе жатса , онда ол бет оқылған және жұмыс істелген болады,сондықтанда жадыда ұзақ уақыт сақталған бетті ығыстырамыз.
Бірақ ұзақ уақыт сақталған бетті ығыстыру кей кездері дұрыс болып келе бермейді.Егер де ол бетпен күнделікті жұмыс істелген болуы мүмкін және сондықтан жадыда ұзақ уақыт сақталған бетті ызыстырса ,онда  оны қолданушыға ол бетті қайтадан жазуға тура келеді.
 Қолданысқа енбейтін бетті ығыстыру ( LRU)
Least-recently-used
Бұндай стратегия көбінесе қолданушы жиі қолданбайтын бетті ығыстырады.Бірақта ол бетті керек беттердің бірі болуы мүмкін.LRU  стратегиясы жадыдағы беттерді әрқашан жаңарту керек , бұл стратегия олардың уақытына байланысты ығыстырады.
Қолданысқа көп ене бермейтін беттерді ығыстыру(LFU)
Least-frequently-used
LFU  стратегиясы жоғарыда айтылып өткен. LRU стратегиясы сәйкес келеді. Мұнда да керек бетті ығыстырып алуымыз керек.    

Бақылау сұрақтары:
  + Жадының иерархиялық ұйымдастырылуын қарастырыңыз.
  + Жадыны ұйымдастыру түрлерінің эволюциясы.
  + Жадыны ұйымдастыру стратегиясының негізге қасиеттері.
  + Жадыны бақылау түрлері.

Дәріс № 8
Тақырыбы: Сыртқы жадыны басқару
Дәрістің сұрақтары:
* Файлдар.
* Деректер иерархиясы. Файлдарды ұйымдастыру.
* Кіріс әдістері. Файлдардың мінездемелері.
* Файлдық жүйе. Файлдық жүйенің фанкциялары. Файлдық жүйенің құрамы.
* UNIX файлдық жүйесі.
* Файлдардың дисктік жадыда орналасуы.
Сыртқы жадыны басқару. Файлдар.
Иерархиялық  мәліметтер. Иерархияның төменгі  дәрежесі  -  бытавой комбинация құрайды, соның  көмегімен  кез  -  келген  мәліметтердің  элементтері құралады. Ал байттар мен  символдар  келесі  дәрежеде  орналасқан ( мысалы , 8  -  биттік комбинация <<аски>> АSCII-тық кодта қолданады).  Структуралардың  үлкені  болып саналатын жиек :  алфавиттік,  сандық  немесе  алфавиттік  -  сандық,  жиектермен  қосылған  топтар  жазбаларды құрайды.  Жазбалар  қосылып,  файл болады, ал  топтармен  байланысты  файлдар  мәліметтер  базасы  болады...

                                       

Файл (file)  -  мәліметтерге ат  қою.  Операторлардың  көиегімен  бір  бөлік  болып,  файлдар  мен  операция  жасалуы мүмкін. Операторлар:  ашу(open), жабу(close), құрау(create), құрту(destroy), көшіру (copy), ат  қою (rename), өшіру (list). Басқа файлдардың  құрамдарымен  операция  жасалуы  мүмкін:  оқу (read), жазу (write), жаңарту (update), қою (insert), алып  тастау (delete).
Рұқсат ету  тәсілдері
	Операциялық жүйені  құрайтын, олардың  файлдады  ашудың әртүрлі  тәсілдері  бар, мүмкіндігінше  екі категорияларға  топтастырсақ:
* Кезекпен рұқсат ету  тәсілі;
* Базистік  рұқсат ету  тәсілі;
Кезекпен  рұқсат ету  тәсілі  мынандай жағдайларда  қолданды,  жазбаларды  тазалау  кезінде  болашақтағы  жағдайды көре алғанда.
	Базистік рұқсат ету  тәсілі қарапайым  жағдайда қолданылады,  көбінесе  тікелей  кіру  кезінде  жазбаларды   тазалау  кезінде  болашақты біру  мүмкін  емес жағдайда.
Файлдардың  мінездемелері.
* Құбылмалы  -  ол файлдағы жаңа  жазбалар және бұрынғы   жазбаларды  өшіру жиілікке  кіргізуді қарастырады. Жиілік  аз  жағдайда оны  -  статикалық,  ал көп  жағдайда -  динамикалық  немесе  құбылмалы  файлдар  болып  саналады.
* Белсенді  -  файлдағы  жазбалардың  пайызымен  өлшенеді,  берілген  уақытта тазалауды қарастырады.
* Өлшем  -  файлда  сақталынған  мәліметтердің  мөлшерін  анықтайды.
   Файлдық жүйе
   Файлдық жүйе- ол  барлық  басқару  жадының жүйесінің  бір  бөлшегі,  сыртқы  жадыда  сақталған, оның  міндеті көбінесе  файлдарды  басқару  болып табылады,  қолданушыларға  ақпаратты  бөлу бақыланады.
   Файлдар  жүйесінің    құрамы
	Файлдық  жүйе,  ОС  ядросының  енетін құрамдары,  олар  келесілерді  құрайды:
* Кіру  тәсілі, файлдарда  сақталынғандарға  нақты  мәліметтер  мүмкіншілігін  анықтайды.
* Файлдарды  басқару, топтасып  қолдану  және  қорғау,  файлға сақтауды   қадағалайды.
* Сыртқы  жадыны  басқару,  сыртқы  жадыда  файлдарды сақтауға,  орындауға  орналастырады.
  UNIX  файлдық жүйесі
                          UNIX  файлдық  жүйесін  қарастырып  өтсек.ең  басты файлдық  жүйедегі белгілі бір дискідегі мөлшердіорналастыру,  аталған  бөлшектер  -  файлдар.
           UNIX  үш  негізгі түрлері  бар.  Олар:
*  Дискідегі  қарапайым  файлдар
* Каталогтар
* Белгілі  бір  файлдар
Қарапайым файлдар  -  қолданушы  енгізген  ақпаратты  дискіде сақтау. Файлдар  болып,  дайын  бағдарламалар  қолданылады.
Каталогтар  -  ол  қарапайым  сөзбен  айтқанда файлдарсақталатын папкалар,  мысалы,  мәтіндік  докуметтер,  орындалған  бағдарламалар,  кітапханалар  және  кітапханалық  модульдер және т.б

Файлдық жүйедегі жалпы модель. Кез келген функционалды файлдық жүйені көп деңгейлі модел деп қарастырамыз, интерфейс әр деңгейге мүмкіндік береді (функцияны таңдау), ал өзінің жұмысында интерфейс төменгі деңгеймен орындайды. 
Символдық деңгейді анықтау файлдың символдық атымен анықталады. Файлдық жүйеде әр файл тек бір ғана асимволдық атты иелене алады. (мысалы, MS-DOS), бұл деңгей жоқ символдық ат сияқты. UNIX файлдық жүйесінде мысалы, маңызды болып дескриптор файлы есептеледі (inode).     
  Файлдағы сұраныс
    (операция, файлдың аты, логикалық жазу)

	 Символдық деңгей                 Символдық аттың ерекше 
                                                                         атын ақытау
						      
            Базалық деңгей                       Ерекше файлдағы аттың
                                                                 мінездемесін     анықтау

	  Тексеру деңгей		           Операцияға тапсырыс берілген
                                                                    тапсырыстық файлды тексеру

	
       Логикалық деңгей	           Логикалық кординаттық 
                                                                         жазуды файлда анықтау

       Физикалық деңгей		Логикалық және физикалық 
                                                                            блоктағы номерді анықтау

	Кіріс- шығыс жүйесі

             Келесі базалық деңгейде ерекше файл атауының қарастырылған  мінездемесі: мекені, мөлшері т.б. Жоғарыда айтылып өткендей файлдың мінездемесі каталогтық құрамына немесе кестеде жеке сақталады. 
    Логикалық деңгейде логикалық жазудың кай кординатта екені анықталады. Физикалық файлдың сарапталуы оның байт мөлшерімен анықталады.  Берілген деңгейдегі жұмыстың алгоритімі  логикалық файлға тәуелді. Мысалы, егер файлдың фиксировандық ұзындығы 1 болса, онда n логикалық жазуы l((n-1) байтына ығысады. Кординаттағы логикалық жазуды анықтау үшін файлдағы көрсетілген  адрестағы логикалық жазумен және кестедегі көрсетілген символдармен анықталады. 
Файл
	V		V		V		V		V
...
N




...
	                                                S логикалық жазу
S
Сурет. 19  Физикалық функция деңгейінің файлдық жүйесі. 
Бастапқы шығуы:  V  -  блоктың размері;N  -  бірінші блоктағы файл номері; S  -  логикалық жазудың файлға ығысуы. 
Физикалық деігейде анықтауды талап етеді:: 
n  -  логикалық жазудағы талап еткен блоктың номері; 
s  -  логикалық жазудағы блок аралық ығысу. 
n = N + [S/V], где [S/V]  -  санның бүтін бөлігі S/V s = R [S/V]  -  санның бөлшек бөлігі S/V 
                                       
Файлға кіру құқығы. Файлға кіру құқығын анықтау  -  ол операцияда әр қолданғышты анықтау, оын берілген файлға пайдаланады.  Дифференциялдық операцияға кіру әр файлдық жүйеде өз тізімі анықталған.  Бұл тізімге қосылған келесі операциялар:
* Файлдың құрылымы,
* Файлдың жойылуы,
* Файылдың ашылуы,
* Файлдың жабылуы,
* Файлдың оқылуы,
* Файлдың жазылуы,
* Файлдың қосымшасы,
* Файлды іздестіру,
* Файлдың белгісін алу,
* Жаңа белгілерді орнату,
* Өзгертілім,
* Файлдың орындалуы,
* Каталогтың оқылуы.

3 ЗЕРТХАНАЛЫҚ ЖҰМЫСТАР
Зертханалық жұмыс № 1
Тақырыбы: ОЖ-ді қарастыру. Виртуалды машиналар.
Жұмыстың мақсаты: Бірнеше ОЖ-ді көріп салыстыру. MS Virtual PC бағдарламасымен жұмыс істеуді үйрену және оның үстіне виртуалды  ОС MS-DOS орнықтыру.

Теориялық мәліметтер:
* Виртуалды машиналар (ВМ)
Кейде басқа платформа үшін жазылған бағдарламаны персоналды компьютерде іске еңгізу және оны алыстан бақылауға қажеттілік туады. Сондықтан ПК-ге кейде екі нем3се үш ОЖ қою, ал біреуінен екіншіге көшу үшін компьютердің перезагрузкасын жасау керек болады. Ол үшін, VMware, Connectix и Swsoft компанияларымен өңдірілген, ОЖ-ні эмуляциясын жасайтын арнайы бағдарламалар бар. Virtual PC бағдарламаны Connectix компаниясы 1988 жылы шығарды. Бұл бағдарламаның ішінде ПК-дің виртуалды жадымен қолдану үшін VM технологиясы  (ВМ - виртуалды машиналар) қолданылды.
Ең алдымен Virtual PC бағдарламасы Macintosh тұтынушыларына арналған болатын.

2.	MS Virtual PC

MS Virtual PC 2004 бағдарламаның версиясы  Windows - ХР, NT, 2000, ME ОЖ-нің версияларының барлығында қойылуы мүмкін. Ал Virtual PC  бақылауы арқылы Windows, Linux, Solaris, NetWare, BeOS и OS/2 Warp барлық варианттары орнықтырыла алады.

Талаптар
Бағдарламаны орнықтырған кезде қатты дискіде 30-40 Мбайт орын болуы қажет, бірақ қосымша операциялық жүйелерді орнықтыру үшін MS Virtual PC сіздің компьютеріңізден қосымша мінездемелер сұрайды. Ең маңызды мінездеме  процессордікі (оның жиелілігі  400 МГц-тен кем болмауы керек), оперативті жадқа және бос дисктік орынға. Соңғылардың мінездемелері орнықтырылатын қосымша ОЖ-ге тәүелді. Мысалы үшін  Windows 98 орнықтыру  64 Мб RAM және 500 Мб қатты дискіде талап етеді.
Кез-келген эмулятор негізгі ОЖ сияқты сондай тез және жемісті істемейтінін ескеріп отыру керек.
Виртуалды ресурстар
MS Virtual PC бағдарламасы комьютердің ресурстарын виртуалды машиналар арасында бөліп отырады. Процессорлық уақыт және ОЖ жай ғана процесстер арасында бөлінеді. Ал дисководтармен желілік адаптерлердің мәселелерін қалай шешуге болады?  Виртуалды дисководтар, виртуалды қатты дисктер, виртуалды желілік адаптерлер ұғымдары еңгізіледі. 

 Виртуалды қатты диск
Виртуалды қатты диск  .vhd кеңейтуі бар бір фай түрінде көрсетіледі. Ол төрт типтің біреуіне ие бола алады:
Динамикалық кеңейтілетін. MS Virtual PC бағдарламасы виртуалды дисктің өлшемін бақылайды, және бұл өлшем әдеттегідей дискте сақталынған мәліметтердің максималды өлшеміне тең болады. 
 Фиксацияланған өлшемдері бар дисктер. Өлшем тұтынушымен беріледі және эмуляция процессінде өзгермейді.
Әртүрлі өлшемдері бар дисктер. Бұл виртуалды диск алдында бар болған дисктің конфигурациясында негізделеді. Бірақ виртуалды машинамен жұмыс істеу процессінде жасалған өзгерістер әртүрлі өлшемі бар дискіде сақталады.
Қатты дискіге қосылған. Бұл виртуалды диск нақты қатты дискіге қосылған.
 MS Virtual PC бағдарламасында жаңа виртуалды дискті құру және бар дисктің типін ауыстыруға арналған виртуалды дисктердің мастері бар.

Виртуалды порттар
СОМ1, COM2, LPT1 порттары болуы мүмкін немесе мүлдем болмауы мүмкін.

2.3.5 Қалған жабдықтардың эмуляциясын жасау.
Қосымша ОЖ сіздің компьютеріңізді орнықтырылған жабдықтармен байланыспауы мүмкін. Сізде қандай дыбыс картасы болмасада MS Virtual PC қосымша ОЖ-ні стандартты түрде эмуляциясын жасайды (Windows үшін - Creative Labs SoundBlaster 16). Аналогиялық түрде MS Virtual PC видеоадаптермен, монитормен, мауспен, пернетақтамен және желілік адаптермен жұмыс істейді. Бұның бәрі мүмкін өйткені BIOS-тің эмуляциясы жүріп жатады.
Компьютерге ОЖ-ні орнықтырудың негізгі кезеңдері.
* BIOS-тің ішінде компьютердің жүктеу ретін өзгерту. Бұл кезең ОЖ-дің көбін орнықтыру үшін дсикета немесе  CD-ROM керек болғандықтан қажетті болады.
* Дискті бөлімшелерге бөлу, ал бөлімшелерді логикалық дисктерге. Бұл кезең fdisk бағдарламасының көмегімен орныдалады.
* Әр логикалық дискті форматтау. Бұл кезең format.com утилитасының көмегімен орындалады.
* ОЖ-нің файлдарын компьютерге көшіру, жабдықтарды және қызметші бағдарламаларды іске кіргізу . Бұл кезең ОЖ-нің дистрибутивті комплектімен бірге келетін орнықтыру бағдарламасының көмегімен орындалады. 

Жұмыс барысы:

* Жаңа виртуалды машинаны құру.
1.  Microsoft Virtual PC бағдарламасын іске қосыңыз. Пуск\Программы\ Microsoft Virtual PC.
Microsoft Virtual PC іске қосқанда экранда Virtual PC Console терезесі пайда болады. (сур 1.)

                                       
        сур 1.Жаңа виртуалды машинаны құру.

2. Мастердің инструкциялары бойынша жаңа виртуалды машинаны құрыңыз, MS DOS деп атаңыз (сур 2).

\s
	Сур  2.

3. Виртуалды машинаға берілетін оперативті жадтың өлшеміне 8 Мб мәнін беріңіз. (сур 3)
                                       
                                  Сур  3.
                                      \s
4. Жаңа виртуалды диск құрыңыз (сур  4).
         Сур  4.Жаңа виртуалды дискті құру.

Бұл операциялардың нәтижесінде сіз жаңа 8 Мб оперативті жады және  MS DOS Hard Disk.vhd виртуалды дискі бар MS DOS виртуалды машинаны жасадыңыз. (сур 5)

                                  \sсур 5.

* Виртуалды дискіге  MS DOS операциялық жүйесін орнықтыру.

ВМ-ны іске еңгізгеннен кейін (сур 6. Start) MS DOS операциялық жүйесін орнықтыруға кірісеміз.

                                       
                                   сур.6.

1. Біріншіден ОС DOS және басқа бағдарламалары бар дисктің бейнесін қосамыз: Floppy\Capture Floppy Disk Image... ,  дискетаны ашу С\temp\VPC 111\dos.VFD. (сур 7)
\s
                                  Сур  7.

Бұл берілген дискета виртуалды болғанына назарыңызды аударыңыз (файлдардың кеңейтулерін көріңіз).
2.  А дискінің құрамын көріңіз.
 MS DOS-тың сәйкес командасын еңгізіңіз.
3. Дисктің бөлімшелерін құру.

Бұл кезең 4 бөлімнен тұрады:
*  DOS-аумақтарын құру;
* Белсенді бөлімді құру ;
* Бөлімдерді жою (қателіктер болған жағдайда);
* Жасалған жұмысты көру.

 DOS-аумақтарын құру
  + Негізгі бөлімді құру (Primary DOS Partition) дисктің ішінде;
  + Кеңейтілген бөлімді құру (Extended DOS Partition) (қосымша);
  + Логикалық бөлімдерді құру (Logical DOS Partition).

Негізгі бөлімді жасағанда жүйе сізден келесіні сұрайды:
Бұл бөлімге барлық бос зонаны бересізбе?
ЖОҚ еңгізініз, өйткені бізге кеңейтілген бөлімді жасау керек.
Содан кейін: негізгі бөлімге қанша жад қажет?
 50% еңгізіңіз, яғни 1022.

 fdisk.exe бағдарламаның менюіне Esc пернесін басып шығасыз. Тағы  1 пунктті орындаңыз ( DOS-аумақты құру) және 2 пунктті кеңейтілген бөлім үшін орындаңыз.
Кеңейтілген бөлімді құрғанда қалған жадтың көлемін еңгізіңіз (появляется по умолчанию). Enter.
Аналогиялық түрде логикалық аумақтарды жасауға кірісеміз. Біздің жағдайда бүкіл кеңейтілген аумақты бір логикалық диск алады. Enter.
Логикалық диск қандай атқа ие болды?

Белсенді бөлімді құру
Жүйе белсенді болатын бөлімнің номерін еңгізуді сұрайды. Ереже ретінде бұл дисктегі негізгі бөлім. (Primary Partition).
Сәйкес номерді еңгізіңіз.

Егер сіз қателік жіберсеңіз немесе өзгерістер еңгізгіңіз келсе fdisk.exe пунктін таңдап бөлімдерді жою программасын орындаңыз.

4.Жасалған жұмысты көру
Сіздің жұмысыңыздың нәтижесін көріңіз
Қай бөлім белсенді болады? Бұл қайдан көрінеді?
Логикалық бөлімдерді көріңіз (Yes)
5. Дискті форматтау
 c, d дисктерін форматтау программасын жасаңыз.
Форматтау жұмысы аяқталғаннан кейін сіз бұл дисктерге ат бере аласыз.
6.  OC DOS жүйесін дисктен дискіге sys C командасымен көшіріңіз.
7. Каталогтар ағашын құрыңыз: түбтегі каталог   -  топ номері бойынша аталған; оның ішінде 10 каталог(подкаталог) машиналар номерімен, сіздің машинаңыздың номері бойынша аталған каталогтың ішінде өзіңіздің папкаңызды сақтаңыз, оның ішінде мәтіндік файл құрыңыз, ол файлдың ішіне А дискінен мәтіндік файлдарды редактрлеу программасын көшіріңіз edit.exe .
8. Өзіңіздің мәтіндік файлыңызға өзгерістер еңгізіңіз.
 MS DOS сәтті орнықтырылды! Жұмыс істеңіз!

Жұмыс бойынша есеп ішінде келесілер болу керек:
* Барлық виртуалды машинаны орнықтырған кездегі, виртуалды дисктегі ОЖ MS DOS на виртуальный диск.
* Келесі сұрақтарға жауаптар.

Бақылау сұрақтары:
* Виртуалды машинаны орнықтыру кезеңдері.
* Компьютерге операциялық жүйені орнықтырудың негізгі кезеңдері.
* Виртуалды машинаға  MS DOS-ты орнықтыру кезеңдері. ООлардың мінездемелері.


Зертханалық жұмыс № 2
Тақырыбы: Windows жұмысының ерекшеліктері. Windows-тiң алғашқы күйге келтiріуi және ықшамдауы.
Жұмыстың мақсаты:
Windows басқару жүйесiн оптимизациялап, ықшамдаудың тиiстi параметрлерiн таңдауға икемi болып, тiзiлiмi бар жұмыстың бастапқы дағдыларын iстеп шығарып, ықшамдаумен және басқару жүйесiнiң күйге келтiруiнiң аралығында айырмашылық және ұқсастық айқындалуға күйiне келтiруге үйрену.

Теориялық мағлұматтар:
Тiзiлiмнiң құрылымы
Файл жүйелерiнде дисктер (олар оның ішіндегі түбiрлiк объекттерi болып табылады) папка және файлдарда болады. Әрбiр жеке папкада басқа папкалар және файлдардан тұра   алады. Әрбiр папканың және әрбiр файлдың аттары болады. Файлдары бар папкалардың аттарын қоса отырп, біз дискте болатын жалғыз файлға рұқсат жолын құра аламыз, мысалы, C: \Winnt\Mapi32.dll мен  C: \Windows\Mapi32.dll мүлде әртүрлi файлдар. 
Windows NT тiзiлiмі файл жүйесi  тәрiздi ұйымдастырылған, бiрақ оның сипаттамасы үшiн басқа терминологияны қолданылады. Тiзiлiмнiң құрылымдар түбiрлермен түбiрлiк бөлiмдер (root keys ) (Ключи) болып табылады, бұл жағдайда файл жүйесiнiң дисктерiне әлпеттес. Тiзiлiм 5 түбiрлiк кiлттерден тұрады - Улья! Әрбiр түбiрлiк бөлiмбiрнеше iшкi бөлiмдерден(subkeys ) (қос) тұрады, папкалар сияқты, өз кезегiнде, бұл iшкi бөлiмдер басқа iшкi бөлiмдер және параметрлерден (values) тұра алады. Параметрлерлер  файл жүйесiндегi файлдарға әлпеттес. Сонымен қатар файлдар сияқты , әрбiр параметрдiң аты және  ол болатын бірегей iшкi бөлiмде (папкаға ) болуы керек. Сонымен бiрге әрбiр параметрге мәлiметтердiң ондағы түрдiң мәлiметтерi сақтала алатын анықтайтын кейбiр түрiне сәйкес келедi.

Кілттер және ішкі кілттер дерево  титі сол терезеде ұйымдастырылған және файлдық жүйені еске салады (тiптi папка түрiндегi белгiлерi қолданылады). Бұл қолданушыға  ыңғайлы болу үшiн iстелген. Бұлар файлдар мен папкалар емес, кілтер екенін еске сақтау керек. Егер кiлттiң (iшкi кiлтпен ) жанында [+] тұрса, онда берілген кілт қабаттасқан ішкі кілттерден тұратындығын білдіреді.  Ішіне салынғандардың ең төменгi деңгейіне жеткенде, iшкi кiлттiң сол жағындағы [-] пайда болады, яғни ары қарай ашылу мүмкiн емес көрсетушiсі.  Тiзiлiм бойынша орын ауыстыру және кілтті ашу\орау тиiстi элементті шерту арқылы тышқанмен орындалады.  


* шаблонының кілттік символы барлық қосымша қолданылатын қабықтар кеңейтудi көрсетедi. Қабықтың кеңейтулерін OLE серверлері ұсынады, ол Windows NT қолданбалы интерфейстiң қосымша функцияларына мүмкіндік береді.  Бұл ақпараттар қосуға мүмкіндік береді, мысалы, қабықшада көрсетілетін мезеттік мәзірге барлық пиктограммалар немесе барлық қасиеттер кестесін қыстырмалар қасиеттеріне(property pages ) қосу.  
Тiзiлiмнiң әрбiр параметрi түбiрден  бастап өз жолымен толық теңестiре алады. Мысалы, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Security\Obscure WireDataFormat Microsoft Exchange Server-ге тәуелді, Security ішкі бөліміндегі кейбір параметрлерді анықтайды. 
1-шi суретте  Windows NT  тiзiлiмі жазулармен  бір бөлігі көрсетілген  iшкi бөлiмдер , параметрі (аты, түрі, мәні)  және Улья. 
                                       
1-сурет. Тізім параметрінің үш құрама бөлігі

Параметрдің мазмұнын редактрлеу. 
Edit мәзiрiндегі Modify командасы ерекшеленген параметрлердiң мазмұнын  өзгертуге мүмкiндiк бередi (параметрді сондай-ақ  ерекшелеп алып Enter пернесiнбасу арқылы редактрлеуге болады). Сiз содан соң көретiнініз, редакциялалатын параметрдiң түрiнен тәуелдi болатын; тiзбектiк мәндер, DWORD мәндері және екілік мәндерге арналған әртүрлі диалогтік терезелер болады.  Regedit көмегі арқылы ол қолдамайтын типі бар мәліметтерді редактрлейді, мысалы, REG_FULL_RESOURCE_DESCRIPTOR немесе REG_MULTI_SZ; бұл мәліметтер типіне екілік мәліметтерді редактрлеу диалогтік терезесі ашылады. Диалогтік терезелер өздігінен түсінікті, олардың әрқайсысында сіз редактрлей алатын ағымдағы параметр Сонымен бiрге диалогктiк терезелер Cut, Copy және Paste командалаларына клавиатуралық қысқартулар жұмыс iстейдi.

Бөлiмдер және параметрлердi құру және өшіріп тастау
Сонымен бiрге Regedit программансы арқасында бөлiмдер, ішкі бөлімдер және жеке параметрлер құрып және алып тастауға болады. Microsoft- тан кәдімгі хабарлама туралы қайталау реті бар: тізілімдегі керексіз өзгеріс сіздің компьютерінізге зиян келтіруі мүмкін. Мәліметтер қосар алдында өте сақ болыңыз және оларды алып тастау кезінде екі есе сақтылық жасаңыз. Ерекшеленіп алынған бөлімнің ішкі бөлімі болу үшін жаңа бөлім құру кезінде үшін Edit мәзірін ашып тышқанның мегзегішін New-ге апарып Key-ді(бөлiм )  таңдап алу керек. Regedit жаңа бөлiмдi жасайды және сiз керек ат бере алу үшiн оның атын ерекшелейді (үндемеу бойыншалар New Key#1 атты қолданылады)
Жаңа бөлiм автоматты салыстырылған атаусыз параметр алады. Сiз тағы басқа iшкi мәзiрлерде қалған үш командалар:New: String Value(Тiзбектiк параметр),  Binary Value(Екiлiк параметр) және DWORD Value қолдана басқа да  параметрлер қоса аласыз. Regedit басқа түрлердiң мәлiметтерiн құра алмайтынына көңiл аударыңыз, егер сiз екiлiк параметрдi құрысаңыз онда программа REG_BINARY типті параметрді екілік мәліметтерді <<шикi>> күйінде құрады.  Құрылатын жаңа параметрлер ерекшелінген бөлімде өзіндік мәліметтер структурасын көрсетеді және үндемеу бойынша аттар қолданылады (New Value it 1, New Value #2 және т.б.). Жаңа параметр құрып, оларға ат берген соң редактрлеу және өзгерту диалогтік терезелерін керегінше қолдана аласыз. 

Параметрлер және бөлiмдер алып тастау күрделi емес. Өшіргіңіз келгенді ерекшелеп алып Edit мәзірінен Delete командасын қолданыныз немесе Del клавишасын басыңыз. Regedit осы команданы растауды сұрайды, сіз растаған сәтте бөлім немесе параметр өшіріледі. 

Жұмыс тәртібі:

Жарайды мiне, сiздер ойдағыдай Windows NT орнаттыңыз (мен бұған үмiттенемiн). Ендi не? Ендi жүктеулерден кейiн бiзге Администратордан тысқары жүйеде тағы бiр қолданушы жасауымыз керек. Ол үшiн: 
* Жүйеде Администратордан  тысқары қолданушы жасаңыз. Пуск\Настройка\Панель Управления\Администрирование\Управление компьютером\Локальные группы и пользователи\ Пользователи\Действие\ Новый пользователь. Тиiстi жазулар енгiзiңiз (жаңа қолданушыны жасаңыз). Қолданушының аты және парольнi еске сақтаңыз.

 Ептеген реңк бар - Microsoftтiң ұсыныстары бойынша, Администратор құқықтары аясында жұмыс істеуді құп көрмейді.  "Администратор" құқықтардың аясында жұмыс жасағанда қауiпсiздікте және қалған тесiктер пайда болуына байланысты Сондықтан, "тәжiрибелi қолданушы" құқықтары бар жаңа қолданушының аккаунты жасау қисынды болар едi. Сiз "тәжiрибелi қолданушы" құқықтардың аясында жүктелсеңіз, жүйеге драйверлер мен көптеген жаңа программалар орната алмауыңыз мүмкін.  
Дәл осы кезде бұдан арылу үшiн сізге сол сәтте  ол аккаунтқа "Администратор" құқығын беріп, содан барлық жүйені күйге келтіріп, керекті программаларды орнатқаннан кейін  -  құқықты <<Тәжірибелі қолданушыға>> өзгертуге  кеңес бере едім. Жүйенге қайта жүктелгеннен кейін Администратор ретінде кіріңіз.  
* Win + Break\Оборудование\Диспетчер устройсв  -  Құрылымдардың диспетчерiн ашыңыз:
Сіздің барлық жабдықтарыңыз, оларға драйверлер орнатылып және керекті параметрлер қалыпты таңылығанына көз жеткізіңіз.  
* контроллеры IDE ATA/ATAPI бөлімінде DMA (Direct Memory Access - Прямое обращение к памяти) операциясы орнатылғанына назар аударыңыз. Бұл қатты дискпен жұмыс жасауды елеулі үдетеді.  Және айта кететіні, көптеген жай манипуляциялар және сiздiң үстелдiк жүйеңiздiң өнiмдiлiгiнiң үлкеюге арналған күйге келтiрулердiң көпшiлiгі қатты дисктегi жұмыстың ықшамдауымен байланысты. (2 сурет.)

                                       
                                 2-сурет.

* Пуск\Настройка\Панель Управления \Администрирование \Просмотрсобытий \Приложения.
Егер мұнда қате болмаса, яғни бәрі жоспар бойыша жүргені. Егер қате тауып алсаңыз, онда оны жою тәсілін тапқан абзал. ( 3-сурет.)

                                       
                                   Рис 3.
* Үстемелеу файлы. Егер ондай болса, оны екiншi қатты дискіге орналастырған  жақсы болар еді. Егер ондай мүмкіндік  болмаса, ең жақсы нұсқа  -  бұл оны қатты дискіде жеке бөлімге орнату. 
С дискісіне орнату лазым. Оның бос болуы қажет, ал ең жақсысы оны қайта форматтау. Бос бөлім не үшін қажет?  Оған орын ауыстырылған үстемелеу файлы (pagefile.sys) дискілік кеңістіктің жеке бөлігін иемдену үшін, ол оның фрагментациясын шығару.   

* Мой компьютер\Свойства\Дополнительно\Параметры быстродействия\Изменить.
Сосын қажет бөлімді таңдап, үстемелеу файлының өлшемін еңгіземіз.. Өлшемді қажетінен көбірек беруге кеңес береді, себебі <<күрделі>> қосымшалар қолдану кезінде жадының тапшылығымен соқтығыспауы үшін. Кейін - задать". Жүйені жүктегеннен кейін үстемелеу файлы орын ауыстырады. Алдын ала берілген түбірлк каталогта (С дискісінде )  TEMP папкасын жасаңыз. 
* Мой компьютер\Свойства\Дополнительно\Переменные среды\изменить және мағынасына  "С:\TEMP" көрсетеміз,бірінші айнымалыға қалай болса, екіншіге де солай.  
Системные переменные терезесінде мәндер сол екенін тексеріңіз. Егер мәндерде айырмашылық болса, онда оларды өзгертіңіз. 
* Сізге Интернетке қосылу қажет. Ол үшін жұмыс үстеліндегі тиісті белгі бойынша Интернетке қосылу ұстасын шертіп, іске қосу керек. Ұста адымдарын орындай отырып, локальді жүйе арқылы автоматты түрде сіздің қарауыңызға қарай Internet Explorer-ге аты мен пароль еңгізіледі. 
* Internet Explorer-дің уақытша файлын  cookies  -  пен бірге орын ауыстырыңыз:Internet Explorer\Сервис\Свойства обозревателя\Параметры\Переместить. С дискісін нұсқау жеткілікті (4-сурет.), "Temporary Internet Files" IE папкасын өзі құрады. 

                                       
                                   Рис 4.

Қайта жүктеуден кейін файлдардың орыны ауысады, ал ескі папка барлық файлдармен ешқайда кетпейді, оны өзін өшіруін тиіс. 

* Қандай жүйе үнсіздік бойынша жүктеледі, қанша уақыттан кейін таңдалған жүйені автоматты түрде жүктеу керектігін анықтап алыңыз. 
Мой компьютер\Свойства\Дополнительно\Загрузка и восстановление.
* Машинаның қайталана жүктемесін болдырмау үшін,  выполнить автоматическую перезагрузку пунктінен қанатты белгіні алып тастаныз.   
* Сондай  -  ақ  Дополнительно\Загрузка және восстановление\Параметры қыстырмасында <<Записать событие в системный журнал>> және  <<Отправить административное оповещение>> деген  категорияларда қанатты белгіні алып тастаймыз. <<Запись отладочной информации>> категориясында <<Отсутствует>> мәнін қоямыз. 
* Windows NT жүйесінің тағы бір керемет ерекшелігі -  Hibernate режимі, немесе  Спящий режим.  Бұл Ждущий режим орындайтын функцияны орныдайды. Тамашалығы, берілген режимге кірген бойда жүйе жедел жадыдағы дампты қатты жадыға лақтырып, қоректенуді сондіреді.   Ал шығу кезінде одан барлық ақпаратты қатты дискіден жедел жадыға жүктейді. Енді сізге өз жұмыс күніңізді керекті бағдарламаларды ашудан, олардың ішінен керекті файлды жүктемей-ақ болады. Ждущий режимнен басты айырмашылық, компьютер желіден ажыраса немесе қоректену үзілісі болған жағдайда сіздің мәліметтеріңізбен түк болмайды, себебі олар физикалық тұрғыда қатты дискіде орналасқан. 
Осы режимді іске қосу үшін келесіні орыңданыз::
Пуск\Настройка\Панель Управления\Электропитание\Спящий режим.
После приостановки перейти в спящий режим  - ге қанатты белгі қойыңыз. 
* Егер сіз Windows Messenger-ді қолданбасаңыз, Windows Messenger-ді өшіріп тастаңыз.  Windows Messenger-ді өшіру үшін: 
                                                                               
Пуск\Выполнить командалық жолында келесіні теру керек:напечатать следующее: <> және <> батырмасын басу керк. .
Осы операциядан кейін қайта жүктелуге ұсыныс жасайды. Қайта жүктелуден кейін компьютеріңізде Messenger-ді таппайсыз.
* Реттелуді өшіреміз. Мой компьютер\диск С\Свойства ашыңыз.  Ашылған терезеде <<Разрешить индексирование диска для быстрого поиска>>-дағы қанатты белгіні алып тастаймыз. <<Применить>> немесе <<ОК>>  батырмасын басқаннан кейін, сізге таңдап алынған атрибутты тек ағымдағы дискіге немесе оған қабаттасқан файлдар мен папкаларға да қолдану ьуралы сұрақ қойылады. Қабаттасқан файлдар мен папкаларға дегенді таңдаңыз. Осы процедураның орындалуы аз уақыт алады (ол дискіңіздегі файлдың қаншалық екеніне байланысты), бірақ нәтижесінде ОЖ нің жылдамырақ жұмысын тамашалай аласыз. Бұл NTFS файлдық жүйесі бар дисктермен жұмыс істейтіндігі белгілі. 
* Windows дыбыстық қабаттасуын алып тастау. .
Пуск\Настройка\Панель управления\Звуки и мультимедиа\Звуки жолындағы схема  -  <<Нет звуков>> (5 сурет). Осыдан соң c:\windows\media  папкасын өшіруге болады. 

                                       
                                   Сур 5.



Жұмыс бойынша есеп берудің мазмұны:
Жұмыс орындау барысында  барлық атқарылатын әсерлердiң сипаттау.

Бақылау сұрақтары:
1.	Windows NT ықшамдаудың мән.
2.	Күйге келтiру және басқару жүйесiнiң ықшамдауының айырмашылығы.
3.	Не көмегiмен басқару жүйесiнiң күйге келтiруiн iске асыруға болады?
4.         NeoTweakerPro, оның қолдануы.
                                       
                                       
Зертханалық жұмыс № 3
Тақырыбы: Windows-тың реестрімен қолдану.
Жұмыстың мақсаты: Реестрмен танысу, онымен жұмысының негiзгi дағдыларын меңгеру. Тiзiлiмнiң редакторларының қолдануы.

Теориялық бөлiк:
Тiзiлiм иерархиялық құрылымдағы жүйелiк кескiннiң барлық күйге келтiрулерi сақталатын екiлiк деректер қоры болып табылады. Құрылымдардың басқару жүйесiнiң қосымшалары, компоненттерi, драйверлері және Microsoft 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 керек болатын Windows NT-шi ОЖ-дiң негiзгi бөлімдерінің бiрi болып табылады. Тiзiлiмге өзгерiс тiкелей кiргiзу, тек қана басқа құралдар керектi нәтижелердi бермегенде тiзiлiм редакциялаулары құралдары көмегімен енгізілуі керек керек.
Тiзiлiммен квалификациясыз үндеу ЭЕМ-нiң аппаратты құралдарының бұзылуына Windows NT және тiптi ОЖ "тоқтап тұруына" әкеп соғады. Windows-тiң ОЖ-i өздi тiзiлiмге өзгер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меттер (setup ) бастапқы баптау, орнату, конфигурациялау  уақытында және аппараттық құрылғылар мен операциондық жүйелердің компоненттерін,операционды жүйенің(мысалы, Internet Information Services (IIS) немесе Certificate қызметтері)  өзін жою кезінде қолданылады. <> ұсталарымен сiз әрқашан жұмыс iстеген кезіңізде , мұнда  тiзiлiм мәліметтерімен жұмыс істеп отырғанымызға сенуге болады.
2 ) Windows NT-тің (Ntdetect.com ) танығышының (recognizer ) жүктелуі кезінде және Windows NT ядросындағы кейбір сәйкес код аппараттық құрылғыларды іздейді және компьютер жадысында орналасқан тізілім бөлімінде осы іздеу нәтижелерін сақтайды.  3 ) жүктеу уақытында жиюлы ядроны Windows NT мәлiметтi пайдаланар едi. Сонымен бiрге ядро драйверлер ол үшiн қажеттi мәлiметтi тiзiлiмде қажеттi сақтайды.
3 ) Windows NT ядросы жүктеу уақытында қандай ретте және қандай құрылғылар драйверлерін жүктеу керек екендігін анықтау үшін жиналған ақпарат қолданылады, Сонымен бiрге осы драйверлер үшiн қажеттi тiзiлiмде мәлiметтi сақтайды.
4 ) Құрылғылардың драйверлерi танығышпен және ядромен жазылған мәліметтерді берілген компьютер үшін физикалық аппаратурамен жұмыс үшін өзін конфигурациялау үшін қолданады. 


5 ) тізілімнен мәліметтер конфигурацияларын оқу және жазбалауды  ММС консольдің (Microsoft Management Console ) кейбiр орнатулары мен басқару панелi сияқты жүйелік құрылғылар мен қосымшалар орындайды. 
6 ) қосымшалар тiзiлiмде өзіндік күйге келтiрулерді сақтай алады. Бұдан басқа, олар (және өз мәлiметтерiн жазу) басқа программалармен тiзiлiмде жазыған мәлiметтерді оқи алады.


Мәліметтер типі
Тiзiлiмде жетi түрлі мәлiметтер сақтала алады. Бiрақ iс жүзiнде, көпшiлiк жағдайда, тек қана екi түрлерi қолданылады: REG_DWORD және REG_SZ. Мәлiметтердiң бұл жетi түрлерi төменде атап көрсетiлген:
1 ) REG_BINARY түрдегi кез келген екiлiк мәлiметтерi шикi күйiнде сақтайды, қандай да бір қайта қалыптау немесе синтаксистiк талдаусыз. Екiлiк мәлiметтерді екiлiк түрде қарап шығуға болады немесе Windows 2000 тiзiлiмнiң редакторларының бірінің көмегімен 16 -лық түрде көруге болады.

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

3 ) REG_SZ Unicode кодталғанындағы кәдiмгi жол болып табылады. Бұл жолдар түрлі ұзындыққа ие бола алады. Бұл түрдiң мәлiметтерiнде рұқсат, адамдарға арналған хаттамалар немесе құрылғылардың атаулары адамдардың оқуы үшін  әдетте сақталады.
4 ) REG_EXPAND_SZ - бұл айлалы шиыршықталған REG_SZ. Қосымшалар жолға арнайы маркерлер қоя алады, ал кейін тізілімнен параметрді оқуы кезінде бұл маркер  қопара алады. Мейлi, мысалы, Бірдене параметрі %SystemRoot%\System32\ Бірдене қарапайым мағынасымен REG_EXPAND_SZ типіне ие. Windows 2000 бұл жолды оқығанда %SystemRoot%-ді операциондық жүйе орнатылған толық орын жолына ауыстырады. 

5 ) REG_MULTI_SZ - REG SZ типті кез келген мөлшердегі параметрлер жинағынан тұрады. Мысалы, TCP/IP хаттамасының қасиеттерiнiң терезесi диалогтік терезесінде сізбен берілетін DNS- серверлерiнiң тізімі REG_MULTI_SZ типті параметрлерщде сақталады. Қосымшалар бүтін REG MULTI SZ-ді құрама бөліктерге  қалай ажырататынын бiлуi керек.
6 ) REG_FULL_RESOURCE_DESCRIPTOR - <<сирек аң>>, бұл мәліметтер типі құрылғылардың қайсыбіріне қажетті жүйелік ресурстар туралы ақпаратты кодтау үшін қолданылады. Мәлiметтердiң бұл түрi тек қана HKLM \HARDWARE-ның iшкi бөлiмдерiнде кездеседi.

7 ) REG_NONE тек орынды толтыру үшін ғана тығын ретінде керек, бұл мәліметтер типі реестр параметрі бар екенін,бірақ онда еш мәлімет жоқ екендігін белгілеу үшін қолданылады. Кейбір компоненттер бьелгілі бір әрекеттерді орындау үшін параметрдің не бөлімнің бар жоғын тексереді. Бұл жағдайда REG.NONE типті параметрдің бар-жоғы тексеріледі, және мәліметтердің жоқтығы арқасында қолданушылар оны бұза алмайды. 

Күнделікті басқару кезінде мәліметтер типі туралы сіздің біліміңіз REG_DWORD және REG_SZтипті параметрлер арасындағы мағыналармен шектеледі.
0-ді құрайтын REG_DWORD типiнiң мәні (нөлдiк сандық мағына) 0-ді (0 символының цифры) құрайтын  REGJ5Z типті мағынасынан айырмашылығы бар.  Егер сiзге тiзiлiмнiң жаңа параметрiн қосуы керек болса, онда мәлiметтердiң дұрыс түрлерi қолданғаныңызға көз жеткiзу керек, әйтпесе осы параметр қолданатын компоненттермен қайшылықтар пайда болуы мүмкін. 

Реестр құрылымы
Файлдық жүйеде дисктер (мұнда олар түбірлік объекттер болып табылады ) папкалар мен файлдардан құрылады.Әр жеке папка еркін мөлшерде басқа папкалар мен файлдардан құралуы мүмкін.Әр файл және әр папка атқа ие.Файлдардан құралатын папкалар атын біріктіріп, біз дикідегі тек бір мәнді атайтын файлға кіру жолын құрады, мысалы, :\Windows\Mapi32.dll, және C:\Winnt\Mapi32.dllтүрлі файл болып табылады.
Windows NT тізілімі файлдық жүйе сияқты құрылған, бірақ оны сипаттау үшін басқа терминология қолданады.Тізілім құрылымының түбірлері түбірлік бөлімдер болып табылады (кілттер) (root keys), бұл мағынада олар файлдық жүйе дискінде ұқсас.
Тізілім 5 түбірлік кілттерден тұрады- ульи!Әр түбірлік бөлім папкалар сияқты бірнеше ішкі бөлімдерден тұрады (subkeys) (ішкі кілттер), өз кезегінде бұл ішкі бөлімдер басқа ішкі бөлімдерден және параметрлерден (values)тұруы мүмкін.Параметрлер файлдық жүйедегі файлдарға ұқсас.Файлдар сияқты параметрлердің әрқайсысы атқа ие, және ол орналасқан пакада не ішкі бөлімде теңдессіз болу керек.Әр параметрге кейбір мәліметтер типі сәйкес келеді, ол мәліметтердің қандай типтері сақталынатынын анықтайды.
Кілттер және ішкі кілттер сол терезеде ағаш типінде ұйымдастырылған және файлдық жүеге ұқсас (папкалар түріндегі белгілер қолданылады).Ол қолданушыға ыңғайлы болу үшін жасалған. Бұл файлдар емес және документтер емес, кілттер екенін ұмытпау керек. Кілт жанында (ішкі кілт) [+] тұрса, берілген кілтте салынған кілттер (ішкі кілт) бар екенін білдіреді. Салынудың ең төменгі бөлімі меңгерілгенде ішкі кілттің сол жағында [-] пайда болады, ол ары қарай ашылу мүмкін емес екенін көрсетеді.Тізілім бойынша орын ауыстыру және кілттерді ашу/жабуды сәйкес элементті басу арқылы тышқан көмегімен іске асыруға болады.
* шаблон символының кілті барлық қосымшаларға қолданылатын қабықшалардың кеңейтілуін көрсетеді. Қабықшалардың кеңейтілуі Windows NT  - дағы қолданушы интерфейсінің қосымша функционалды мүмкіндіктерін қамтамасыз ететін OLE серверлері болып табылады.Бұл ақпарат қосуға мүмкіндік береді, мысалы, барлық пиктограммаладың контексттік менюлеріне не қабықшада көрсетілетін барлық қасиеттер(property pages)  кестелеріне қасиеттер қосымшасын қосу.
Тізілімнің кез келген параметрі түбірден басталатын өзінің толық жолымен теңестіріледі. Мысалы, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\Security\ObscureWireDataFormat жолы Microsoft Exchange Server-ге тиесілі Security ішкі бөлімшесіндегі кейбір параметрді анықтайды.
1 суретте жазбалармен,ульилардыжәне параметрлер мен ішкі бөлімдерді  көрсететін Windows NT тізілімінің бөлімі көрсетілген (ату,тип,мағына).
                                       
1 сурет. Тізілім параметрінің үш құрама бөліктері 

Алдында айтылғандай осы заманғы тізілім ульи деп аталатын 58 түбірлік кілттерден тұрады: 
HKEY_LOCAL_MACHINE  -  локальды компьютер үшін конфигурациялы мәліметтерден тұрады.  Бұл бұзылулар үшін критикалық секция болып табылады. 
HKEY_USERS  -  барлық жүктелген қолданушылық профильдерден тұрады.
HKEY_CURRENT_USER  -  компьютерде локальды тіркелген қолданушыға сәйкес келетін қосымшалар мен жүйелердің өңдеулерін қосады. 
HKEY_CURRENT_CONFIG  - осы моментте қолданылатын аппараттық профиль үшін конфигурациялық мәліметтер.  
HKEY_CLASSES_ROOT  -  файлдардың тіркелген типтері туралы ақпараттан тұрады. 
HKEY_LOCAL_MACHINE (HKLM)

Бұл кілт нақты ПК-ның аппараттық құрылғылары туралы ақпараттан және онда орнатылған программалық қамсызданулар туралы ақпараттан тұрады. Мұнда сақталатын ақпарат онда кім тіркелгеніне байланыссыз компьютерге қолданады. 
1. HKLM\HARDWARE
HKLM\HARDWARE  ішкі бөлімінде берілген компьютерде табылған құрылғылар туралы ақпарат сақталады.Бұл бөлімнің барлық параметрлері дискіде емес құрылғылар драйверлерін реттеумен байланысты қайшылықтардан оперативті жадыда сақталады.Компьютер аппаратурасы оның қосылуын көргенде , ол құрылғыладың бөлек кластарын және компьютер шиналарын зерттеп, табылған құрылғылардың әрқайсысын нумерациялайды(мысалы, параллель порт не пернетақта). HKLM\HARDWARE-де негізгі үш ішкі бөлім болады:
1) DESCRIPTIONS  ішкі бөлімінде орталық процессорлар, Подраздел DESCRIPTIONS содержит описания центральных процессоров, про - цессоров для операций с вещественными числами (<<с плавающей точкой>>) и многофункциональных устройств компьютера. 
2) DEVICEMAP  ішкі бөлімі құрылғыларды драйверлермен салыстырады. 
3) RESOURCEMAP  ішкі бөлімі Windows NT 4-те де болған, бірақ Windows NT  - да толық өзгертілді. Енді онда негізгі үш ішкі бөлім бар: бірінші-аппараттық абстракция деңгейі үшін(HAL, hardware abstraction layer);табылған құрылғыларды қадағалау кезінде қолданылады, басқасы - Plug-and Play Manager үшін, олармен қалай жұмыс істейтіні белгілі құрылғыларды жазу үшін; және үшіншісі  -  берілген компьютерде бар <<жүйелік ресурстар>> объемын көрсету үшін. (осылай Microsoft терминологиясында оперативті жады аталады)
2. HKLM\SAM
Windows NT басқаруымен компьютерде локальды тіркелу жазбалары мен группаларын құрғанда, олар Windows NT  - да болғандағыдай HKLM\SAM-да сақаталады.Бірақ қарапайым жұмыс кезінде бұл ішкі бөлімде мәліметтерді көруге не өзгерте алмайсыз, және ол негізінен SAM бар болуын болжайтын ескі программалармен сыйымдылығы үшін керек. SAM мәліметтеріне кіруді жүзеге асыратын барлық программалар Active Directory мәліметтерімен жұмысы үшін, немесе Active Directory серверінің жоқтығында SAM мәліметтерімен жұмысына жіберілуі керек.

3. HKLM\SECURITY
HKLM\SECURITY-да қорғанысқа байланысты барлық ақпарат сақталады.
Оның форматы документтелмеген, және сіз бұл ішкі бөлімде түкте де істей алмайсыз.Бірақ ол компьютермен жүйеге кіру үшін сенімді мәліметтерді кэштау үшін, полтитика өңдеу және сервер құпия мәліметтерінің бөлінуі. SECURITY\SAM  ішкі бөлімі HKLM\SAM-нан көп мәліметтерінің көшірмесіне ие.
4. HKLM\SOFTWARE
HKLM\SOFTWARE ішкі бөлімі жүйелік компоненттер мен қосымшалардың глобальды ақпараттарын сақтайтын ішкі бөлімдердің түбір құрылымы болып табылады.Мысалы, HKLM\SOFTWARE\Microsoft\EnterpriseCertificates берілген компьютер үшін сертификаттар (CTLs, certificate trust lists) сақталатын бөлімдерден тұрады. Сертификат орталықтары мен сертификат тізімдері бөлек қолданушылар үшін басқа жерде сақталады.
5. HKLM\SYSTEM\CurrentControlSet.
Windows 2000 жүктеу фазасының соңғы әрекеті соңғы дұрыс жүктеу кезінде қолданылған басқаратын баптаулар мен қызметтер жинағын фиксирлеуге тиісті тізілім жаңартулары болып табылады. CurrentControlSet жүйемен ағымдағы уақытта қолданылатын басқару баптаулар жинағына әрқашан   көрсетеді. Егер сіз HKLM\SYSTEM-ге қарасаңыз, ControlSetXXX-тің көптеген ішкі бөлімдерін көресіз. ControlSetXXX-тің әр ішкі бөлімі жүктеу сәтті не сәтсіздігіне қарамастан
уақыт моментінде болған басқару баптаулар жинағын сипаттайды. CurrentControlSet  ең соңғы басқару баптаулар жинағына көрсеткіш болып табылады, оның кезінде жүктеу сәтті болды, жүктеулердің қайсысы сәтті болғанын анықтау ауыр болғандықтан, операциондық жүйе және қосымшалар CurrentControlSet көрсеткішін қолданады.
Басқаратын өңдеулер жинағын сипаттайтын бөлімде ертерек Windows NT версияларында  болағн, бірақ басқа <<начинкамен>> атаулары бар 4 бөлім бар: 
HKLM\SYSTEM\MountedDevices
Windows 2000 динамикалық дисктерінің томдары администратор үшін көркем техникалық игілік және жетістік болып табылады, бірақ олар дисктегі логикалық томдар туралы ағымдағы конфигурациялар жайлы ақпараттың бар-жоғына байланысты. Қосымшалар бұл ақпаратты Logical \Volume Manager қызметінен алады, өз кезегінде бұл қызмет MountedDevices бөлімшесіндегі монтаждалған және түсінікті құрылғыларының өз тізімін сақтайды. 
HKEY_USERS (HKU)
Сіздің компьютеріңіздің жүйесіне қашан да бір кірген қолданушылардың әрқайсысы үшін жазбалардан құралады.Бөл жазбалардың әрқайсысының иеленушісі сәйкес қолданушылық тіркеу жазбасы болып табылады, онда бұл қолданушының профильдерінің өңдеулері сақталады. 
Мұнда өзінің қолданушылық профилі әлі жоқ, компьютерде тіркелетін қолданушымен қолданушылық профильді жасау үшін қолданылатын Default ішкі кілті көп қызығушылыққа ие.
Нүкте (.) мағына үндемеу бойынша екенін білдіреді. Нүктені алып тастақ бұл қарапайым Default қолданушы аты болады. Қолданушының әр кілт аты HKEY_CURRENT_ USER-де өзіндік құрамы бойынша сәйкес кілтті қайталайды және көрсетеді. Онымен қатар HKEY_CURRENT_ USER-дегі өңдеулер HKEY_USERS-дегіге қарағанда үлкен басымдылыққа ие.
HKEY_CURRENT_USER (HKCU)
HKU ішінде ағымдағы қолданушының профиліне (жүйеге осы моментте кірген) көрсетеді. Microsoft Windows NT қосымшалары барлық қолданушылардың жоғары бағалауларын HKCU-ның бөлімшелерінде сақтауын талап етеді; мысалы, HKCU\SOFTWARE\Binary Research\GhostSrv\Settings Symantec фирмасының Ghost программасы үшін қолданушылардың жеке таңдауларын құрайды.Бұл өнім үшін басқа қолданушылық өңдеулер тура осы қолданушының жүйеге кіруі кезінде сол бөлімшеде кіруге рұқсат етіледі.
HKEY_CVRRENT_CONFIG (HKCC)
Компьютердің ағымдағы жүктелетін конфигурациясы туралы ақпаратты сақтайды. Жекелеп айтсақ мұнда жүктеу кезінде болған құрылғылар мен жүйелік қызметтердің ағымдағы жинағы туралы ақпарат сақталады.Негізінде бұл түбірлік бөлім HKLM ішіндегі бөлімге көрсеткіш болып табылады.
HKEY_CLASSES_ROOT (HKCR)
OLE классының идентификаторлары мен файл кеңейтулерін салыстырады; факт тұрғысынан ол HKLM\SOFTWARE\Classes-қа көрсетеді. Windows(Microsoft Internet Explorer-ді де айтуға болады) проводнигі сиқты жүйелік компоненттер бұл сәйкестіктерді белгілі бір типті файлдарды не мәліметтер объектісін құру немесе ашу кезінде қандай компоненттер не қосымшалар қолданылатынын анықтау үшін керек. Негізінен Windows 2000 бұл сұрақта өз кезегінде HKCR-де сақталған объекттер идентификаторларына сүйенетін СОМ (Component Object Model, модель компонентных объектов Microsoft компоненттік объекттік моделі) моделіне сенеді.
Microsoft фирмасы Windows NT-да HKCR факт тұрғысында екі қайнар көзінен тұратындапй жасады: қолданушы профилі (онда қолданушының жеке индивидуалды өңдеулері сақталады) және барлық жүйе үшін ортақ өңдеулер сақталатын HKLM\SOFTWARE\Classes  бөлімі.Қолданушылар басқа қолданушылардың жұмысына кедергі жасамай СОМ компоненттерін тіркеп, олардың тіркелуін жою, файлдарды салыстыруды өзгерту сияқты әрекеттерді орындай алады. 
Администраторлар HKLM\SOFTWARE\Classes-қа кірудің өкілеттілігін баптай алады, соның арқасында қолданушылар олар үшін сіз орнатқыңыз келетін барлық жүйе үшін ортақ өңдеулерді ауыстыра алмайды. Қолданушылардың әрқайсысының теңдессіз өңдеулері оның теңдессіз тізілім өңдеулері үшін ульи-файлы болып табылатын Usrclass.dat  файлында сақталады.
Тізілім редакторының қолдануы
Егер тізілім параметрлеріннің мағынасын өзгерту керек болса, онда сіз қандай да бір тізілім редакторларының бірімен қолдануыңыз керек.  ММС-консолида, Group Policy объекттерінде , басқару панелінде сіз өзгертетін өңдеулердің көбі негізінде тізілімде сақталады, сондықтан осы утилиттерді өзіндік тізілім редакторы деп қарастыруға болады.
Тізілімнің басқа редакторлары  - сіздің қолданушыларыңыз үшін тарататын файл немесе жүйеге кіру скриптінің бөлігі бола алатын қандай да бір өзгерістерді орындау үшін стандартты емес скриптілер. Бірақ көп жағдайларда тізілімге өзгерістер енгізу кезінде ,  Windows NT құрамына Microsoft-пен қосылаған құрылғылардың екеуінің біреуін қолданасыз: Regedit32.exe немесе Regedit.exe.

Неліктен Windows NT-да екі тізілім редакторы болады? Windows NT 3.1,3.5және3.5.1 шығарылғанда олардың құрамына Regedit32 атты тізілім редакторы кірген. Бұл құрылғы Windows NT тізілім параметрлері мен бөлімдерімен жұмыс үшін тағайындалған және оның жазылған уақытында интерфейс дизайны үшін Microsoft стандарттарына сәйкес келді(шамамен 1992 ж.).
Windows 95 құрылғанда Microsoft осы екі операциялық жүйелердің тізілім структураларының өзгешелігінен Regedit32 Windows 95 интерфейсіне онша сай келмейтінін тапты. Windows 95 үшін өзіндік тізілім редакторы керек болғандықтан, Microsoft қосымша құрылғы құрды- Regedit, және оны Windows 95-пен бірге жеткізе бастады.
Барлығын шатастыру үшін Microsoft Windows NT 4-ке екі редакторды да қосты- Regedit32-ні де, Regedit-ті де. Бұл керек емес қайталау болып көрінуі мүмкін, бірақ негізінде  -  құндылық, өйткені бұл екі программаның айырмашылықтары бар және олар бір-бірін толықтырады. Microsoft бұрынғыша Windows NT құрамына осы екі программаны қосты; кейбір жөндеулерді және қателерді түзеуді санамағанда, Windows 2000-тағы версиялар алғашқыларға ұқсас.
Regedit және Regedit32
Барлық жағдайларды дұрыс қарастыра отырып, тізілімнің екі редакторының қайсысын таңдау?Екі редактор да бірдей мүмкіндіктерге ие. Олардың көмегімен сіз келесі әрекеттерді орындай аласыз:
::	Ағаш түрлі иерархиялық құрылымды графикалық түрде көру 
::	Бөлімдерді, бөлімшелерді, параметрлерді және параметр мағыналарын қарау және өзгерту (сізде бар кіру өкілеттілігіне сәйкес).
::	компьютердің жойылғанымен байланысу ( сізде бар өкілеттілікке сәйкес) және  тізілім құрамын тексеру немесе тіпті өзгерту 
Бірақ әр редактор басқасында жоқ мүмкіндіктерге ие. Regedit32-ден бастайық. Ло арнайы Windows NT үшін құрылды, сондықтан өз пайдалылығын Windows 2000-та да сақтап қалған өзгерістерге ие.
* Тізілім бөлімдері үшін кіруді (ACLs)  бақылаудың тізімін қарау және өзгерту мүмкіндігі 
*  Бөлім аудиті мүмкіндігі, оның көмегімен кімнің бөлімдерді жоюға, өзгертуге және қосуға тырысқанын және бұл әрекеттер сәтт не сәтсіз болғанын бақылау. 
* Алдында сипатталған тізілімнің барлық мәліметтер типін қолдау. Одан басқа сіз басқа тип (қолмен, REG_BINARY мағынасын өзгерте отырып) редакторы көмегімен бір редактор типін редактрлеу. 
*  <<Тек оқу>> режимі, мұнда сіз тізілімді тек көре аласыз, бірақ оған өзгерістер енгізе алмайсыз. 
* Ульи-файлдар немесе жеке бөлімдерді қалпына келтіру және сақтау.
* MDI (multiple documents interface) <<көпдокументті>>, ескі, әр түбірлік бөлім үшін өзінің документ терезесі қолданылатын интерфейс қолданылады. 
Ал Regedit Windows 95 стиліндегі интерфейсте жұмыс үшін проектіленген. Оның функционалды мүмкіндіктері де ерекшеленеді.Осылай, келесі мүмкіндіктер қол жетерлік.
::	 Бөлімдерді, параметр атауларын және параметр құрамын іздеу (кейбір тексттік жолға сәйкестік). Бұл мүмкіндік өте бағалы және Regedit  - ті қолданудың негізгі себебі болып табылады. 
* Windows проводнигі стилінде үйреншікті екі панелді, екі параметрдің не бөлімнің өзара орналасуын салыстыруға көмектесетін интерфейсті қолдану. Ол Windows проводнигі стиліндегі басқа да мүмкіндіктерге ие, контексттік меню, тура орнында редактрлеу және ағашпен ыңғайлы басқару сияқты.  
* Керекті бөлімдерді адамдармен оқуға жарамды тексттік файлдарға импорттау және экспорттау, тек екілік түрдегі бөлімдерді импорттау мен экспорттау ғана емес. 
* Windows NT-ға арналған версияда сіздің ойыңызша жиі редактрленетін бөлімдерді сонда қоса алатын Favorites (Таңдамалы) менюі бар. 
Енді сіз қандай редактормен қолданған дұрыс екенін білесіз бе? Ең жиі қандай редактормен қолдану сіздің жеке таңдауыңызға байланысты. Кейбіреулеріне Regedit-тің жұмыс істеуі ұнайды, ал басқалары оның ескі стилі  Regedit32-ні таңдайды. Егер сіз қай бөлімде кей параметр сақталатынын анықтауға тырыссаңыз, Regedit-ті қолданған дұрыс, бірақ егер бөлімдерге кірудің өкілеттілігін орнату керек болса, Regedit32-ні таңдау дұрыс. 
Біз Regedit-ті қарастырумен шектелеміз.
Regedit бойынша жүгіріп өту
Windows (бәрі бір, қандай версиясы) проводнигі қолданушысы ретінде сіз Regedit  редакторымен қалай қолданатыңызды 85%-ға білесіз. Интерфейс дизайнындағы толық ұқсастық әдетті қолданушылық интерфейстерін қолдану арқылы жұмысты оңайлатуға Microsoft фирмасының күш салуларын көрсетеді. Regedit-тің негізгі терезесі 2-суретте көрсетілген. 

                                       
  2-сурет. Regedit-тің қолданушылық интерфейсі.

Интерфейстің негізгі элементтері түсінікті. Келесі мүмкіндіктерге назар аударыңыз: 
* Registry Editor (тізілім редакторы) терезесінің сол жақ панеліндегі ағаш барлық түбірлік бөлімдер мен ішкі бөлімдерді көрсетеді. Сіздің мұнда көретіңіз сізбен танылған бөлімдер мен ішкі бөлімдерге байланысты. 
* Оң жақ панелде сол жақ панелден таңдалған бөлімдерге сәйкестендірілген параметрлер көрсетілген. Әр параметр мәліметтердің үш элементімен көрсетілген: параметр аты (Атау(Default) әр бөлімде болатын үндемеу бойынша қолданылатын атсыз параметр үшін қолданылады), параметр типі, парамертр құрамы (мәліметтер). 
* Ағымдағы моментте таңдалған бөлімге толық жол жағдай жолында (терезенің төменгі бөлігінде) көрсетілген. Сонымен қатар Regedit Copy Key Name коандасы Edit менюі көмегімен алмасу буферінде бұл бөлімге жолды көшіріп жаза алады; бұл ыңғайлы, егер сіз кітап жазсаңыз немесе басқа бір жұмысты документтесеңіз. 
Интерфейс Windows-тің стандартты басқару элементтерінің көмегімен жұмыс істейді, мұнда бәрі сізге үйреншікті Windows Проводнигінен тізбектей келе пернетақтаның көмегімен <<жалынды пернелер>> және басқа басқару құралдарын қоса. Мысалы, сіз кез келген бөлімге тышқанның сол жағын баса отырып кез ке,лген орынға бара аласыз және Regedit редакторының терезесінің кез келген бөлігіне пернетақтадан атының бірнеше бас әріптерін теріп, сіз тілшесі бар пернелерді қолдана аласыз. 
Бөлімдерді және параметрлерді іздеу 
Regedit программасының Edit мәзіріндегі Find (Іздеу) командасын алтыннан да жоғары бағалау керек, өйткені ол берілген аттарды немесе құрамындағылары бар бөлімдер мен параметрлерді табуға мүмкіндік береді (сурет 3). Қарапайым интерфейске қарамай, бұл құралдың құндылығы үлкен, өйткені барлық Реестрде қажетті параметрді тауып бере алады.  Find диалогтық терезесін қалай қолдану керектігі төменде сипатталған :
::Пернетақтадан Find What (Іздеу) өрісіне сіздің іздеген мақсатты шаблоныңызды енгізіңіз. Қарапайым мәтіндік жолды беруге болады (ASCII кодында), мұнда топтық қойылымның ешқандай символы жіберілмейді. Егер параметрлерді іздеген болсаңыз, онда Regedit сіздің шаблоныңызға байланысты тек жолдық типтегі параметрлерді тексереді (REG_SZ, REG_EXPAND_SZ және REG_MULTI_SZ).
:: Іздеу кезінде қарап шығу  (Look At) облысындағы баптаулар Regedit-тің сізді қызықтыратын мағынаны қайдан іздейтінін көрсетеді. Іздеу үнсіздікте бөлімдер аты (Keys жалаушасы), параметрлер аты (Values жалаушасы) және параметрлер мәні (Data жалаушасы) арасында жүргізіледі, бірақ сіз өзіңіздің баптауыңызды жүргізуіңізге болады.
:: Тек толық жолды іздеу (Match whole string only) жалаушасын орнатып, сіз Regedit программасына жолдың жартысын емес, жолды толық іздеу керектігін хабарлайсыз. Мысалы, егер осы жалаушаны орнатып, <>-ті іздейтін болсаңыз, онда іздеу кезінде HKLM\SOFTWARE\Microsoft \Windows NT бөлімі еленбей қалады.

                                       
Сурет. 3. Regedit программасының Find диалогтық терезесі

Іздеу диалогтық терезесінде баптауды жүргізіп, Ары қарай іздеу (Find Next) батырмасын бассақ, онда Regedit іздеуді бастайды. Соңында екеуінің бірі орындалады: не Regedit Реестрдің соңына бүркеледі (бұл жағдайда сізге іздеу шаблонына сәйкес таба алмағанын хабарлайды), не сәйкестікті табады. Соңғы жағдайда табылған сәйкестік ерекшеленіп белгіленеді; егер табылған сәйкестік  -  сіздің іздегеніңіз болмаса, онда Edit мәзіріндегі Find Next командасының көмегімен іздеуді жалғастыруға болады (немесе, соған сәйкес <<жылдамдататын>> F3 пернесіне басамыз).
Параметрлер құрамындағыларды редактірлеу 
Правка мәзіріндегі Өзгерту командасы белгіленген параметрдің құрамын ауыстыра алады. (Параметрді редактірлей аламыз, оны белгілеп алып немесе Enter пернесін басу арқылы.) Одан кейін көретініңіз редактірленетін параметрдің типіне байланысты; жолдық мән үшін әр түрлі диалогтық терезе, DWORD мәндері және екілік мәндер бар. Regedit көмегімен ол ұстамайтын типтегі мәліметтерді редактірлеуге болады, мысалы, REG_FULL_RESOURCE_DESCRIPTOR немесе REG_MULTI_SZ; бұл мәліметтер типіне ол екілік мәліметтерді редактірлеу үшін диалогтық терезе ашады. Диалогтық терезелер өздігінен толық түсінікті, олардың әрбіреуінде сіз редактірлей алатын ағымдағы параметр көрсетілген. Осы диалогтық терезелерде Cut, Copy және Paste командалары үшін пернетақталық қысқартулар жұмыс істейді.
Бөлімдерді және параметрлерді құру және жою 
Regedit программасының көмегімен бөлімдерді, бөлімшелерді және жеке параметрлерді құруға және жоюға болады. Мұнда Microsoft-тен қарапайым ескертуді қайталау орынды: сіздің компьютерді Реестрдегі қажет емес өзгертулер бұзуы мүмкін. Мәліметтерді қосуда сақ болыңыз және оларды жоюда өте сақ болыңыз. (неге олай екені, <<Өзіңізді дұрыс ұстай білу>> берілген тараудың басында айтылған). Жаңа бөлім құру үшін ол таңдалған бөлімнің бөлімшесі болу үшін, Түзету мәзірін ашыңыз, тышқан курсорын Құру-ға апарыңыз және Бөлім-ді таңдаңыз. Regedit жаңа бөлім құрады және оның атын сіз қалаған қажетті атқа беру үшін, оны белгілейді. (үнсіздікте New Key #1 аты қолданылады.)
Жаңа бөлім автоматты түрде онымен салыстырылып қойылған аты жоқ параметр алады. Сіз New ішкі мәзіріне қалған үш команданы қолдана отырып, басқа да параметрлерді қоса аласыз: String Value (Жолдық параметр), Binary Value (Екілік параметр) және DWORD Value. Regedit басқа типтердің мәліметтерін құра алматынына назар аударыңыз және егер екілік параметр құрсаңыз, онда программа <<шикі>> түрде екілік мәліметті REG_BINARY типіндегі параметр құрады. Құрылатын жаңа параметрлер таңдалған бөлімде мәліметтердің туынды құрылымын береді және үнсіздікте сіз басқаға өзгерте алатын аттарды (New Value it 1, New Value #2 және т.б.) алады. Сіз жаңа параметрлерді құрғаннан кейін және олардың құрамын өзінің қалағанындай өзгерту үшін қарапайым диалогтық терезелермен қолдануға болады.
Параметрлер мен бөлімдерді жою қиын емес. Нені жою керектігін таңдаңыз, Түзету мәзіріндегі Жою командасын қолданыңыз немесе Del пернесін басыңыз. Regedit сізді осы команданы қолдауыңызды сұрайды; сіз қолдау көрсеткен кезде параметрлер мен бөлімдер жойылады.
Реестр мәліметтерін экспорттау және импорттау 
Regedit программасының көмегімен Реестр мәліметтерін импорттауға және экспорттауға болады. Мәтіндік файлдар экспорт және импорт үшін оқуға ыңғайлы және оларды бір компьютерден екінші компьютерге тасу қауіпсіз. Үнсіздікте қабылданған .REG кеңейтілімі бар файлдарға тышқанмен екі рет басқанда, осындай кеңейтілімдегі салыстырмаларды автоматты түрде Regedit жібереді және файл құрамын жүктейді. При помощи команды Export Registry File командасының көмегімен сіз файлдан таңдалған бөлімді сақтай аласыз, ал Import Registry File командасының көмегімен ,керісінше, бөлімді файлдан қалыптастыра аласыз. Реестр файлының импортының жұмыс кезінде Regedit программасының өзінен  -  диалогты терезе пайда болуына назар аударыңыз, ол импорттың сәтті немесе сәтсіз екенін хабарлайды, бірақ сіздің импортты тоқтатуға шамаңыз болмайды. (Бірақ егер де файлын екі рет басып жіберетін болсаңыз, онда қолдау диалогтық терезесі көрінетін болады).
Өзіне меншікті .REG файлын жасауы 
Егер сізге өз қолданушыларыңыздың ішінен Реестрдің өзгертулерін тарату қажет болса, онда .REG файлының көмегімен жасауға болады. .REG меншікті файлдарын құрудың алғашқы және ең қарапайым әдісі, ол Regedit-ті таралатын параметрлер мен бөлімдер экспорты үшін қолдану болып табылады. Бұған балама ретінде Блокноттың (Notepad) немесе басқа да мәтіндік редактордың көмегімен меншікті файлдарды құру болып табылады. Төменде .REG файлына мысал берілген:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug]
"Auto"="1"
"Debugger"="drwtsn32 -p %ld -e -g"
"UserDebuggerHotKey"=dword:00000000
Бірінші жолда Regedit.REG файлын көргені жайлы хабарлама алады. (Келесі бос жолда қажет. Қалған жолдардың форматы түсінікті: квадрат жақшаға алынған жолдың көмегімен бөлім көрсетілген, ал одан кейін әрбір жолда бір параметрден импорттауқа қажетті барлық параметрлер көрсетілген. Параметр аттары және жолдық мәліметтер (параметр құрамындағылар) қос жақша (") символдарымен белгіленген. REG DWORD типінің мәліметтері dword префиксінің көмегімен белгіленеді: оларды жақшаға алудың қажеті жоқ. Бір файлға көптеген бөлімдер үшін өзгертулерін орналастыруға болады, ол үшін әрбір бөлімнің атының алдына бос жолды орналастыру қажет, ал әрбір бөлім параметрлердің кез келген санын бере алады.
Өзіңіздің меншікті бөліміңізді құрыңыз (мысалы, HKLM\SOFTWARE\Testing123) және оған өзіңіздің .REG файлыңызды импорттаңыз, өзіңіз қалаған өзгертулерге дейін орындалғанын қадағалаңыз.
Басқа компьютермен Реестрдің қосылуы 
Егер сіз жүйеге сәйкес өкілеттілікпен кірген болсаңыз, Regedit-ті Реестрге басқа компьютердің қолы жету үшін қолдана аласыз, онда бар мәліметтерге қарауға және редактірлеуге болады. мұндай <<сиқырлыққа>> Regedit-ті жіберетін компьютер үшін де, және Реестрді қарайтын және редактірлейтін, басқа компьютер үшін де сіздің есеп жазбаңыз басқармалы өкілеттілікте болуы керек. Сонымен қатар қолжетімге Group Policy баптауы қарсы тұруы мүмкін.
Сіздің өкілеттілігіңіз дұрыс деп санасақ. Шындығында желіден өшірілген компьютерде қосылу Registry мәзірінің Connect Network Registry командасының таңдауы кезінде болады. Бұл команда желінің құрылымын көре алады және сіз қосылғыңыз келген компьютерді тауып береді. 
Сәтті қосылудан кейін бұл компютердің аты сол жақ панельде, My Computer деңгейімен бірдей шығады. Сіз оның Реестрінің түпкі бөлімдерін аша аласыз, бөлімдерін ақтара аласыз, мәліметтерді іздеп және қалағаныңызша ауыстыра аласыз. Осымен аяқтап, Registry мәзірінде Disconnect Network Registry командасын таңдап, одан кейін өшіретін компьютерді таңдаңыз. 
Параметрлер мен бөлімдердің атын өзгерту 
Сіз параметрдің немесе бөлімнің атын өзгерту үшін Түзету мәзіріндегі Атын өзгерту командасын таңдайсыз немесе контекстік мәзірдің көмегін қолданасыз. 

Жұмыс жүрісі:

      - Regedit реестрі редакторының терезесіне кіріңіз (Жіберу\Орындау\Regedit)
      - Жаңа бөлім құрыңыз (кілт): Түзету\Құру\Бөлім немесе контекстік мәзірді қолдана отырып.
      - құрылған кілт параметрін өзіңіздің қалауыңыз бойынша өзгертіңіз: Түзету\Өзгерту\....
      - Өзіңіз құрған бөлімнің атын өзгертіңіз.
      - Бұл бөлімді жойыңыз.
      - Ал енді біраз реестрмен жұмыс істеңіз, төменде ұсынылған жаттығуларды орындаңыз:
1) Жіберілетін программаларды шектеу.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVerson\Policies\Explorer-де құру қажет 1) 0х00000001 мәні бар DWORD типті RestrictRun кілтін;
	2) аналогты атты бөлімшені және онда программаның жіберілуіне РҰҚСАТ ЕТІЛГЕН тізімдерді санау;
	3)бөлімге кіріп, әрбір программа үшін жолдық кілт құрамыз, онда "1" (тырнақшасыз)  -  бірінші рұқсат етілген программа үшін, "2"  -  екіншісі үшін және т.с.с. программаның жіберілуіне рұқсат етілген файл аттарын көрсету қажет. Файлдардың кеңейтілімі болу қажет, ал жолын көрсету міндетті емес. Мысалы, Word.exe, Excel.exe  
Regedit.exe фалын көрсетуді ұмытпаңыз, әйтпесе сіз реестрдің редакторын жібере алмайтын боласыз.
2) Пуск мәзірінің баптауы.
* Мәзірдің "Іздеу" пунктін өшіріңіз:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer-ге DWORD типті NoFind кілтін тіркейміз. Оның мәнін 0х00000001 тең етіп аламыз, және компьютердің қайта жүктелуінен кейін мәзірдің "Іздеу" пункті жоғалады. Оның қайта пайда болуы үшін осы кілттің мәнін 0х00000000 тең етіп орнату керек немесе кілтті толығымен жою керек.
* "Құжаттар" пунктін өшіру.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer және 0х00000001 мәні бар DWORD типті NoRecentDocsMenu кілтін жазамыз. Алдыңғы пунктіге ұқсас, 0-ге мән құру немесе кілтті жою келесі қайта жүктеуде осы пунктінің пайда болуына әкеледі. 
* HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer-ге 0х00000001 мәні бар ClearRecentDocsOnExit кілтін қосыңыз (жақында ашылған құжаттардың тізімдері компьютердің әркез өшірілуі кезінде тазаланып отыру үшін).  0х0000001 мәні бар NoRecentDocsHistory кілтін қосыңыз (сіз ашатын құжаттар бұл тізімде еске түсірмес үшін).
* Мәзірдің "Таңдалған"пунктін жою.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer-ге  0х00000001 мәні бар NoFavoritesMenu кілтін қосыңыз. Қата жүктегеннен кейін " Таңдалған " мәзірден жоғалады.
* "Баптау" мәзірінен мәзір іші пунктілерін жасыру.
- <<Басқару панелін>> және <<Басып шығарғышты>> <<Жіберу>> мәзірінен және <<Менің компьютерім>> терезесінен жасыру:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer-де.
- "Баптау: NoSetTaskbar кілті мәзірінен"Есептер панелі мен Жіберу мәзірі " пунктін жасыру
- "Жұмыс үстелі Active Desktop: NoSetActiveDesktop кілті пунктін жасыру
- <<Папка қасиеті" мәзір "Баптау: NoFolderOptions кілтін жасыру.
Барлық осы кілттер 0х00000001 мәнін қабылдау керек.
3) <<Орындау>> баптауы
* Оны мәзірден жою: 0х00000001 мәні бар NoRun кілтін реестрінде жазу және қайта жүктеуден кейін  мәзір пункті жойылады.
* "Сеансты аяқтауды" жою: DWORD типтегі NoLogOff кілтін реестрде құру.
* "Жіберу" мәзіріндегі контекстік мәзірге тыйым салу: кілт NoChangeStartMenu
* Есептер панелі үшін контекстік мәзірге тыйым салу: кілт NoTrayContextMenu.
4) MS-DOS сеансын және MS-DOS-тың бірмәнді режимін қолдануға тыйым салу.
Бөлімді ашу
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WinOldApp (егер ол болмаса, онда жаңа бөлім құру керек) және 0х00000001 мәні тең Disabled кілтін қосу керек. Оны 0-ге баптау немесе жою MS-DOS сеансына рұқсат етеді.
5) Желі құрылымына кіруге шек қою.
Параметрлерді баптау үшін барлық кілттер HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network бөлімінде орналасқан, DWORD типі бар, 1 мәні  -  шек қойылды, 0 - жоқ. Егер бөлімде мұндай атты кілт болмса, онда параметр орнатылмаған. 
Басқару панелінде "Желі" диалогын қолжетімсіз етсе (ол "Желілік қоршау" қасиетінен): NoNetSetup кілтін құрыңыз
* "Желі" диалогынан <<Идентификация>> қосымшасын жою: NoNetSetupIDPage кілті
* "Желі" диалогынан "Қолжетімді басқару" қосымшасын жою: NoNetSetupSecurityPage
6) Пароль құрылымына кіруге шек қою. Кілттер реестрдің HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System бөлімінде сақталады, және, алдыңғы пунктіге ұқсас DWORD типінде.
* Басқару панелінен "Қасиет: Парольдер" диалогын қолжетімсіз ету:  NoSecCPL кілтін құрыңыз.
* Бұл кілтті 1-ге орнатыңыз, бұл осы диалогтың "Парольдерді ауыстыру" қосымшасын қолжетімсіз етуге әкеледі;
* NoAdminPage кілтін құрыңыз - диалогтың "Жойылған басқару"  қосымшасы қолжетімсіз болады;
*  NoProfilePage құрыңыз  -  диалогтың "Қолданушылар пішіні" қосымшасы да қолжетімсіз болады.
7) Принтер құрылымына кіруге шек қою. Барлық кілттер HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer бөлімінде орналасқан.  Егер 1 мәні  болса  -  шек қойылды, 0 - жоқ.
* NoPrinterTabs  -  кілт қойылса "Қасиет: принтер" диалогында кейбір қосымшаларды жасырады;
* NoDeletePrinter  -  атынан білгендей, жүйеде принтердің орнатылғандарын жоюға тыйым салады;
* NoAddPrinter  -  ал мына кілт, керісінше, жаңа принтерді қосуға тыйым салады.
8) Жүйелік құрылымдарға кіруге шек қою. Кілттер HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System бөлімінде орналасқан.
* NoDevMgrPage, бұл кілтке 1 мәнін меншіктеңіз - "Қасиет: Жүйе" диалогынан "Құрылғылар" қосымшасы жойылады;
* NoConfigPage - "Қасиет: Жүйе" диалогынан "Жабдықтар пішіні" қосымшасын жасырады;
* NoFileSysPage  -  бұл кілт  "Тез қимылдау" қосымшасындағы "Файлдық жүйе" батырмасын қолжетімсіз етеді;
* NoVirtMemPage  -  орнатылуы кезінде "Тез қимылдау" қосымшасындағы "Виртуальды жады" батырмасын қолжетімсіз етеді.
NTFS өнімділігін үлкейтеміз.
9) Ең бірінші қысқа аттарды құруды өшіреміз. Ол үшін HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Filesystem бөлім реестрінде кілт мәнін NtfsDisable8dot3NameCreation-ды <<1>>-ге өзгерту керек.
10) Екінші қадамда біз файлдың соңғы жаңарту күнінің жазбасын өшіреміз. По-умолчанию NTFS үнсіздікте кез келген файлдың өзгеруі кезінде әркез оның соңғы жаңартылуының күні мен уақытын жазып алады. NTFS-тің үлкен бөлімдерінде бұл маңызды түрде файлдық жүйенің өндірісіне әсер етуі мүмкін: HKEY_LOCAL_MACHINE\SYSTEM\CurrentContolSet\Control\Filesystem-де Ключу NtfsDisableLastAccessUpdate кілтке <<1>> мәнін меншіктеу. Егер мұндай кілт болмса,онда оны REG_DWORD типінде құру керек. 
11) Енді негізгі файлдық кесте үшін жеткілікті орын бөлеміз. 
Ол үшін HKEY_LOCAL_MACHINE\SYSTEM\Current ControlSet\Control\File System бөліміне REG_DWORD типті NtfsMftZoneReservation кілтін қосыңыз. Параметрін 1-ге тең деп анықтаңыз.
Сіз солай істегенде жүйе негізгі кестеден файлды орналастыру үшін дискіде орынды кейінге сақтайды. Ол не үшін қажет? Осы  кестенің өсу процесін бақылауға алу үшін.
12). Жадының өндірісінің баптауы. XP-де өндірісті үлкейтетін жады баптауының бірнеше функциялары бар. Олардың бәрі HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/MemoryManagement бөлімінде орналасқан.
1) Жады диспетчерін өшіру. 
Ол үшін DisablePagingExecutive кілтінің мәнін <<0>>-ден  <<1>>-ге өзгертуіңіз қажет.
2) Жүйелік кэштың үлкеюі. LargeSystemCache кілтінің мәнін <<0>>-ден  <<1>>-ге өзгертіңіз.
13) POSIX-ті өшіру. Осы қолданылмайтын жүйе ішінің өшірілуі жұмыс жылдамдығын бірнеше үлкейтуі мүмкін. Файлдарды жоюмен және өшірумен айналыспау үшін, Windows 2000 файлды қорғаудың осы мақсатында реестр редакторында  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control SessionManager\SubSystems тармағын ашыңыз және Optional мен Posix жолдарын жойыңыз.
14) Графикалық файлдардан тұратын папкалар бойынша навигацияны жылдамдату үшін <<Әрбір папканың көріну параметрін есте сақтау>> пунктінен белгіні алып тастау қажет.  (Басқару панелі\Папканың қасиеті\Түр).
15). DLL кэшінің өшірілуі. Реестр редакторын қолдана отырып, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Explorer тармағында параметрі AlwaysUnloadDLL жаңа DWORD құрыңыз, және оның мәнін <<1>> -ге тең деп орнатыңыз.
16). Дискіде бос орын жоқтығы жайлы хабарламаның өшірілуі.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer-ге NoLowDiskSpaceChecks атты жаңа DWORD параметрін қосамыз және оның мәнін <<1>> -ге тең деп орнатамыз.
17) History-дегі құжаттардың жазбасын өшіреміз. Әдетте кез келген құжатты ашу кезінде ол Жіберу\Менің құжаттарым-нан табылатын тізімге қосылады. Оны өшіру үшін, реестр редакторын қолдана отырып, HKEY_CURRENT_USER(HKEY_LOCAL_MACHINE)\Software\Microsoft\Windows\Current Version\Policies тармағын іздейміз және NoRecentDocsHistory кілтін құрамыз, (егер ол құрылмаса),  оған <<1>> мәнін орнатамыз.
18). Қосымшаны жүктеу уақытын азайтамыз. Программа жарлығының қасиетіне /prefetch:1 командасын қосу жеткілікті және оның жүктелу уақыты бірнеше ретке азаяды. Сіздің компьютерге NeoTweakerPro орнатылған делік. Оң жақ батырмамен NeoTweakerPro жарлығына бассаңыз және мәзірден <<Қасиет>> пунктін таңдайды. <<Объект>> ұяшығында файлға деген жолдан кейін /prefetch:1 ( <> кейін бос орын қалдыруды ұмытпаңыз) қосыңыз, <>-ді басыңыз.
19) Жүктеу кезіндегі HDD-дің баяу жұмысы.
Жіберу\Басқару панелі\Басқарма\Құрылғылар диспетчерін ашамыз және IDE/ATAPI-контроллерін таңдаймыз. <<Алғашқы IDE каналы>> қасиеттерін ашамыз және Қосымша Параметрлер пунктін таңдаймыз. Құрылғы 0 (немесе Құрылғы 1) бөлімінде Жоқ мәні қайда болатынын таңдаймыз.
20) CTRL+ATL+DEL басылуын Windows-ті жүктегеннен кейін өшіреміз. Басқару панелі \Басқарма \Жергілікті қауіпсіздіук политикасы \ Жергілікті политикалар \Қауіпсіздік параметрлерінен CTRL+ATL+DEL жүйеге ену туралы сұранысты өшіру пунктін табамыз да, екі рет шертеміз және Қосу пунктін таңдаймыз.
21). Windows2003 базасындағы компьютерде шығу\өшіру\қайта жүктеу әрекеттерін орындауда пайда болатын терезені өшіреміз, яғни Shutdown Event Tracker өшіреміз. Жіберу\Орындау\gpedit.msc топтық политика редакторын жібереміз, <<Жұмыстың аяқталуын бақылайтын диалогты көрсету>> (Display Shutdown Event Tracker) (Компьютердің конфигурациясы \Басқарма шаблондар\Жүйе) оқиғасын табамыз және қасиеттеріне параметр ретінде <<Өшіру>>-ді қоямыз. Мұнда <<Бір жолы орындалған программаның автожіберілуінің тізімін өшіру>>, <<Автожіберілуді өшіру>>, <<Жүктеме жағдайының хабарламаларын өшіру. Жұмысты аяқтау>> белгілерін өшіреміз.
22) NeoTweakerPro программасын жіберіп, оның мүмкіндіктерін көріңіз. Берілген программаны қолдана отырып, сіз жасаған барлық баптауларды орындауға болады. NeoTweakerPro-да орындаған баптауларға сәйкес баптауларды іздеп көріңіз. 

Есеп берудің құрамында жұмыс бойынша мыналар болу қажет:
* Әрекеттер жұмысында барлық орындалғандардың нақты сипаттамасы.
* Бақылау сұрақтарына жауаптар.

Бақылау сұрақтары:
      - Реестр дегеніміз не?
      - Реестрдегі мәліметтер қайда қолданылады?
      - Реестрде мәліметтердің қандай типтері сақталады?
      - Реестрдің құрылымы. Негізгі түсініктер.
      - Реестрдің 5 ұясы. Олардың сипаттамалары және олардың ішкі бөлімдері.
      - Іздеу терезесінің қызметі.
      - Реестрдің мәліметтерінің экспорты мен импорты ненің көмегімен жүзеге асады?
      - .REG өзіндік файлдарын құру
      - Реестрмен басқа компьютердің қосылуы.

                                       
Зертханалық жұмыс № 4
Тақырыбы: Тапсырмалар диспетчері. Процесстер, ағындар.
Жұмыстың мақсаты: Диспетчердің функцияларымен танысу. Процесстермен танысу.

Теориялық мәліметтер:

Тапсырмалар диспетчері (Task Manager)
Компьютереде жүріп жатақан программалар және процесстер тұралы мәліметтер беретін Windows программасы. Диспетчердәң көмегімен программаларды қосып аяқтауға болады, процесстерді қосып, жүйенің жұмысын бақылауға болады
Диспетчерді іске қосу
Оның үш тәсілі бар: 
* Тапсырмалар панелінде маустың оң жақ батырмасын басып көрінген контекстті мәзірде Диспетчер задач пунктін шерту. 
* Ctr>+Alt+Del батырмаларының комбинациясымен. 
* Орындау (Выполнить (Run)) командасын шақырып taskmgr еңгізу керек. 
Диспетчердің ішінде 3 вкладка бар:
1) Приложения
Оның ішінде компьютердегі жүріп жатқан программалардың қалыптары көрінеді.
2) Процессы (Processes (сур 1))
Іске қосылған процесстерді көрсетеді.
Процесстер кестесі өзіндік адрестік аумақта қосылған поцесстердің барлығын сақтайды.
                                       
          Сур.1.  Процессы (Processes) вкладкасы.

Егер 16  -  разрядты процесстерді көру керек болса, онда Параметры мәзірінде Отображать 16-разрядные задачи (Show 16-bit tasks) командасын таңдаңыз.
 Вид\Выбрать столбцы командасының көмегімен экранға көрсеткіштердің жаңа бағандарын қосуға болады. Кестеде көрсетілуге тиісті көрсеткіштердің қастарына флажоктарды.
1-ші кестеде кестенің негізгі бағандары туралы қысқа мәлімет берілген. 
1 кесте. Диспетчердің негізгі счетчиктері
Счетчик 
Жазбасы 
Имя образа (Image Name) 
Процесстің аты 
Идентификатор процесса (PIQ) (Process Identifier) 
Процессті жұмыс кезенінде уникалдьді түрде анықтайтын сандық мән 
Загрузка ЦП (СРЦ Usage) 
Процессордың процесспен қолданылған проценттермен көрсетілген уақыт
Время ЦП (CPU Time) 
Процесстің іске қосылу кезінде қолданылған уақыт  ( секундтарда) 
Память --  использование (Merhbry Usage) 
Процесспен қолданылатын виртуалды жадтың көлемі ( килобайттарда) 
Память --  изменение (Memory Usage Delta) 
Соңғы жаңарту өткізгенне кейін болған жадтың көлемінің өзгерістері. 
Память --  максимум (Peak Memory Usage) 
Іске қосылғаннан кейін процесспен қолданылған белгіленген жадтың максималды көлемі. Выделенной памятью является память, которую процесс использует на физическом носителе (например, в ОЗУ) или в файле подкачки.
Ошибки страницы (Page Faults) 
Үзілістердің саны 
Объекты USER (USER Objects) 
Анықталған процесспен берілген уақытта қолданылып жатқан USER нысандарының саны. 
Число чтений (I/O Reads) 
Оқу процессімен генерацияланған еңгізу/шығару операцияларының саны, олардың ішіне файлдарға және желілерге арналған операциялар кіреді 
Прочитано байт (I/O Read Bytes) 
Еңгізу/шығару операцияларының жүрісінде оқылған байттардың саны, олардың ішіне файлдарға және желілерге арналған операциялар кіреді 
Ошибки страницы --  изменение (Page Faults Delta) 
Соңғы жаңартудан кейін болған парақтардың қателіктерінің саны 
Объем виртуальной памяти (Virtual Memory Size) 
Процесске берілген  виртуалды жадтың немесе адрестік аумақтың көлемі 
Выгружаемый пул (Paged Pool) 
Дискке кэширование жасау мүмкіндік беретін виртуалды жад. Кэширование дегеніміз жұмыс жадының сирек қолданылатын компоненттерінің ОСА- дан (ОЗУ)басқа жиі жағдайларда қатты дискке көшіру. 
Невыгружаемый пул (Non-Paged Pool) 
Процесспен қолданылатын операциялық жүенің жадының көлемі ( килобайттарда). 
Базовый приоритет (Base Priority) 
Процессормен оңделуге арналған ағамдарының диспетчеризация ретін анықтайды. 
Счетчик дескрипторов (Handle Count) 
Процесстер нысандарының кестесіндегі нысандардың дескрипторларының саны 
Счетчик потоков (Thread Count) 
Процессте қосылған ағымдарының саны 
Объекты GDI (GDI Objects) 
Процесспен берілген моментте қолданылатын GDI нысандарының саны. 

Число записей (I/O Writes) 
Жазу процессімен генерацияланған  еңгізу/шығару операцияларының саны, олардың ішіне файлдарға және желілерге арналған операциялар кіреді 
Записано байт (I/O Write Bytes) 
Еңгізу/шығару операцияларының кезеніндегі жазу процессімен генерацияланған жазылған байттар саны. 
Код сеанса (Session ID) 
Терминалдар қызметтерінің сеанс идентификаторы (Terminal Services), егер олар орнықтырылған болса. 
Имя пользователя (User Name) 
Терминалдар қызметтерінің процесстеріне ие бола алатын тұтынушының аты 
Диспетчерде жаңартудың келесі жылдамдықтырын қоюға болады: 
Жоғары (High)  --  әр жартысекундта жаңарып отырады 
Әдеттегі (Normal)  --  Әр секундта 
Төмен (Low)  --  көрсеткіштер әр 4 секунттажаңарып отырады 
Тоқтату (Paused)  --  автоматикалық жаңару орындалмайды.
Жаңарту орындау үшін келесі команданы таңдаңыз Вид\Обновить (Refresh Now) немесе   пернесі.
3) Жылдамдық (Performance) (сур2)
Жүйенің орныдау қызметін бақылайды
                                       
        сур. 2. Жылдамдық вкладкасы (Performance)

Жұмыс барысы:

1.Ядро режимінде процессор жұмыс істеген уақытын экранға проценттерде көрсету.
 Быстродействие\Вид\Вывод времени ядра (Show Kernel Times) вкладкасы.
Оперциялық жүйенің қызметтерімен қолданылған уақытқы тең болатын мән. Қалған жұмыс уақытында процессор тұтынушы режимінде жұмыс істеген.
 Вывод времени ядра командасын таңдаған кезде  Загрузка ЦП және Хронология загрузки ЦП графиктеріне қызыл сызықтар қосылады. Бұл сызықтар ядро операцияларымен қолданылатын  ЦП ресурстарының көлемін көрсетеді.
2. Диспетчер көмегімен программаның жұмысын аяқтау.
* Приложения вкладкасында аяқтау керек программаны таңдаңыз.
* Снять задачу батырмасын шертіңіз.

3. Диспетчера процесстің жұмысын аяқтау .
* Процессы вкладкасында аяқтау керек процесстің үстінде маустың оң жақ батырмасымен шертіңіз.
* Завершить процесс командасын таңдаңыз.
Тек қана бір емес бірнеше процесстерді аяқтауға болады:  Процессы вкладкасында аяқтау керек поцессті шертіңіз, Завершить дерево процессов командасын таңдаңыз.

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

1. Процессы вкладкасында өзгертуге тиісті приоритетті шертіңіз.
2.Бағыттауышты  Приоритет (Set Priority) пунктына қойыңыз және керекті параметрді шертіңіз (сур . 4).
                                       
Сур  4. Диспетчерде процесстің базалық приоритетін өзгерту

Орындалып жатқан программалардың приоритеттерін қарау үшін Вид мәзіріндегі Процессы вкладкасында Выбрать столбцы командасын таңдаңыз, Базовый приоритет белгісін қойыңызда  ОК батырмасын басыңыз.
Приоритетті өзгерту программаның орындалу жылдамдығына әсер етуі мүмкін.
5. Жаңа программаны қосу.
1. Приложения вкладкасында Новая задача батырмасын басыңыз.
2.  Открыть өрісінде программаның атын және орналасқа жерін еңгізіп ОК батырмасын шертіңіз.
6. Басқа программаның терезесіне көшу.
1. Приложения вкладкасында қай программаға көшетінді анықтаңыз.
2.  Переключиться батырмасын шертіңіз.

7. Процесстер тізімін сорттау.
 Процессы вкладкасында сорттау жасайтын бағанның атын шертіңіз.
Кері ретте сорттау жасау үшін бағанның атында екі рет шертіңіз.
Өзіңіз орныдаңыз:
  + Сізде счетчиктер қалай қосылып тұр?
  + Автоматты түрде жаңару режімінің жиелігін өзгертіңіз.
  + Процесстердің счетчиктерінің көрсеткіштерін өзіңіз жаңартыңыз.
  + Процессордың ядро режимінде жұмыс істеген уақытын экранға шығарыңыз. Нені көрсетіп тұр?
  + Кез-келген программаны іске қосыңыз. Сіздің процессіңіздің базалық приоритетін өзгертіңіз. 
  + Орындалып жатқан программалардың біреуін аяқтаңыз.
  + Орындалып жатқан процесстердің приоритетін қараңыз.
  + Диспетчердің көмегімен жаңа программаны қосыңыз.
  + Басқа программаның терезесіне көшіңіз.
  + Процесстер тізімін үлкейу ретінде сорттаңыз.
  + Процесстер тізімін кішірейу ретінде сорттаңыз.

Зертханалық жұмыс № 5
Тақырыбы: Операциялық жүйеге қызмет көрсету.
Жұмыстың мақсаты: Windows операциялық жүйесінің интерфейстерімен танысу. Операциялық жүйеге қызметші бағдарламаларды қарастыру.

Теориялық мағлумат:

1. Қатқыл дисктің қателіктерін анақтап оларды түзеу
Қатқыл дисктің жұмысын арнайы программалық аспаптармен тексеруге болады. Бұл программалық аспаптың қызметін  Проверка диска(ScanDisk)  программасы атқарады. Оны контекстного меню диска  -  пункт свойства  -  вкладка сервис операцияларының көмегімен іске қосуға болады.
                                       
Дискті тексергенде барлық программаларды жапқан дұрыс болады. Сканерлеу программасының процессінде ешқандай программа логикалық дискпен жұмыс істей алмайды. 
Сканерлеу программасын командалық жолдан шақыруға болады, chkdsk  және логикалық дисктің атын жазу керек. 
2. Қатқыл дисктің дефрагментациясы 
Дефрагментация процессі қатқыл дисктегі сақталған программалар файлдарын және мәлеметтерді реттейді,  бұл операцияның нәтижесінде қатқыл дисктің жұмысы көрінетңн дірежеде жылдамдайды. Шыныменде, компьютердің жұмыс істеу процессінде жазу, жою және файлдардың ұзындықтарын өзгерту процесстері жиі қолданылады. Бұндай амалдарды орындау нәтижесінде файлдардың тең жартысы қатқыл дисктің әр жерлерінде жатқан үзінділер болып қалады. Фрагментация файлдар дискіде басқа файлдарды жойғаннан кейін қалған орындарға жазылғанның нәтижесінде пайда болады. Одан басқа файлдар өзгеру процессінде үлкейгендіктен файлдар үзінді болып шығады. Осындай файлдарды оқу үшін қатқыл дисктің оқу құралы әрдайм орнын өзгертіп отырады. Оның бәріне көп уақыт кетеді. 
Дефрагментация процессін іске қосу үшін төмендегі суреттегідей келесі команданы орындау керек:

                                       

3. Қатқыл дискті тазалау
Windows  күрделі жүйесімен жұмыс істегенде бар файлдардың маңыздылығын бағалау оңай емес. Кейде  Windows файлдарды анықталған қажеттіліктерге қолданады, содан кейін оларды уақытша файлдар папкаларына сақтайды. Оның үстіне компьютерде алдында орнықтырылған енді қолданылмайтын Windows компоненттері болу мүмкін. Әр түрлі себептерден бос орын жетіспегендіктен, кейбір программаларды жою керек болады.   Бұл мақсат үшін Windows жүйесінің ішінде Очистка диска (Дискті тазалау) (Пуск/Программы/Стандартные/Служебные/Очистка диска)
Дискті тазалау мастерінің көмегімен орындалатын операциялар төменде көрсетілген.
* Уақытша файлдарды жою. 
* Интернеттен алынған программалардың файлдарын жою. 
* Корзинаны тазалау. 
*  Windows-тың қолданылмайтын файлдарын жою. 
* Қолданылмайтын программаларды жою. 


Жұмыстың жүрісі:
* Қатқыл дискті тексеріңіз.
* Дисктің дефрагментациясын орындаңыз.
* Қатқыл дискті тазалаңыз.

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

* Дискпен қолданғанның нәтижесінде пайда болатын қателіктер. Қателіктердің түрлері.
* Қателіктерді жою тәсілдері. Способы устранения ошибок.
* Қатқыл дисктің фрагментациясы.
* Дефрагментация. Міндеті.
* Қатқыл дискті тазадау. 


4 ТӘЖІРИБЕЛІК ЖҰМЫСТАР
Тәжірибелік  жұмыс № 1
Тақырыбы: ОЖ-дегі параллельді процесстердің синхронизациясын орындау.
	Тәжірибелік жұмыстың мақсаты  -   ОЖ-де параллельді процесстердің синхронизация әдістерімен танысып оларды зерттеу.
* "Читатели  -  Писатели"алгоритмі
*  Хоар мониторлары
*  Дейкстрдың семафорлық примитивтері
*  Деккер алгоритмдері
* Тредтер
* "Почтовые ящики"алгоритмдері
                                       

* <<Параллельді процесстердің синхронизациясын орныдау>> бағдарламалар кешенінің жазбалауы
Берілген бағдарламалар кешені өзара байланысатын есептеу процесстерінің синхронизация механизмін зерттеуге арналған. Жұмысты бастаудың алдында келесі шарттарды орындау керек, өйткені бәр бағдарламалық орта ретінде Microsoft C# бағдарламасымен қолданамыз. Бұндау бағдарламаны таңдау кездейсоқ  емес, өйткені Microsoft C#  - кәзіргі кездегі осындай біздің бағдарламаға ұқсас бағдарламаларды жазуға арналған қуатты жабдық. 
	Сонымен, SyncManager.exe  файлын іске қосу үшін Microsoft .NET Framework 1.1 қосымшасын орнықтыру керек, ол Microsoft C#  ортасында  "шеңберлермен" жұмыс істеуге мүмкіндік береді, сонымен қатар компьютерде  Internet Explorer- дың  болуын талап етеді.  Microsoft .NET Framework 1.1 және  Internet Explorer  қосымшалары бағдарламалар пакетіне қосылады.
Барлық қажетті қосымшалар орнықтырылғаннан кейін, бағдарламамен жұымс істеуге кірісуге болады. SyncManager.exe файлын іске қосамыз жіне экранда 1.1.суреттегі терезені көреміз.
                                       
                                  Сур. 1.1
	Интерфейс  -  қарапайым терезе, бағдарламаның атынан және ағындағы версиясынан, және төрт қалташасы бар панелінен тұрады. 
         Жұмыс терезесі екі панелден тұрады: 
	Process  -  процесстің аты; 
	ID  -  процесстің идентификациялық номері.
        Терезенің төменгі жағында синхронизация орындау әдісі жазылады. Егер әдіс берәлмеген болса, онда сәйкес ескерту шығарылады. 
Басқару панелі төрт қалташадан тұрады: 
Вид;
Процесс;
Метод; 
Справка;
	"Вид" қалташасын шерткенде "Лог" мәзірі шығады, оны белгілеп біз 1.2. суреттегі жағдайға тап боламыз.
                                       
                                 сур. 1.2.
	Біз көргендей, "История работы процессов" деген жаңа терезе пайда болды, бұл терезе берілген уақыттағы процесстің ағындағы қалпын бейнелеп отырады. Берілген терезеде ағындағы күн, ай, жыл, ағындағы уақыт, ID процессінің аты, және,  әрекеттер  -  процесс айналысып отырған әрекет, көрсетіледі. Жұмысытың ең басында бұл терезеде бос болады. Егер де жұмыс процессінде және "История работы процессов"  терезесінің толған кезінде, оның бір долын белгілеп "Del" басуға болады, сонда бұл терезе тазарады. Бәрақ егер "Обновить" бассақ, бағдарламаның бүкіл қолданылу бойындағы барлық тарихы шығады. Яғни, егер біз терезедегі болған барлығын жойып тастасақ және содан кейін бағдарламамен бір жұмыс орныдасақ, және тағыда "История работы процессов" терезесіндегіні жойып тастасақ, "Обновить" басқаннан кейін барлық тарихы шығады, және қай ретте болды сондай ретімен шығады.       
	 "Процесс"- ті шерткенде басында бір пункттен туратын "Добавить  Ins" мәзір шығады  -  бұл пунктті шерткенде жаңа пункт пайда болады немесе процесс қосылады. Ins  -  басқа пункттерде қолданушыға ыңғайлы болу үшын тұрған ыстық пернесі.  Кем дегенде бір процесс құрғаннан кейін, "Процесс" басқанда, толық барлық мүмкіндіктері бар мәзір шығады. Бірақ процесстерді құру және олармен жұмыс істеу бір шарт бойынша ғана болады, синхронизация әдісі таңдалған болу керек, әйтпесе "Добавить    Ins" шерткенде бағдарлама келесі қателікті көрсетеді (сур.1.3 көріңіз ). 
                                       
                                 сур. 1.3.
	Синхронизация әдісі  "Метод" қалташасында орындалады, оны шерткенде алты әдісі бар мәзір пайда болады. Әдісті берген кезде әдістің аты жұмыс терезесінің төменгі жағында көрсетіледі. 
	Сонымен , мысалы "Читатели  -  Писатели Ctrl+D1" пункті таңдалған болсын. Қолданылатын синхронизация әдісі "Читатели  -  Писатели", ал Ctrl+D1  -  ыстық перенелер. Шын мәнінде, бір де бір процесс құрастырылмаған кезде "Процесс" келесі түрге ие болады (сур. 1.4.).
                                       
                                 сур. 1.4.
	Мәзірде тек бір пункт қолжетімді, ол - "Добавить  Ins", ал жұмыс терезесінің төменгі жағында біз таңдаған әдіс көрсетілген, берілген жағдайда "Читатели  -  Писатели"  әдісі(сур. 1.5.). 
                                       
                                 сур. 1.5.
Егер  "Добавить  Ins" шертіп бір процесс құрсақ,  онда  "Процесс" қалташасын шерткенде мәзір оданда толығырақ болады (сур. 1.6.).
                                       
                                 сур.  1.6.
	
"Добавить  Ins" пунктіне туғыда мәзір пункттері қосылды:

  "Удалить  Del"               - Таңдалған процессті немесе процесстерді жояды;
  "Удалить всё  Ctrl+A"  - жұмыс терезесіндегі барлық процсстерді жояды;
  "Запустить  Ctrl+S"      - таңдалған процесстердің жұмысын іске еңгізеді;

  "ОстановитьCtrl+D"    - таңдалған процесстердің жұмысын тоқтатады. 
	

                                       
                                 Рис.  1.7.
	
Қалташа синхронизацияның алты әдістерінен тұрады:
"Читатели  -  Писатели  Ctrl+D1";
"Мониторы Хоара  Ctrl+D2";
"Семафорные примитивы Дейкстры  Ctrl+D3";
"Алгоритм Деккера  Ctrl+D4";
"Треды  Ctrl+D5";
"Почтовые ящики  Ctrl+D6". 
Сәйкес пунктті шертіп синхронизацияның кез-келген түрін таңдауға болады. "Почтовые ящики  Ctrl+D6" әдісі таңдалған болса,  мәзірдің  тағыда екі пункті пайда болады: 
"Настройка"; 
"Состояние ящика" (сур. 1.8.).
                                       
                                 сур.  1.8.
	 "Настройка"  пунктінде пошта жәшігі деген сияқты маңызды параметрлерді орнықтыруға болады:

"Максимальное количество сообщений в буфере"     -  максимум 100;                       
"Максимальная длина сообщений в символах"          -  максимум 100;
"Время жизни посланного сообщения в секундах"     -  максимум 100.


Керектіні орнықтырғаннан кейін "Принять" батырмасын шерту керек. 

	"Состояние ящика" пунктінде келесі параметрлерді көріп шығуға болады: 
"Текущее количество писем"  -  жәшіктегі хаттар саны; 
"Всего отправлено"                   -  жіберілген хаттар саны.
 	Деректерді жаңарту үшін "Обновить" батырмасын басу керек (сур. 1.9.).
                                       
                                 сур.  1.9.
	

"Справка" мәзірінңғ ішіне   "О программе" пункті кіреді, бұл пунттің ішінде бағдарлама тұралы және оның авторы туралы мәліметтер жазылған (сур. 1.10.).
                                       
                                сур.  1.10.
	Құруға болатын процесстердің максималды саны -50, әр процесстің орындалуының максималды уақыты  -  60 секунд. 

                        2.Жұмысты орындау
         "Читатели  -  Писатели" алгоритмі
                                       
* Алдымен "Метод" мәзірінде сәйкес пунктті таңдаңыз. Ыстық перенелермен қолдануға болады.
*  "Добавить  Ins" пунктін басып процесстердің керекті санын құрыңыз. 
     Процесстің үстінен екі рет шертіп  оны өзіңізге ыңғайлы қылып орнықтыруға болады: процесс кім болады  -  окырман немесе жазушы, сонымен қатар, әр процесстің орындалу уақытын қоюға болады (сур. 2.1.).

                                       
                                 сур.  2.1.

3.  Процесстерді кез-келген ретте іске қосуға болады, 
"Старт"  батырмаларын шертіп, тағыда оларды бағдарламаның басты терезесінен іске қосуға болады, керекті процесстерді таңдап "Процесс" мәзірінен   
"Запустить  Ctrl+S"  пунктін таңдап. 
     4.  Содан соң берілген уақытта әр процесстің жұмысын бақылау үшін  "История работы процессов" терезесін көруге болады  (сур. 2.2.).
                                       
                                 сур.  2.2
                                       
                        Хоар мониторлары
* Алдымен "Метод" мәзірінде керекті пунктті таңдаңыз. Ыстық батырмалармен қолдануға болады.
*  Добавить  Ins" пунктін басып процесстердің керекті санын құрыңыз. 
*      Процесстің үстінен екі рет шертіп  оны өзіңізге ыңғайлы қылып орнықтыруға болады: процесс кім болады  -  окырман немесе жазушы, сонымен қатар, әр процесстің орындалу уақытын қоюға болады   ( сур. 2.3.).

                                       
                                 Рис.  2.3.

3.  Процесстерді кез-келген ретте іске қосуға болады, 
"Старт"  батырмаларын шертіп, тағыда оларды бағдарламаның басты терезесінен іске қосуға болады, керекті процесстерді таңдап "Процесс" мәзірінен   
"Запустить  Ctrl+S"  пунктін таңдап. 
     4.  Содан соң берілген уақытта әр процесстің жұмысын бақылау үшін  "История работы процессов" терезесін көруге болады (Сур. 2.4.).
                                       
                                 сур.  2.4.
       Дейкстрдың семафорлық примитивтері
                                       
1.  Алдымен "Метод" мәзірінде керекті пунктті таңдаңыз. Ыстық батырмалармен қолдануға болады.
2. Добавить  Ins" пунктін басып процесстердің керекті санын құрыңыз. 
     Процесстің үстінен екі рет шертіп  оны өзіңізге ыңғайлы қылып орнықтыруға болады: процесс кім болады  -  окырман немесе жазушы, сонымен қатар, әр процесстің орындалу уақытын қоюға болады   (сур. 2.5.).
                                       
                                 сур.  2.5.
3. Процесстерді кез-келген ретте іске қосуға болады, 
"Старт"  батырмаларын шертіп, тағыда оларды бағдарламаның басты терезесінен іске қосуға болады, керекті процесстерді таңдап "Процесс" мәзірінен   
"Запустить  Ctrl+S"  пунктін таңдап. 
     4.  Содан соң берілген уақытта әр процесстің жұмысын бақылау үшін  "История работы процессов" терезесін көруге болады   (сур. 2.6.).
                                       
                                 сур.  2.6.

                        Алгоритм Деккера
1.  Алдымен "Метод" мәзірінде керекті пунктті таңдаңыз. Ыстық батырмалармен қолдануға болады.
2. Добавить  Ins" пунктін басып процесстердің керекті санын құрыңыз. 
     Процесстің үстінен екі рет шертіп  оны өзіңізге ыңғайлы қылып орнықтыруға болады: процесс кім болады  -  окырман немесе жазушы, сонымен қатар, әр процесстің орындалу уақытын қоюға болады (сур. 2.7.).
                                       
                                 Рис.  2.7.
3. Процесстерді кез-келген ретте іске қосуға болады, 
"Старт"  батырмаларын шертіп, тағыда оларды бағдарламаның басты терезесінен іске қосуға болады, керекті процесстерді таңдап "Процесс" мәзірінен   
"Запустить  Ctrl+S"  пунктін таңдап. 
     4.  Содан соң берілген уақытта әр процесстің жұмысын бақылау үшін  "История работы процессов" терезесін көруге болады (сур. 2.8.).
                                       
                                Сур..  2.8.
                                Тредтер
 1.  Алдымен "Метод" мәзірінде керекті пунктті таңдаңыз. Ыстық батырмалармен қолдануға болады.
2. Добавить  Ins" пунктін басып процесстердің керекті санын құрыңыз. 
     Процесстің үстінен екі рет шертіп  оны өзіңізге ыңғайлы қылып орнықтыруға болады: процесс кім болады  -  окырман немесе жазушы, сонымен қатар, әр процесстің орындалу уақытын қоюға болады   (сур. 2.9.).
                                       
                                 сур.  2.9.
3. Процесстерді кез-келген ретте іске қосуға болады, 
"Старт"  батырмаларын шертіп, тағыда оларды бағдарламаның басты терезесінен іске қосуға болады, керекті процесстерді таңдап "Процесс" мәзірінен   
"Запустить  Ctrl+S"  пунктін таңдап. 
     4.  Содан соң берілген уақытта әр процесстің жұмысын бақылау үшін  "История работы процессов" терезесін көруге болады (сур. 2.10.).
                                       
                                сур.  2.10.
                                       
             "Пошта жәшіктері" алгоритмі
1. 1.  Алдымен "Метод" мәзірінде керекті пунктті таңдаңыз. Ыстық батырмалармен қолдануға болады.
2. "Настройка"мәзіріне кіріп, кейбір параметрлердің мәндерін қойыңыз
: "Максимальное количество 
    сообщений в буфере", "Максимальная длина сообщений в 
    символах",  "Время жизни посланного сообщения в секундах". 
    Онықтырғаннан кейін "Принять" батырмасын шертіңіз (сур. 2.11.).
                                       
                                сур.  2.11.
2. Добавить  Ins" пунктін басып процесстердің керекті санын құрыңыз. 
     Процесстің үстінен екі рет шертіп  оны өзіңізге ыңғайлы қылып орнықтыруға болады: процесс кім болады  -  окырман немесе жазушы, сонымен қатар, әр процесстің орындалу уақытын қоюға болады (сур. 2.12.).
                                       
                                сур.  2.12.
* "Получатель ID" өрісінде хабарламалардың  қабылдап алатынның ID-ін қою керек. 
     Егер қабылдаушы таңдалмаса, бағдарлама келесі ескертуні шығарады
 (сур. 2.13.).
                                       
                                сур.  2.13.
*  "Сообщение"  өрісінде жіберілетін хабарламаның мәтінін жазыңыз.
   Егер хабарламаның ұзындығы максималды ұзындықтан асып кетсе, бағдарлама келесі ескерту шығарады (сур. 2.14.).
                                       
                                сур.  2.14.
*  "Время отпр./пол. (с):" өрісінде хабарламаны жіберу уақытын және қабылдау уақытын таңдау керек.
8. Одан төмен  терезеде  "Полученные сообщения:" өрісі орналасады, мұнда біз хабарламаларды қабылдаймыз.
9. Терезенің ең астында екі батырма орналасқан: "Отправить" және "Принять", оларды шерткенде сәйкесінше хабарламаларды қабылдаймыз және жібереміз.
10.Содан соң  "История работы процессов" терезесін көруге болады (сур. 2.15.).
                                       
                                сур.  2.15.
Жұмысты аяқтағанна кейін  "Состояние ящика",  "Текущее количество писем" және "Всего отправлено" мәзірлерін көруге болады. (сур. 2.16.)
                                       
                                сур.  2.16.
Тәжірибелік жұмысты орындау үшін компьютерде "Синхронизация параллельных процессов в ОС" бағдарламалар кешенін орнықтыру керек.	 
	Тәжірибелік жұмыстың есебіне әр пункт бойынша келесілер кіру керек:

* Қолданылатын синхронизация әдісінің қысқышы жазбасы.
* Зерттеу кезінде пайда болған жағдайлардың жазбалары, және "История работы процессов"  терезесінің мазмұны;
* Зерттелген параллельді процесстердің синхронизация әдістерінің тиімділіктері туралы қорытындылар.

Тәжірибелік  жұмыс № 2
Тақырыбы: ОЖ-де тұғырықтармен күресу әдістері
Тәжірибелік жұмыстың мақсаты  -   операциялық жүйелерде тұғырыұтыұ жағдайлармен күресу әдістермен танысу.
DeadLock  бағдарламалар кешені параллельді процесстер жүргізгенде тұғырықтық жағдайлармен күресу әдістерін зерттеуге арналған. Жұмысты орындағанда бағдарламалар кешені қалыпты жұмыс істеу үшін аспаптарға келесі минималды жүйелік талаптарды ескеру керек:
процессор  i486;
операциялық жүйе Windows 95  - тен төмен емес;
оперативті жад  16 Мб;
дисктік жад 5 Мб, бағдарламаны орнықтыру үшіндля 5 Мб бос жад;
видеоадаптер SVGA 4 Мб видео жадымен.
Бағдарламалар кешенінің құрамына келесі файлдар мен папкалар кіреді, олардың қысқаша жазбалары 1.1. кестеде берілген

Кесте 1.1. Бағдарламалар кешенінің файлдар мен папкалар
                                   Типі
                                    Аты
                         Қысқаша жазбасы
папка
Data
Жалпы деректер, көбінесе графикалық файлдар 
папка
Local
қолданушының локалды орнықтырулары
папка
Samples
Мәселелер
файл
BCGCB.dll
BCGControlBar компоненті
файл
Config.ini
 VisualPetri бағдарламасының ішкі орнықтырулары
файл
VisualPetri.exe
 VisualPetri бағдарламасы
файл
DeadLock.exe
 DeadLock бағдарламасы

Бірақ, бағдарламалар кешені тиімді жұмыс істеу үшін тағы екі файл болу керек (кесте. 1.2), олар бағдарламалар кешенінің папкасында немес "C:\Windows\System" папкасында болу керек.

                 Кесте 1.2. Қосымша файлдар
                                   Типі
                                    Имя
                         Қысқаша жазбасы
файл
GDIPlus.dll
Microsoft Graphical Device Interface
файл
MFC42.dll
Microsoft Foundation Classes

Егер Windows XP операциялық жүйесі қолданылса, GDIPlus.dll файлының керегі жоқ.
Минималды жүйелік талаптар қанағаттандырылған болса және барлық керекті файлдар бар болса, DeadLock.exe файлын іске қосқаннан кейін бағдарламаның негізгі терезесі пайда болады (сур. 1.1).
                                       
Сур. 1.1. DeadLock бағдарламасының негізгі терезесі
Берілген батырмалардың біреуін басқанда сәйкес терезе шығады.
Тұғырықты болдырмау."Обход тупика" батырмасын шерткенде "Алгоритм банкира Дейкстры" терезесі шығады, сур. 1.1.1 көрсетілген.
                                       
Сур. 1.1.1.  "Алгоритм банкира Дейкстры"терезесі
Бұл тереземен жұмыс істеу процессі үш кезеңнен тұрады: жағдайды модельдеу жағдайды қадамдап шешу және нәтижелерді көру.
Жағдайды модельдеу үшін "Новая", "Добавить" және "Удалить" батырмалары қолданылады.
"Новая" батырмасын шерткенде сур. 1.1.2 көрсетілген диалог терезесі экранға шығады.
                                       
Сур. 1.1.2. "Новая ситуация" диалог терезесі
Керекті деректерді еңгізгеннен кейін және "OK" батырмасын басқаннан кейін жаңа ситуация құрастырылады, яғни процесстердің белгіленген сандары жасалады және ресурстардың саны беріледі, ал алдында еңгізілген және алынғандар жойылады.
"Добавить" басқанда тағы бір терезе шығады (сур. 1.1.3).
                                       
Сур. 1.1.3. "Добавить" диалог терезесі

Керекті деректерді еңгізгеннен кейін және "OK" батырмасын басқаннан кейін белгіленген процесстер саны алдында бар болғандарға қосылады,  ал ресурстар саны алдында орнықтырылғандарға қосылады.
"Новая ситуация" және  "Добавить"  терезелерімен жұмыс істегеннен кейін  "Алгоритм банкира Дейкстры" терезесі келесі түрге ие болады, сур. 1.1.4. Бір немесе бірнеше процесстерді жою үшін, оларды тізілімнің ішінен белгілеп алып "Удалить" батырмасын басыңыз.
                                       
сур. 1.1.4. Ситуацияны құру
Ситуацияны жасау процессі <<жаратылған>> процесстердің параметрлерін берумен аяқталады. Параметрлерді беру немесе бар параметрлерді өзгерту үшін тізілімдегі оның атының үстінен екі рет мауспен шертіңіз. Сур. 1.1.5. көрсетілген диалог терезесі шығады
                                       
Сур. 1.1.5. "Изменение параметров процесса" диалог терезесі

"Имя" тізілімінде кез-келген  <<жаратылған>> процесстердің бірін таңдауға болады.  В соответствующих полях группы "Ресурсы" тобының сәйкес өрістерінде оның параметрлері пайда болады. Кажетті өзгертулерді еңгізгеннен кейін "Применить" батырмасын басыңыз. Егер деректерді еңгізген кезде қателіктер жіберілсе, сәйкес терезе шығады, онда қателікті түрі айтылады. "Закрыть" батырмасы диалогтік терезені ешқай өзгерістерсіз жабады.
Сонымен ситуацияны құру процессі аяқталды деп айтуға болады. Жасалған ситуацияны қадамдап шешу үшін "Вперед" және "Назад".
"Вперед" батырмасын басқанды жасалған ситуацияда қателіктер тексеріледі, олар болмауы да мүмкін. Қателік табылған жағдайда қателік туралы ақпараты бар терезе шығады. Қателіктер болмаса, бір қадам анықталған алгоритм бойынша орындалады. Параметрлердің барлық өзгерістері және процесстірдің күйлері процесстер тізілімінің графтарында бейнеленеді және әрекеттер журналына жазылады.
Егер ситуацияның бір кезінде бірнеше қадам артқа оралу керек болса, "Назад" батырмасын шерту керек.
Сиутацияны қадамдап шешу кезеңі нәтижелерді көру кезеңімен тар байланысқан.   Журнал терезесін "Лог"  батырмасын шертіп шақыруға болады 
(сур 1.1.6).
                                       
Сур 1.1.6. Әрекеттер журналының терезесі
"Файл" мәзірінің пунктінің ішіне "Открыть" және "Сохранить" командалары кіреді, олар журналдың ішіндегі ақпаратты файлға сақтауға мімкіндік береді.
Тұғырықты табу. "Обнаружение тупика" батырмасын басқанда "Алгоритм обнаружения тупика по наличию замкнутой цепочки запросов" терезесі шығады, сур. 1.2.1.

                                       
Сур. 1.2.1. "Алгоритм обнаружения тупика по наличию замкнутой цепочки запросов" терезесі

Алдындағы параграфта қарастырылған жағдайда сияқты, мұндада бұл тереземен жұмысты үш кезеңге бөлуге болады: ситуацияны модельдеу, қадамдап шешуп және нәтижелерді көру.
Ситуацияны модельдеу үшін "Новая", "Добавить" және "Удалить" командалары қолданылады.
"Новая ситуация" және  "Добавить"  диалог терезелері алдындағы параграфтағы қарастырылған терезелерге ұқсайды. Бірық мұнда әр ресурстың өз реттік номері бар,  бұл берілген алгоритм үшін өте маңызды. Ал "Удалить"  командасы берілген жағдайда контексттік мәзір түрінде көрсетілген сур. 1.2.2.
                                       
Сур. 1.2.2. процесстерді жою
Ситуация ны жасау кезеңі <<жаратылған>> процесстер арасында ресурстарды бөлу операциясымен аяқталады. Бір процесс бірнеше ресурс алуы мүмкін. Ресурсты қолданушыға беру үшін ресурстарды бөлу кестесінде ресурстың номері бар жолда екі рет мауспен шертіңіз. Келесі диалогтік терезе пайда болады.
                                       
Сур. 1.2.3. "Изменение параметров" диалог терезесі
"Ресурс" тізілімінде кез-келген ресурсты таңдайға болады, "процесс"-те  -  кез-келген <<жаратылған>> процессті. Қажетті өзгерістерден кейін "Применить" батырмасын басыңыз.
Жасалған ситуацияны қадамдап шешу үшін "Запрос" және "Вперед" батырмалары қолданылады.
"Запрос"-ты шерткенде алдындығы терезеге ұқсас терезе шығады (сур. 1.2.4).
                                       
Сур. 1.2.4. "Поступил запрос" диалог терезесі
"ОК"  батырмасын басқаннан кейін  "Запрос" жұмыс істемейді , ал "Вперед" батырмасы керсінше жұмыс істейді. Бұл батырманы басу алгоритмнің бір қадамының орындалуына әкеледі.  Параметрлердің барлық өзгерістері және процесстердің күйлері кестенің графтарында көрсетіледі және журналда жазылады.

Петри желілері. Каталогтан файла VisualPetri.exe іске қосқанда немесе  бағдарламалар кешенінің басты терезесінде "Сети Петри" басқанда (сур.1.1), бағдарламаның негізгі терезесі пайда болады сур. 1.3.1.


Сур. 1.3.1.  VisualPetri бағдарламасының негізгі терезесі
Терезенің элементтерін көріп шығайық.
Бағдарламаның мәзіріне  (сур. 1.3.2) келесі командалар кіреді:
File  -  жүктеу операциялары, диаграммаларды сақтау, принтерде басу,бағдарламадан шығу;
Edit  -  диграмманың құрамымен операциялар орындау;
View  - диаграмманың құрамын қайта бейнелеу, логикалық тордың, аспаптар панелінің бейнесі, олардың және мәзірді орнықтыру;
Tools  - бағдарлама опцияларының терезесін шығару;
Window  -  ашық терезелерді басқару;
Help  -  өндіруші туралы анықтама.
                                       
Сур 1.3.2.  VisualPetri бағдарламасының мәзірі
Сур. 1.3.3  Standard панелінің аспаптары көрсетілген. Бұл панелдің құрамына келесі командалар кіреді:
* Жаңа диаграмманы құру;
* Диаграмманы ашу;
* Папканы ашу;
* Ағындағы диаграмманы сақтау;
* Функционалды емес элементтер;
* Белсенді диаграмманы басу;
*  "О программе" диалогтік терезені шақыру.

                                       
Сур. 1.3.3  Standard панелі
Сур. 1.3.4  Diagram панелі көрсетілген. Ол келесі командалардан тұрады:
* Диаграмманы толық көрсету (терезеде масштабтау);
* Диаграмманың мазмұнын көрсету (терезеде масштабтау);
* Белгіленуді көрсету (терезеде масштабтау);
* Алдындағы масштабқа бару;
* Пайыздағы масштаб;
* Торды көрсету/жасыру;
* Логикалық тормен байланыстыру, байланыстырмау;
* Барлық элементтерде байланыстыру маркерлерін көрсету;
* Тор құруының бағыттамасы (жаңа элементтерді қосқанда): вертикалды  -  байланыстыру маркерлері вертикалды түрде көрсетіледі немесе горизонталды  -  байланыстыру маркерлері горизонталды түрде көрсетіледі;
* Ағындағы диаграмманың жаңа көру терезесін ашу.
                                       
Сур. 1.3.4.  Diagram панелі
Сур. 1.3.5 - Elements панелі. Командалары:
* Диаграмманың элементтерін таңдау тәртібін қосу/өшіру;
* Позициялар торына қосу тәртібін тәртібін қосу/өшіру;
* Көшу торына қосу тәртібін қосу/өшіру;
* Петри желісінде доғалармен байланыстыру тәртібін қосу/өшіру;
* Жеке аумақтарды мауспен масштабтау тәртібін қосу/өшіру.
                                       
Сур. 1.3.5. Elements панелі
Сур. 1.3.6  -  Run панелі. командалар:
* Петри белсенді желісін іске қосу;
* Орындауды тоқтату;
* трассировка (қадамдап орындау).
                                       
Сур. 1.3.6.  Run панелі
Желіні құру процессі диаграммаға Петри желісінң функционалды элементтерін қосудан басталады. 
Жұмысты орындау тәртібі

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

	Тәжірибелік жұмыстың есебі келесілерден тұру керек:
* Қолданылатын әдістің қысқаша мінездемесі;
* Жасалған ситуацияның жазбасы және әрекеттер журналының терезесі;
* Қолданылған әдістің тиімділігі туралы қорытынды.
Тәжірибелік  жұмыс № 3
Тақырыбы: Командалық файлдар .
Жұмыстың мақсаты: Қарапайым командаларды жазып олардың отладкасын жасауды үйрену.

Жалпы мәлімет.
Командалық файл (КФ)  -  бір сәтте орындалатын командалардың жолдарын сақтайтын арнайы мәтіндік файл (командалар пакеті). КФ-дың жолдарының ретінде ОЖ-нің командалары, орындалатын файлдардың шақырулары (.COM,.EXE,.BAT), таңбалар және пакеттік өңдеудің арнайы командалары болу мүмкін. Таңбаны жолдың басында тұрған қоснүкте арқылы анықтауға болады. КФ кез-келген мәтіндік редактормен жазыла алады немесе келесі команданың көмегімен  
COPY CON <аты>.BAT
Бұл командадан кейін пернетақтадан еңгізілген жолдардың барлығы КФ-ға жазылады.  КФ-дың еңгізілуі  CTRL+Z батырмаларының комбинациясымен аяқталады.
КФ-дың негізгі ерекшеліктері:
* Әр КФ  .BAT кеңейтілуіне ие болуға тиісті;
* КФ-дың іске кіруі оның командалық жолда атының жазылғанынан басталады немесе кез-келген файлдық процессордан;
* КФ-дың жұмысын аяқтау үшін  CTRL+C пернелерін басу керек;
* КФ-да еңгізу/шығару символдарымен және командалар конвейерлерімен қолдануға болады;
* Командалық жолдың басында арнайы @ қоюға болады, бұл экранда жолдың эхо-бейнесіне шығуға жол бермейді;
* Жабдықты және каталогті ауйстыру КФ-дың келесі орындалатын файлдарының жұмысына әсер етеді;
* Айналымның айнымалыларын орнықтыруда келесі орныдалатын командаларға әсер етеді.
Пакеттік өңдеудің арнайы командаларының синтаксисі
Барлық пакеттік өңдеудің командалары ішкі командалары болып табылады.
1. CALL командасы
Қызметі: Басқа пакеттік файлдағы пакеттік файлды шақырады.
Формат: CALL [d:][path] filename [parameters]
Параметрлер:
filenames  -  шақырылатын КФ-дың аты;
parameters  -  шақырылатын КФ-ға берілетін параметрлер;
Комментарий: басқару шақырған КФ-ға беріледі.
Мысалы:
CALL SAM -   КФ-ды ағымдағы каталогтан шақыру.
2. ECHO командасы
Қызметі: КФ-дың командаларын экранға шығаруды немесе хабарлама шығаруды қосу/өшіру.
Формат: ECHO [ON|OFF] [message]
Параметрлері:
ON  -  командаларды экранға шығару;
OFF  -  командаларды шығармау;
message  -  хабарлама мәтіні.
Комментарий: егер команда параметрлерсіз жазылған болса, экранға ағымдағы жағдай шығарылады (ON немесе OFF).
Мысалы:
@ECHO OFF  -  Командаларды экранға шығару режимін өшіру, ECHO командасыда экранда көрінбейді.
3. FOR командасы
Қызметі:команданың циклдік орындалуы.
Формат: FOR %%var IN (set) DO command
Параметрлері:
var  -  айнымалының аты,  A-дан  Z-ке дейін кез-келген мән;
set - %%var орнында циклда көрсетілуге тиісті мәтіндік жолдардың немесе аттардың тізімі;
command -  орындалатын команда.
Мысалы:
FOR %%E  IN  (A,B,C)  DO  DEL %%E.OBJ -    A.OBJ, B.OBJ және C.OBJ файлдарын ағымдағы каталогтан жою.
4. GOTO командасы
Қызметі: КФ-дың берілген таңбадан кейін тұрған жолына басқаруды беру.
Формат: GOTO label
Параметрлері:
label  -  басқару берілетін жол.
Мысалы:
GOTO END -  Белгіленген таңбаға көшу.
5.  IF командасы
Қызметі: Командалардың шартты орындалуы.
Формат:
а) ERRORLEVEL глобалды айнымалысының мәнін тексеру үшін
IF [NOT] ERRORLEVEL value command
б) Екі мәтіндік жолды салыстыру үшін
IF [NOT] string1 = = string2 command
в) Берілген файлдың бар екендігін тексеру үшін
IF [NOT] EXIST [d:][path] filename command

Параметрлері:
value  -   0  -  255 диапазонында берілген бүтін сандар;
command  -  орындалатын команда;
string1,string2  -  мәтіндің жолдар.
Мысалы:
а) IF NOT EXIST FILE.DAT ECHO Файл мүлдем жоқ;
б) IF ERRORLEVEL 1 GOTO END  -  END таібасына көшу, егер  ERRORLEVEL мәні  1-ге тең немесе одан кіші болса.

6.  PAUSE командасы
Қызметі: КФ- дың орындалу кезінде пауза қою.
Формат: PAUSE [comment]
Параметрлері:
comment  -  мәтіндік жол.
Комментарий: Бұл команда бойынша КФ-дың жұмысы тоқтатылады және экранға comment хабарламасы шығады. Хабарламаның ұзындығы 121 символдан аса алмайды. КФ-дың жұмысы кез-келген пернені басқанда жалғасады, CTRL+C немесе CTRL+BREAK комбинацияларынан басқа. Бұл комбинациялар КФ-дың жұмысын аяқтайды.
Мысалы:
PAUSE жаңа дискті қойыңыз А: - пауза экранға хабарлама шығаруымен.
7.  REM командасы
Қызметі: комментарийді еңгізу.
Формат: REM [comment]
Параметрлері:
comment -  комментарий жолы.
Комментарий: REM командасы КФ-дың жеке командаларының жұмыстарын уақытша тоқтата алады. 
8.  SHIFT командасы
Қызметі: КФ-дың запуск командалық жолының параметрлерінің мәндерін бір позицияға солға қарай жылжыту.
Формат: SHIFT
9. CHOICE командасы
Қызметі: Тұтынушыға сұрақ қою және жауабын айналымның ERRORLEVEL айнымалысына жазу.
Формат: CHOICE [/C: string] [/T: key,n] text
Параметрлері:
string  -  Тұтынушының жауаптарын сақтайтын символдық жол;
key  -  егер тұтынушы n секундтың ішінде жауап бермесе жазылатын жауаптың нұсқасының кілті;
text  -  Жауаптың варианттарының алдында шығатын символдар жолы.
Мысалы:
CHOICE /C: A,B,C,D /T: A,5 Таңдаңыз

КФ-ға мәліметтерді беру. Жиі жағдайда бір КФ құрып, оны әр-түрлі мәліметтермен орындауға тура келеді. КФ-ға мәліметтерді берудің екі тәсілі бар: а) параметрлер тізімінің көмегімен, б) глобалды айнымалылардың көмегімен.
Бірінші тәсілмен қолданғанда КФ-да  %0...%9 атты формалды айнымалылар қолданылады. Бұл параметрлерге мәндер КФ іске қосылғанда берілетін факттік параметрлерінің көмегімен беріледі:
< КФ аты>  <параметр1>  <параметр2> .. <параметр9>
КФ орындалғанда %1 формалды параметрі  <параметр1> мәніне ие болады,  %2 формалды параметрі  <параметр2> ие болады .... 
 %0 атты формалды параметрінде КФ-дың аты жазылады.
 MS DOS және Windows факттік параметрлердің саны 10-нан астам КФ құруға мүмкіндік береді. Ол үшін  SHIFT командасымен қолдану керек.  "%" символымен командаларда КФ-дың ішінде қолдануға болады. Ол үшін оны мәтінде екі рет қайталау керек. Мысалы, f%.exe файлдың аты  келесідей болу керек - f%%.exe.
Екінші тәсілмен қолданғанда КФ іске еңгізгеннің алдында ОЖ айналымында SET командасымен глобалды айнымалылар құрып, оларға мән беру керек. Бұл айнымалылардың аттары КФ-дың командаларында "%" символдарының ішіне алынады (мысалы, %FILE% ). КФ орындалғанда ОЖ айналым аймағынан сәйкес айнымалылардың мәндерін алады.
 Тапсырма
Мәтіндік файлға Сіздің тобыңыздың студенттері туралы ақпарат жазу үшін WRITE_FD.BAT командалық файлын құрыңыз, оның функциясы келесі болсын:
*  Экранды тазалау;
* Егер КФ параметрлері берілмеген болса, HELP белгісіне бару, әйтпесе запусктің параметрлерінің мәндерін жазып соңына бару;
*  HELP белгісі;
* Жазу өрістерінің структурасы және мазмұны туралы тұтынушаға мәлімет беру, Мысалы:

WRITE_FD <ФИО> <ГОД РОЖД> <МЕСТО РОЖД> <ПОЛ>

Бақылау сұрақтары:
* Командалық файлдар деген  -  ол қандай файлдар?
* @ECHO OFF командасы не істейді?
* CALL SAM жаэбасы нені білдіреді?
* Пакеттік файлдарды өңдейтін қандай командаларды білесіз?
* .COM,.EXE,.BAT қандай файлдардың кеңейтулері?
* CHOICE [/C: string] [/T: key,n] text  -  осы жолдың мағынасын айтып беріңіз.

Тәжірибелік  жұмыс № 4
Тақырыбы: ОЖ-ні жаңарту
Тәжірибелік жұмыстың мақсаты:операциялық жүйенің жаңартуларын орнықтыруды және жоюды үйрену. Операциялық жүйенің версиясын жаңартуды үйрену.

Төменгі жақта жазылған жаңартуларды барлығы SP.nrg дискінде орналасқан.
Windows XP-дің дистрибутивтері WinXP.nrg  орналасқан.

Теориялық мағлұмат
 Windows NT үшін жаңартуларды қою және жою. Windows NT операциялық жүйесі пайда болғанда қолданушы бірінші рет түзетулер пакетін кездестірді.
Сервис-пакеттердің шығару  Microsoft өнісдерінің жаңартулары үшін традициялық тәсіл болып табылады. Жаүартулар пакеттеррі Windows NT тобының операциялық жүйелері үшін, офистік пакеттер үшін және серверлік өнімдердің барлығы үшін шығарылады. Ереже ретінде, сервис-пактердің ішінде жедел жаңартулар болады.
Кейде сервис-паксіз кейбір аспаптармен жұмыс істеу мүмкін емес. Windows NT  операциялық жүйесі үшін, пайда болғанынан бері 6 жаңартулар пакеттері шықты ( SP1 -ден  SP 6 дейін).
Жаңартуларды жою. Windows NT  - дің  түзетулері және жаңартулар пакеттері мәселелерді шешуге арналған. 
 Windows XP версияда орнықтырылған түзетулерді және жаңартуларды көрсету үшін Установка и удаление программ терезесінде отображать установленные обновления флажогін қою керек.
Жаңартуларды жою процессі бағдарламаларды жою процессі сияқты. Алдымен оны  операциялық жүйенің қалыпты тәртібінен жойып тастау керек. 
Егер жоюды қалыпты тәртіпте ұйымдастырсақ, онда келесі қадам  -  жаңартуларды  Safe Mode қауіпсіздік тәртібінде жою.
Операциялық жүйенің версиясын жаңарту. Операциялық жүйенің әр жаңа версиясында қолданушының жұмысын жеңілдететін жаңалықтардың тізілімі болады.
Windows XP операциялық жүйесінде Windows 2000-ның қуатты жақтарының тиімді интергациясы орындалған. Осындай интеграцияның нәтижесінде қазіргі күнге ең күшті клиенттік операциялық жүйе жасалған. 

 WINDOWS XP PROFESSIONAL ОПЕРАЦИЯЛЫҚ ЖҮЙЕСІНЕ КӨШУ ПРОЦЕДУРАСЫ. Windows XP дистрибутиві бар дискті дисководқа салыңыз. Егер бағдарлама компьютерде ОЖ орнықтырылғанын анықтаса, ол сізге оны жаңартуға ұсыныс етеді. Кері жағдайда Windows XP Professional ОЖ-нің жаңа версиясын орнықтыруға ұсыныс беріледі.
Windows XP алдындағы ОЖ  - дің көбі бірден жаңару мүмкін және орнықтырылған қосымшалар және мәліметтер файлдары сақталады.
Жаңартудың алдында келесі қосымшаларды жоюға тура келеді!!!!!
* Барлық антивирустік бағдарламалар. 
* Қуат көздерін басқару жабдықтары.
Орнықтыру бағдарламасы төменгі жақта жазылған қадамдарды орындайды.
Лицензиялық келісім
Сіз лицензиялық келісімді оқып онымен келісу керексіз
Қосымшаларды жаңарту
Орнықтыру бағдарламасы орнықтырылған қосымшалар кешенін тексереді және керекті жаңартулар пакеттерін орнықтыруға ұсыныс жасайды.
Файлдық жүйені жаңарту
Бағдарлама сізге  NTFS файлдық жүйесін жаңартуға ұсыныс жасайды, егер сіз көпнұсқалық жүктеуді жоспарламасаңыз, келісесіз. 
Жұмыс барысы

* Windows NT операциялық жүйесінің соңғы сервис  -  пакетін орнықтырыңыз (SP4) SP.nrg \ SP_4 Win.
* Internet Explorer үшін жаңарту орнықтырыңыз SP.nrg \ MS Internet Explorer 6.0 SP1 Rus.
*  Windows XP Professional-ға көшіңіз
* Windows XP үшін екінші сервис-пак орнықтырыңызSP.nrg \ 2SP WinXP

Есептің ішіне жасалған әрекеттердің жазбалары жазылу керек.
Бақылау сұрақтары:

  + ОЖ-ің жаңартуы деген не?
  + Жаңартуды қалай орнықтыруға болады?
  + Жаңартуларды қалай жойып тастауға болады?
  + Windows XP жаңартулары.
  + ОЖ-ні жаңартудың алдында орындауға қажетті әрекеттер.
  + Windows XP-дің екңнші сервис-пакетін орнықтыру.
  +  Windows брэндмауэрінің көмегімен компьютердің қоранысын қамтамасыз ету?




Пәндер