ОЖ- де орталық санашықтың таратылған белсенділігін беру үшін есепті таңдаудың алгоритміне ОЖ нақты экспулатациялық қасиетіне байланысты. ОЖ жұмысының тиімділігін бағалау үшін қолданылатын алгоритмді таңдау толығымен тиімділік критерилерімен анықталады. Сондықтан орталық санашықтың уақытын пайдалану арқылы басқаруды біз сіздермен ОЖ типтерін қарастырамыз.
Бірінші жағдай. Менде жүйенің үлкен көлемді есептеу қуатын талап ететін көп есептер немесе программалар бар. Бұл есептерді саналатын есептер деп атайды, олар есептеудің үлкен көлемін талап етеді және сырт құрылғыларға аз қатынайды. Бұл есептер бір есептеу жүйесінде орындалуы керек. Бұл есептер дестесінің орындалу кезіндегі жүйенің жұмысы үшін тиімділік критерии не болып табылады? Қандай параметрлер жиынын айтуға болады: егер олар үлкен болса- онда жақсы, егер керсінше болса нашар. Бұндай жағдай үшін есептеу жүйесінің жұмыс істеу тиімділігі болып орталық санашықтың жүктелі дәрежесі болып табылады. Егер орталық санашық күту режимінде аз тұратын болса, ал қалған үрдістер алмасумен айналысатын болса, онда біз жүйе тиімді жұмыс істей алады деп айта аламыз. Жүйенің тиімді жұмыс істеуін сәйкес жоспарлау алгоритмін қолданумен жүзеге асыруға болады. ОЖ мүмкіндігіне қарап біз осы жүйеде бар барлық есептер жиынын өңдеуге жібереміз. Оны мультипрограммалық режим қамтамассыз етеді. Бұл жағдайда орталық санашықтың уақытын жоспарлау алгоритмі келесідей: егер орталық санашық бір үрдіске арналған болса, онда осы үрдіс келесі жағдайлардың бірі келгенше орталық санашықта орналасады:
1.Сыртқы құрылғыларға қатынау.
2.үрдістің аяқталуы.
3.үрдістің қайталануының тиянақталған фактісі.
Осы аталған жағдайлардың қайсысы орталық санашыққа беріледі сол кезде басқару келесі үрдіске беріледі. Бір үрдістен екінші үрдіске басқаруды беру минимилизацияланған. Басқаруды бір үрдістен екінші үрдіске бергенде ОЖ бірнеше әрекеттер орындауы керек, ал бұл уақыт жоғалуына әкеледі, бұнда уақыттың жоғалуы минимилизацияланған. ОЖ- нің осындай режимде жұмыс істеуі дестелік режим деп аталады.
Мысалы, компьютерлік класта отырған бірнеше адам әр қайсысы бөлек – бөлек мәтінді түзетіп отыр. Әр терминалда мәтіндік түзеткіштің көшірмесі бар. Бірінші жағдайға көрсетілген жоспарлау алгоритмін қолданатын болсақ жүйеде қандай өзгеріс болатынын қарастырайық. Мысалға, пайдаланушылардың бірі терминалда уақытша іске қоспаған және белсенділік көрсетпейтін болса. Орталық санашықтың уақыты осы үрдіспен байланысты, себебі түзеткіш жұмысқа дайын болған кезде бұл үрдіс алмасудың аяқталмауын орындамаған. Осы уақытта барлық тоқтап қалған пайдаланушылар уақытша тоқтап тұрған қолданушыны күтуге тура келеді. Уақытша тоқтап қалу жағдайы туындайды. Ол бірінші жағдайға ыңғайлы алгоритм, осы жүйеге ең күшті машина көмегімен де жарамайтындығын білдіреді. Сондықтан қамтамассыз ету мәселелерін көп санды есептеу қызметінің қолданушылар тапсырмасы үшін (интерактивті тапсырма), басқа тиімділік критериінен шығатын басқа алгоритмдер қолданылады.
Осындай жүйеге пайдаланушының күту уақыты критериі жарайды: қандай- да бір қозғалысты орындауға ұсыныс жіберген уақытынан, жүйеннің ұсынысқа жауабына дейін. Жүйе тиімділігі жүмыс істесе, онда жүйеге орташа статистикалық күту уақыты азырақ.
Екінші жағдайды қарастырамыз. Жүйеде үрдістердің кейбір саны және жоспаршының орталық санашық уақытын, пайдаланушының сұранысына жүйе реакциясының уақыты минимальды немесе кепілді етіп тапсырманы тарату керек. Жүйеде уақыт кванты деп аталатын (жалпы жағдайда, уақыт кванты- ол жүйе келтіргенде өзгеретін мағына), ∆t параметірі қолданылады. Мультипрограммалық өңдеудегі көптеген үрдістер жиыны екі қосалқы бөлікке бөлінеді. Бірінші бөлікті орындауды жалғастыруға дайын есес үрдістер құрайды, мысалы өздеріне ауыстыруға сұраныс берген және нәтижені күтіп жатқан үрдістер. Орындауға дайын үрдістер де бар. Дәл осы уақытта орталық санашықтаға үрдіс келесі жағдайлардың біреуі келгенше оны басқарады:
1.аусытыруға сұранысымен назар аудару
2.үрдістің аяқталуы
3.осы үрдіске берілген ∆t квант уақытының сарқылуы
Осы жағдайлардың біреуі түскенде операциялық жүйені жоспарлаушысы орындауға дайын үрдістерден таңдайды, кейбір үрдістер және оған орталық санашық қорларын береді. Ал ол осы үрдіске тәуелді нақты операция жүйесін қолданған жоспарлау алгоритммен таңдайды. Мысалы, үрдіс кездейсоқ таңдалынуы мүмкін. Екінші тәсіл үрдістерді тізбектелген өту (артынан жүрумен) болады, мысалға біз үрдістерден алдымен бір жұмысты алып, содан соң ол босаған кезде орталық санашық орындауға дайын үрдістерге беріледі. Келесі тапсырма алынатын үшінші критери, оратлық санашықта атқарылмаған осы үрдіс болуы мүмкін. Осы жағайда жүйе, ең көп уақытты, үрдісті таңдай алады. Осы алгоритмдер операциялық жүйеде таратылған болуы керек, олар қарапайым болады, әйтпесе жүйе тиімсіз жұмыс істейді.
Операциялық жүйенің осындай типті уақыт бөлуі ОЖ деп аталады. Ол пайдаланушы сұранысына жүйе реакциясының уақыты азайған тәртібінде жұмыс істейді. Сұранысқа жауап уақыты аз болғаны үшін, шынында қолданушыда барлық жүйе қорларын соған берілгені туралы иллюзия пайда болуы керек.
Енді келесі тапсырманы қарастырамыз Автопилотпен басқарылатын ұшақ бар делік, онда автопилот төмендеу операциясын орындайды. Әр ұшақта жерден қанша биіктікте тұратынын өлшейтін құрал бар. Ұшақтың жұмыс тәртібін басқару функциялары қайсыбір берілген программалар арқылы компьютер атқарады. Егер бізде автопилот жүйесі бар болса және ұшақ төмендеп бара жатса, онда жүйе ұшу биіктігі бойынша бақыланады. Осы ұшаққа қатысты бірнеше тапсырмаларды орталық компьютер шеше алады: ұшу биіктігін бақылайды, жанармайдың деңгейін бақылайды, қозғалтқыш жұмыстарының көрсеткіші және т.б.д. осы функциялардың басқаруын әр үрдіс өзі алады. Операциялық жүйе дестесі бізде және бактағы жанармай деңгейін бақылаймыз делік. Осы кезде авариалық жағдай туындайды, өйткені ұшақ төмендеп барады оны операциялық жүйе байқамайды. Жүйеде уақыттың бөлінуі болып жатыр делік. Бізде уақыт алмасу жүйесі сапасының бірі тиімсіздігі болып табылады, яғни жүйеде үрістен – үрдіске ауысу саны көп қарастырылғандықтан, ал бұл функцияның сыиымдылығы жеткілікті. Тағы осындай жағдай: Биіктік нолге жетті, ал операциялық жүйе тіркеу кестесінің ауыстыруымен айналысып жатыр, мұндай нұсқада жарамайды. Осындай тапсырмаларды шешкенде жоспарлаудың өзінің құралы қажет. Осы жағдайда нақты уақыттағы операциялық жүйе қолданылады, бұл жүйенің кепілді реакциясының алдын ала анықталған жиыны сол немесе басқа жағдайы пайда болуы негізгі критери болып табылады. Орталық санашықтың уақытын басқару функциясымен және орталық саншықты жоспарлауда екі фактіге назар аударамыз. Бірінші факт ол, көбіне есептеу жүйесінің эспулатациялық қасиеті анықталатын ОС уақытын бөлу жоспарлау жүйесінде таратылған. Біз ОЖ-нің үш типтік түрлерін қарастырамыз: дестелік жүйенің өңделуі, уақыт бөлу жүйесі және нақты уақыт жүйесі. Бүгінгі таңда нақты уақыт жүйесін ОЖ-ң бір санаты деп айтуға болады. Windows ОЖ-сі қандай да бір объектілерді басқармайды, егер олардың нақты уақыты өте критикалы болса және де СОЛЯРИС немемсе LINUX т.б ОЖ басқармайды, өйткені осы жүйелер нақты уақыт жүйесі болып табылмайды.
Бірінші екі режимді, дестелі және уақыт бөлу, жалпы ОЖ-де жасауға болады (вертуальды түрде). Нақты, үлкен ОЖ-лер аралас жүйелер болып табылады, оларда ОС жоспарлау элементінде қайталанатын тапсырмаларды басқаратын алгоритм сияқты және интерактивті тапсырма немесе келесіге қалдырылған тапсырмалар болады.
ОЖ-нің жіктеуі (классификация)
) ОЖ-нің тағайындауын (белгілеуін) және олардың орындайтын функцияларын қарастыра отырып, ең ортақ жіктеушілер принципін негізге ала отырып, барлық алуан түрлі ОЖ-лерді жіктеуге болады:
1. Бір мезгілде бар программалық процесстердің санына байланысты ОЖ-лер бірпрограммалы және мультипрограммалы болып бөлінеді. Мультипрограммалық ОЖ-нің, бір программалық ОЖ-ден айырмашылығы есептеу процессі компьютер жадында бір мезгілде бір процессорда кезекпен орындалатын бірнеше программаның болуын ұйымдастыру;
2. Есептеу жүйесіне қатынасы бар қолданушылар саны бойынша, бір қолданушы және көп қолданушы ОЖ-і болып танылады. Көп қолданушы жүйелері бірнеше қолданушыға бір мезгілде жүйесіне қатынасқа мүмкіндік береді. Бұл жағдайда әр қолданушы өзінің терминалымен жұмыс істейді, бірақ барлық есептеулер бір компьютерде шығарылады.
3. Белгілеуі бойынша ОЖ-лер әмбебабтық және мамандандырылған болып бөлінеді. Мамандандырылған ОЖ-лер бекітілген программалар жиынымен жұмыс істейді.
4. Жүктелу әдісі бойынша жүктелетін ОЖ-лер және есептеу жүйесінің жадында үнемі (ылғи)болатын жүйелер деп бөлуге болады. Соңғы, ереже бойынша, мамандандырылған құрылғылардың жұмысын басқару үшін пайдаланылады.
5. ОЖ-ні пайдалану аймағының ерекшелігі бойынша жүйелік десбелік (пакеттік) өңдеу, жүйелік уақытты бөлу және жүйелік нақты уақыт болып бөлінеді.
Жүйелік дестелік өңдеулер көбінесе тез нәтиже алуды қажет етпейтін, есептеу тапсырмаларын шешуге арналған (есептерді шығаруға арналған).
Уақытты бөлу жүйелерінде есептеу процесстері тапсырмаға процессор уақытының кванты бөлінетіндей ұйымдастырылған. Оның салдарынан, бірде бір есеп процессордың көп уақытын алмайды және бұл қолданушыға өзінің программасымен диалог құруға мүмкіндік береді.
Нақты уақыт жүйелері әр түрлі техникалық объектердің немесе технологиялық процесстерді басқару үшін пайдаланылады. Мұндай жүйелер сыртқы оқиғалар реакциясына шекті уақытпен сипатталады. Сол шекті уақытта объекті басқару программалары орындалу керек. Жүйе түсетін деректерді, олардың түсуінен, еске сала кететіні, бір мезгілде бірнеше дерек көзінен жылдамырақ өңдеуі керек.
ОЖ келтірілген жіктеулерге өзгеріс енгізілуі мүмкін. Қазіргі заманғы ОЖ-нің қолдану ерекшеліктері Олифердің «Операционные системы» кітабында толығырақ көрсетілген.