Үрдістерді жоспарлау алгоритмдері
Процесті жоспарлау келесі міндеттерді шешуді қамтиды:
- орындалатын процесті өзгерту үшін уақыт моментін анықтау;
- дайын процестер кезегінен орындау үшін процесті таңдау;
- "ескі" және "жаңа" процестердің контексттерін ауыстыру.
Жоғарыда аталған міндеттерді әр түрлі шешетін, әртүрлі мақсаттарды көздейтін және мультипрограммалаудың әр түрлі сапасын қамтамасыз ететін көптеген процестерді жоспарлау алгоритмдері бар. Осы көптеген алгоритмдердің ішінде ең көп кездесетін алгоритмдердің екі тобын толығырақ қарастырайық: кванттауға негізделген Алгоритмдер және басымдыққа негізделген Алгоритмдер.
Кванттауға негізделген алгоритмдерге сәйкес белсенді процестің өзгеруі, егер:
- процесс аяқталды және жүйеден кетті,
- қате болды,
- процесс күту күйіне өтті,
- осы процеске бөлінген процессор уақытының кванты таусылды.
Өзінің квантын таусылған Процесс күйге ауысады дайындық және оған процессордың жаңа кванты берілуін күтеді, ал белгілі бір ережеге сәйкес орындау үшін дайын кезектен жаңа процесс таңдалады. Осылайша, бірде-бір процесс процессорды ұзақ уақыт алмайды, сондықтан кванттау уақытты бөлу жүйелерінде кеңінен қолданылады.
Процестерге бөлінген кванттар барлық процестер үшін бірдей немесе әртүрлі болуы мүмкін. Бір процеске бөлінетін кванттар тұрақты шама болуы мүмкін немесе процестің әр түрлі кезеңдерінде өзгеруі мүмкін. Ол бөлген квантты толық пайдаланбаған процестер (мысалы, енгізу-шығару операцияларын орындауға байланысты) кейінгі техникалық қызмет көрсету кезінде артықшылықтар түрінде өтемақы алуы немесе алмауы мүмкін. Дайын процестердің кезегі әртүрлі тәсілдермен ұйымдастырылуы мүмкін: циклдік, "бірінші келді - бірінші қызмет көрсетілді" (FIFO) ережесі бойынша немесе "соңғы келді - бірінші қызмет көрсетілді" (LIFO) ережесі бойынша.
Алгоритмдердің тағы бір тобы процестің "басымдығы" ұғымын қолданады. Басымдық-бұл есептеу машинасының ресурстарын, атап айтқанда процессор уақытын пайдалану кезінде процестің артықшылық дәрежесін сипаттайтын сан: басымдық неғұрлым жоғары болса, артықшылықтар соғұрлым жоғары болады.
Басымдық бүтін немесе бөлшек, оң немесе теріс мағынада көрсетілуі мүмкін. Процестің артықшылықтары неғұрлым жоғары болса, соғұрлым ол кезекте аз уақыт жұмсайды. Басымдықты жүйенің әкімшісі жұмыстың немесе төленген төлемнің маңыздылығына қарай Директивті түрде тағайындай алады немесе ОЖ-нің өзі белгілі бір ережелерге сәйкес есептелуі мүмкін, ол процестің бүкіл өмірінде тұрақты болып қалуы немесе белгілі бір заңға сәйкес уақыт бойынша өзгеруі мүмкін. Соңғы жағдайда басымдықтар динамикалық деп аталады.
Басым алгоритмдердің екі түрі бар: салыстырмалы басымдықтарды пайдаланатын Алгоритмдер және абсолютті басымдықтарды пайдаланатын Алгоритмдер. Екі жағдайда да дайын кезектен орындау үшін процесті таңдау бірдей жүзеге асырылады: ең жоғары басымдыққа ие процесс таңдалады. Белсенді процестің өзгеру сәтін анықтау мәселесі басқаша шешіледі. Салыстырмалы басымдықтары бар жүйелерде белсенді процесс өзі процессордан шыққанға дейін орындалады күту (немесе қате пайда болады немесе процесс аяқталады). Абсолютті басымдықтары бар жүйелерде белсенді процесті орындау тағы бір шартпен үзіледі: егер дайын процестердің кезегінде белсенді процестің басымдығынан жоғары басымдық пайда болса. Бұл жағдайда үзілген процесс дайындық күйіне өтеді. Көптеген операциялық жүйелерде жоспарлау алгоритмдері кванттауды да, басымдықтарды да қолдана отырып құрылады. Мысалы, жоспарлау кванттауға негізделген, бірақ кванттық шама және/немесе дайын кезектен процесті таңдау тәртібі процестердің басымдықтарымен анықталады.
Свопинг
Свопинг-бұл бетті жадтан дискіге жүктеу (немесе басқа көлемді медиа), ол барлық кадрлар бос емес кезде қолданылады. Бұл ретте свопингке қазіргі уақытта белсенді емес процестердің жад беттері пайда болады.
Бұл сөз ағылшын swapping сөзінен шыққан. Аударма (сөзбе-сөз) "айырбастауға"ұқсайды. Ағылшын тіліндегі бұл сөз бұрыннан бар. Онда ол қарапайым етістік. Тек орыс тілінде оның мағынасы мүлдем басқа. Бұл сөзді түсіндірудің бірнеше нұсқалары бар және олардың барлығы әртүрлі қызмет салаларына қатысты:
Акциялар әлеміндегі своп. Биржалардағы брокерлер бұл терминмен акциялардың жылдам алмасуын білдірді. Қазіргі уақытта своп ірі биржаларда да бар. Форексте де осындай түсінік бар, бірақ ол барлық акцияларды тез сатуды білдіреді.
Компьютерлік әлемдегі своп. Компьютерлер мен ноутбуктер әлемінде бұл термин жедел жадтың бір бөлігін босату және деректерді қатты дискідегі алдын ала жасалған своп файлына Тасымалдау процесі деп аталады. Жедел жады аз адамдар үшін өте пайдалы нұсқа. Дегенмен, біздің материал компьютерлерге арналған. Сондықтан своп - бұл своп файлымен жедел жадтың жұмыс процесі деп санаймыз. Енді сіз своптың кейбір ерекшеліктерін түсініп, оның соншалықты жақсы екенін және компьютерге қажет пе екенін түсінуіңіз керек.
Виртуалды жадты іске асырудың бір механизмі, онда жеке іске қосылған процестер (әдетте белсенді емес) жедел жадтан қатты дискіге ауысып, басқа процестерді жүктеу үшін жедел жадты босатады. Бұл механизм мен парақтың негізгі айырмашылығы-процестер жедел жад пен қатты диск арасында толығымен қозғалады, сондықтан кейде кейбір процестер жедел жадта мүлдем болмауы мүмкін. Процесті белсендіру шарттары туындаған кезде оны жад менеджері жедел жадқа қайтарады. Жүктеу және жүктеу процестерін таңдаудың әртүрлі алгоритмдері, сондай-ақ жүктелетін процеске жедел жад пен дискіні бөлудің әртүрлі тәсілдері бар.
Бәрі жақсы, біз өмірімізден свопты дискілерге файлдар түрінде орналастыруға болатындығын білеміз (яғни файлдық жүйенің драйверлеріне бағыну) немесе құрылғыда бөлек, көбінесе арнайы бөлім түрінде (своп бөлімі деп аталады) бөлек орын алады.
Достарыңызбен бөлісу: |