Кіріспе
процестердің CPU уақытын күту тізімі. Компьютерлік ғылымда кіріс тізімі – бағдарламаны іске қосу үшін жадқа енгізілуін күтіп тұрған процестердің жиынтығы. Кіріс тізімдері негізінен операциялық жүйелерді жоспарлауда қолданылады, бұл процестер арасында ресурстарды бөлу тәсілі. Кіріс тізімдері тек операциялық жүйелерге ғана емес, сонымен қатар желілік құрылғылар ішіндегі жоспарлауға да қолданылады. Жоспарлаудың мақсаты – ресурстардың әділ және тиімді таратылуын қамтамасыз ету; сондықтан ол жүйенің өнімділігін арттырады. Кезек – бұл артқы жағынан дерек қосылып, алдыңғы жағынан алынатын жиын. Кезектердің түрлері көп, олардың жұмыс істеу принциптері мүлдем әртүрлі болуы мүмкін. Операциялық жүйелер кезекті келгенге кезегімен қызмет көрсету, ең қысқа қалған уақыт, белгілі басымдықпен алдын ала жоспарлау, дөңгелек тізбектей жоспарлау және көп деңгейлі кезек жоспарлауды қолданады. Желілік құрылғылар кіргенімен шығатын кезек, салмақты әділ кезек, басымдық кезектері және жеке кезектерді пайдаланады.
In computer science, an input queue is a collection of processes in storage that are waiting to be brought into memory to run a program. Input queues are mainly used in Operating System Scheduling which is a technique for distributing resources among processes. Input queues not only apply to operating systems (OS), but may also be applied to scheduling inside networking devices. The purpose of scheduling is to ensure resources are being distributed fairly and effectively; therefore, it improves the performance of the system. Essentially, a queue is a collection which has data added in the rear position and removed from the front position. There are many different types of queues, and the ways they operate may be totally different. Operating systems use First Come, First Served queues, Shortest remaining time, Fixed priority pre emptive scheduling, round robin scheduling and multilevel queue scheduling. Network devices use First In First Out queue, Weighted fair queue, Priority queue and Custom queue.
Операциялық жүйе
Операциялық жүйелерде процестер жадқа жүктеліп, орталық процессор (CPU) арқылы орындалу кезегін күтеді. CPU жоспарлау процестердің күйін басқарып, кіріс кезектерін пайдаланып келесі процесті қашан орындау керектігін анықтайды.
Бірінші кіруші, бірінші шығушы
Бірінші кірген, бірінші шығатын процестер кезекке қосылған тәртіп бойынша кезектен алынады. Осы әдіс бойынша әрбір процесс тең қарастырылады. Егер екі процестің маңыздылығы әртүрлі болса және маңыздылығы төмен процесс кезекке бірінші кірсе, ол бірінші орындалады. Бұл тәсіл әртүрлі процестер әртүрлі маңыздылық деңгейлеріне ие болса, әсіресе процестер ұзақ орындалса, тиімді болмауы мүмкін.
Ең қысқа қалған уақыт
Ең қысқа қалған уақыт әдісі дамудың өңделу уақытын болжауға тырысады және оларды өңделу уақыты бойынша кішіден үлкенге қарай кезекке қояды. Бұл әдіс бұрынғы тарих деректеріне сүйене отырып, бағалау мен болжам жасайды. Оның өнімділігі тұрақты болмаса да, "Бірінші келген, бірінші қызмет көрсетілген" әдісіне қарағанда процестің күту уақытын жақсартуда тиімдірек.
Белгілі бір басымдықты алдын ала жоспарлау
Белгілі басымдықпен алдын ала жоспарлау әдісі процестерге олардың өңдеу уақытына қарай әртүрлі басымдықтар тағайындайды және оларды басымдық деңгейі бойынша кезекке қояды. CPU жоғары басымдықтан төмен басымдыққа қарай процестерді қызмет көрсетеді, ал бірдей басымдыққа ие процестер келу ретімен қызметтендіріледі. Жоғары басымдыққа ие процесс кезекке келгенде, CPU төмен басымдыққа ие процесске қызмет көрсетуді уақытша тоқтатады.
Дөңгелек робинді жоспарлау
Round robin кестелеу әдісі әрбір процесске бірдей уақыт бөліп, оларды цикл бойынша қарастырады. Бұл әдіс әрбір процесске уақыттың көп бөлігін жұмсауға негізделген. Уақыттың тым қысқа болуы процестерді үзіп-үзіп қоюға әкеледі, ал тым ұзақ болуы әрбір процестің орындалуын күтуге кеткен уақытты ұзартуы мүмкін. Оптималды уақытты дұрыс таңдау – осы әдістің негізгі шарты.
Көп деңгейлі кезек кестесі
Көп деңгейлі кезекке қою жоспарлау әдісі бірнеше кезек қолданады, және әрбір кезекке өз жоспарлау алгоритмі тағайындалуы мүмкін. Көп деңгейлі кезекке қою жоспарлау басқа әдістерге қарағанда күрделірек, бірақ ол операциялық жүйеге күрделі жағдайларда әртүрлі жауап беру уақыты талаптарын орындауға мүмкіндік береді.
Желі құру
Желілерде пакеттер жоспарлаудың басты құралы болып табылады. Күн сайын желінің ядросымен қозғалатын көптеген түрлі пакеттер бар, және олардың бәрі әртүрлі өңделеді. Мысалы, дауыс және бейне пакеттері қарапайым пакеттерге қарағанда жоғары басымдыққа ие. Пакеттерді тиімді басқару және тарату мақсатында, желілік құрылғылар қай пакеттің бірінші жіберілетінін анықтау үшін кіріс кезектерін де пайдаланады.
Бірінші кірген, бірінші шыққан кезек (FIFO)
Бұл режимде пакеттер кезектен түскен тәртіппен алынады. Барлық пакеттерге бірдей үPriority беріледі. Егер үлкен пакет А кішкентай пакет В-дан бұрын келсе, В пакеті А толығымен қызметтенгенге дейін күтуге мәжбүр. Егер жүйе барлық пакеттерді тең қараса, пайдаланушылар үн пакеттері сияқты деректерді жіберуде кешігуді сезінуі мүмкін.
Басымдық кезегі (PQ)
Басымдық кезегі 4 кіші кезекке бөлінеді, олардың әрқайсысының өзгеше басымдығы бар. Әрбір кезектегі деректер жоғары басымдылықтағы кезектер бос болған жағдайда ғана қызмет көрсетіледі. Егер жоғары басымдылықтағы бос кезекке деректер келсе, ал желілік жүйе төмен басымдылықтағы деректерді жіберіп жатса, желілік жүйе төмен басымдылықтағы кезектегі деректерді тоқтата тұрып, жоғары басымдылықтағы кезектегі деректерді бірінші өңдейді. Желілік жүйе төмен басымдылықтағы кезектер өз кезегін қанша уақыт күту керектігін ескермейді, себебі ол әрқашан келесі кезекке көшу алдында ең жоғарыдан ең төмен басымдылыққа дейін әрбір кезектегі жұмысты аяқтайды. Әрбір кезек ішінде пакеттер "бірінші кірген, бірінші шықты" қағидасы бойынша жіберіледі.
Өзіндік кезек (CQ)
Өзіндік кезек 17 түрлі кіші кезекке бөлінеді. Бірінші кезек, 0 кезек, желілік операциялық жүйеге жүйелік пакеттерді жіберу үшін арналған, ал қалған 16 кезек пайдаланушы анықтаған пакеттерге арналған. Пайдаланушы әртүрлі маңызды пакеттерді анықтап, оларды әрбір кезекке тағайындай алады. Әрбір кезектің көлемі шектеулі, егер ол шектеуге жетсе, келіп түсетін барлық пакеттер жойылады. Әрбір кезекте қызмет көрсетілген пакеттер санына қарай қызмет көрсетіледі. Егер шектеуге жетілсе, желілік операциялық жүйе ағымдағы кезектегі пакеттерді сақтап, келесі кезек бос болғанға дейін немесе пакеттер лимитіне жеткенге дейін қызмет көрсетеді. Егер бір кезек бос болса, желілік операциялық жүйе осы кезекті өткіріп, келесі кезекке қызмет көрсетеді.