Ескерту. Әртүрлі ОЖ-да жоспарлаумен айналысатын бөлік- тері әртүрлі аталуы мүмкін: scheduler – басқарушы немесе жос- парлаушы деп Unix-те; dispatcher – Windows-та.
ОЖ процестерді жоспарлау тәртібінің екі негізгі типі бар:
ығыстыратын және ығыстырмайтын. Ығыстырмайтын көптап- сырмалық (non-preemptive multitasking) – белсенді процесс жос- парлаушыға басқаруды өз еркімен кезектегі басқа дайын про- цесті таңдауы үшін босатпайынша орындала беретін процестер- ді жоспарлау тәсілі. Ығыстырмайтын программалауда жоспар- лау механизмі ОЖ мен қолданбалы программалар арасында бө- лінген, бұл қолданушылармен қатар, қосымшаларды дайын- даушыларға да үлкен мәселе тудырады, дегенмен кейбір белгі- ленген тапсырмалар жиынын шешу кезінде өзгешелік болуы мүмкін (ығыстырмайтын жоспарлауды тиімді пайдаланудың мысалы NetWare 3.x және 4.x файл-серверлері, мұндай жоспар- лаудың арқасында файлдық операцияларды орындаудың жоға- ры жылдамдығына қол жеткізілген). Ығыстыратын көптапсыр- малық (preemptive multitasking) – процессордың бір процестен екіншісін орындауға ауысуы белсенді процестің өзіне байланыс- ты емес, тек операциялық жүйеде қабылданатын тәсіл. Ығысты- ратын мультипрограммалау кезінде процестерді жоспарлау функциялары толықтай операциялық жүйеде жинақталады. Қо- сымшаларды жоғары өнімді орындауға бағытталған қазіргі за- манғы операциялық жүйелердің түгелге жуығында (Unix, Windows NT/2000, OS/2, VAX/VMS) есептерді жоспарлау меха- низмі толығымен операциялық жүйеге тиесілі, сондықтан про- цестерді жоспарлаудың ығыстыратын алгоритмі жүзеге асырыл-
28
7-сурет. Квантталатын жүйедегі процестер жағдайының графы
Бөлінетін кванттар барлық процесс үшін бірдей немесе әр- түрлі болуы мүмкін. Бір процеске бөлінетін кванттар белгілен- ген мәнде болуы немесе процесс өмірінің түрлі периодтарын- да өзгеріп отыруы мүмкін. Барлық процестерге бірдей ұзын- дықтағы кванттар тағайындалатын жағдай 8-суретте көрсетіл- ген.
29
ған. Про-граммист өз қосымшасын басқа есептермен параллель орындалатындығына алаңдамай жазады.