Бақылау сұрақтары: Ассемблер мен интерпретаторлар.
Операциялық жүйенің орындайтын негізгі функциялары.
Операциялық жүйені жіктеу.
Мультипрограммалауды ұйымдастырған кезде, операциялық жүйенің рөлі.
Пайдаланылған әдебиеттер 1. В. Яворский, А. Әміров. Операциялық жүйелер: Оқу құралы. - Астана: Фолиант, 2017 ж.
2. Кейлингерт П. Элементы ОС. Пер. с.англ. –М.:Мир, 2015
3. Гордеев А.В. Операционные системы. Учебник для вузов. –СПб.:Питер, 2014
4. Дейтл Г. Введение в операционные системы. В 2-х томах. Пер. с.англ. –М.: Мир, 2077 г.
5. Операционные системы-от РС до PS/2/ ж: Фодор, Д. Бонифас, Ж. Танги. Пер. с. франц.-М.:Мир,2019 г.
Жоспар: 1. Көпқолданбалы жұмыс режимдері.
2. Арнайы міндетті және әмбебап операциялық жүйелер.
3. Процессорды басқару.
Дәрістің мазмұны Соңғы операциялық жүйелер дербес компьютерлер үшін мультипрограммалық және мультиесептік режимдерді жүзеге асырады. Негізгі сәулеттік принциптері бойынша операциялық жүйені микроядролық және монолиттіге бөлуге болады. Бір жағынан бұл бөлініс шартты түрде көрсетілген. Мысал келтіретін болсақ микроядролық операциялық жүйеге QNX негізгі уақыт операциялық жүйесін қатынастыруға болады. Ал монолитті операциялық жүйесі WIN 95/98 немесе Linux операциялық жүйесі. Win ядросын біз өзгерте алмаймыз, бізге оның алғашқы кодтары белгісіз және бізде ядроны жинау үшін арналған программалар жоқ. Linux ОЖ-не біз керек программалық модульдермен драйверларды қосып ядроны жинауымызға болады.
Операциялық жүйені қарастырғанда есептеуіш үрдіс түсініктемесі негізгі болып саналады.
Бөлек программаның деректерімен бірге тізбекті санашықта орындалуын тізбекті үрдіс деп атаймыз. Мысал келтіретін болсақ үрдістерге пайдаланушының қолданбалы программаларының орындалуы, утилиттар және басқа жүйелік программалар жатады.
Текстің редакциялауы, программаны аударуы, оның құрастыруы, орындалуы үрдіс болуы мүмкін. Бір программаны аудару ол бір үрдіс, ал келесі программаны аудару – ол басқа үрдіс.
Аударғыш дегеніміз программалық модульдердің қосымы және бір программа ретінде жұмыс көрсетеді, бірақ аударғыштың өңдейтін деректері әртүрлі.
Қор түсініктемесі де үрдіс сияқты операциялық жүйесінде негізгі болып саналады. Қорды үлестіру және басқару механизмдерін ұлғартуын процесс концепциясы анықтайды. Жүйе ішінде үлестірілетін әрбір объектті қор деп атайды. Ең бірінші есептеу жүйелерінде орындалып жатқан программаның толық орындалуынан кейін келесі программа орындалатын. Орталық санашық есептерді орындап, деректерді енгізу-шығару операцияларын басқаратын.
Оперативті жады мен сыртқы құрылғы арасында деректермен алмасу орындалған кезде, санашық басқа есептерді орындамайтын.
Есептеу машиналарына арнайы контроллердерді енгізу арқасында орталық санашықта есептер орындалуы және қабылданған деректерді шығару операцияларын уақытпен үлестіруі табылды. Оның өзінде санашық әрбір енгізу-шығару операциясы аяқталғанша және көп уақыт күтіп тұратын. Сол кезде есептеу жүйесінің мультипрограммалық режимі жұмыс ұйымдастыруы керек. Бір программа (немесе үрдіс ) келесі енгізу-шығару операциясының аяқталуын күтсе, онда келесі программаны шешімге қоюға болады. Операциялық жүйе мультипрограмманы қолдайды және сұрату кезегін ұйымдастыру арқылы қорларды тиімді қолдануға тырысады.
Бұл келісім жадыда бірнеше үрдістің санашықтың босауын күтіп, ал бірнеше үрдістер босаған қорларды қолдануға дайын кезде орындалады. Бір қорды қолдану үшін ( енгізу –шығару құрылғысы, деректер массиві, оперативті жад т.б.) үрдіс операциялық жүйенің супервизорына қатынасады. Супервизор-орталық басқару мөдулінен тұрады, бұл мөдул бірнеше мөдулден тұрады: енгізу-шығару супервизоры, үзу супервизоры, программалар супервизоры, есептер диспетчері т.б. –негізгі шақыру арқылы (командалар ) – өзінің шартын хабарлайды. Бұл кезде қордың түрі көрсетіледі, керек болса оның мөлшемі (мысалы жолшық саны , баспа құрылғысы,шығатын деректердің мөлшемі т.б.)
Қорларды басқаруды ұйымдасыру кезінде дәл осы жағдайда екенін шешу қажет: бөлек, ең қажетті сұрауларды тез орындауы, бар үрдістерге бірдей мүмкіншілік беру немесе көп үрдістерді орындау және қорларды толық қолдану.
Орталық санашықтың уақытын пайдалану арқылы басқару. ОЖ- де орталық санашықтың таратылған белсенділігін беру үшін есепті таңдаудың алгоритміне ОЖ нақты экспулатациялық қасиетіне байланысты. ОЖ жұмысының тиімділігін бағалау үшін қолданылатын алгоритмді таңдау толығымен тиімділік критерилерімен анықталады. Сондықтан орталық санашықтың уақытын пайдалану арқылы басқаруды біз сіздермен ОЖ типтерін қарастырамыз.
Бірінші жағдай. Менде жүйенің үлкен көлемді есептеу қуатын талап ететін көп есептер немесе программалар бар. Бұл есептерді саналатын есептер деп атайды, олар есептеудің үлкен көлемін талап етеді және сырт құрылғыларға аз қатынайды. Бұл есептер бір есептеу жүйесінде орындалуы керек. Бұл есептер дестесінің орындалу кезіндегі жүйенің жұмысы үшін тиімділік критерии не болып табылады? Қандай параметрлер жиынын айтуға болады: егер олар үлкен болса- онда жақсы, егер керсінше болса нашар. Бұндай жағдай үшін есептеу жүйесінің жұмыс істеу тиімділігі болып орталық санашықтың жүктелі дәрежесі болып табылады. Егер орталық санашық күту режимінде аз тұратын болса, ал қалған үрдістер алмасумен айналысатын болса, онда біз жүйе тиімді жұмыс істей алады деп айта аламыз. Жүйенің тиімді жұмыс істеуін сәйкес жоспарлау алгоритмін қолданумен жүзеге асыруға болады. ОЖ мүмкіндігіне қарап біз осы жүйеде бар барлық есептер жиынын өңдеуге жібереміз. Оны мультипрограммалық режим қамтамассыз етеді. Бұл жағдайда орталық санашықтың уақытын жоспарлау алгоритмі келесідей: егер орталық санашық бір үрдіске арналған болса, онда осы үрдіс келесі жағдайлардың бірі келгенше орталық санашықта орналасады:
Сыртқы құрылғыларға қатынау.
Үрдістің аяқталуы.
Үрдістің қайталануының тиянақталған фактісі.
Осы аталған жағдайлардың қайсысы орталық санашыққа беріледі сол кезде басқару келесі үрдіске беріледі. Бір үрдістен екінші үрдіске басқаруды беру минимилизацияланған. Басқаруды бір үрдістен екінші үрдіске бергенде ОЖ бірнеше әрекеттер орындауы керек, ал бұл уақыт жоғалуына әкеледі, бұнда уақыттың жоғалуы минимилизацияланған. ОЖ- нің осындай режимде жұмыс істеуі дестелік режим деп аталады.
Мысалы, компьютерлік класта отырған бірнеше адам әр қайсысы бөлек – бөлек мәтінді түзетіп отыр. Әр терминалда мәтіндік түзеткіштің көшірмесі бар. Бірінші жағдайға көрсетілген жоспарлау алгоритмін қолданатын болсақ жүйеде қандай өзгеріс болатынын қарастырайық. Мысалға, пайдаланушылардың бірі терминалда уақытша іске қоспаған және белсенділік көрсетпейтін болса. Орталық санашықтың уақыты осы үрдіспен байланысты, себебі түзеткіш жұмысқа дайын болған кезде бұл үрдіс алмасудың аяқталмауын орындамаған. Осы уақытта барлық тоқтап қалған пайдаланушылар уақытша тоқтап тұрған қолданушыны күтуге тура келеді. Уақытша тоқтап қалу жағдайы туындайды. Ол бірінші жағдайға ыңғайлы алгоритм, осы жүйеге ең күшті машина көмегімен де жарамайтындығын білдіреді. Сондықтан қамтамассыз ету мәселелерін көп санды есептеу қызметінің қолданушылар тапсырмасы үшін (интерактивті тапсырма), басқа тиімділік критериінен шығатын басқа алгоритмдер қолданылады.
Осындай жүйеге пайдаланушының күту уақыты критериі жарайды: қандай- да бір қозғалысты орындауға ұсыныс жіберген уақытынан, жүйеннің ұсынысқа жауабына дейін. Жүйе тиімділігі жүмыс істесе, онда жүйеге орташа статистикалық күту уақыты азырақ.
Екінші жағдайды қарастырамыз. Жүйеде үрдістердің кейбір саны және жоспаршының орталық санашық уақытын, пайдаланушының сұранысына жүйе реакциясының уақыты минимальды немесе кепілді етіп тапсырманы тарату керек. Жүйеде уақыт кванты деп аталатын (жалпы жағдайда, уақыт кванты- ол жүйе келтіргенде өзгеретін мағына), ∆t параметірі қолданылады. Мультипрограммалық өңдеудегі көптеген үрдістер жиыны екі қосалқы бөлікке бөлінеді. Бірінші бөлікті орындауды жалғастыруға дайын есес үрдістер құрайды, мысалы өздеріне ауыстыруға сұраныс берген және нәтижені күтіп жатқан үрдістер. Орындауға дайын үрдістер де бар. Дәл осы уақытта орталық санашықтаға үрдіс келесі жағдайлардың біреуі келгенше оны басқарады: