{"id":3287,"date":"2025-06-05T14:09:49","date_gmt":"2025-06-05T14:09:49","guid":{"rendered":"https:\/\/diznr.com\/?p=3287"},"modified":"2025-06-05T14:09:49","modified_gmt":"2025-06-05T14:09:49","slug":"day-01part-16-scheduling-queue-in-operating-system-job-queue-ready-queue-and-queue-device","status":"publish","type":"post","link":"https:\/\/www.reilsolar.com\/pdf\/day-01part-16-scheduling-queue-in-operating-system-job-queue-ready-queue-and-queue-device\/","title":{"rendered":"Day 01Part 16- Scheduling Queue in Operating System, Job Queue, Ready Queue and Device Queue."},"content":{"rendered":"<p>Day 01Part 16- Scheduling Queue in Operating System, Job Queue, Ready Queue and Device Queue<\/p>\n<p>[fvplayer id=&#8221;336&#8243;]<\/p>\n<p class=\"\" data-start=\"0\" data-end=\"37\">Here is a comprehensive breakdown of:<\/p>\n<hr class=\"\" data-start=\"39\" data-end=\"42\" \/>\n<h1 class=\"\" data-start=\"44\" data-end=\"111\">\ud83d\udda5\ufe0f <strong data-start=\"50\" data-end=\"109\">Day 01 \u2013 Part 16: Scheduling Queues in Operating System<\/strong><\/h1>\n<p class=\"\" data-start=\"112\" data-end=\"221\">\ud83d\udcda <strong data-start=\"115\" data-end=\"124\">Topic<\/strong>: Job Queue, Ready Queue, Device Queue<br data-start=\"162\" data-end=\"165\" \/>\ud83d\udc68\u200d\ud83d\udcbb For: GATE \/ B.Tech \/ Operating System Fundamentals<\/p>\n<hr class=\"\" data-start=\"223\" data-end=\"226\" \/>\n<h2 class=\"\" data-start=\"228\" data-end=\"265\">\ud83c\udfaf <strong data-start=\"234\" data-end=\"265\">What are Scheduling Queues?<\/strong><\/h2>\n<p class=\"\" data-start=\"267\" data-end=\"453\">In an operating system, <strong data-start=\"291\" data-end=\"312\">scheduling queues<\/strong> are used to manage <strong data-start=\"332\" data-end=\"345\">processes<\/strong> during their <strong data-start=\"359\" data-end=\"373\">life cycle<\/strong>. At any time, a process is in one of several <strong data-start=\"419\" data-end=\"429\">queues<\/strong> depending on its state.<\/p>\n<hr class=\"\" data-start=\"455\" data-end=\"458\" \/>\n<h2 class=\"\" data-start=\"460\" data-end=\"496\">\ud83d\udd01 <strong data-start=\"466\" data-end=\"496\">Types of Scheduling Queues<\/strong><\/h2>\n<h3 class=\"\" data-start=\"498\" data-end=\"519\">1\ufe0f\u20e3 <strong data-start=\"506\" data-end=\"519\">Job Queue<\/strong><\/h3>\n<ul data-start=\"520\" data-end=\"730\">\n<li class=\"\" data-start=\"520\" data-end=\"563\">\n<p class=\"\" data-start=\"522\" data-end=\"563\">Contains <strong data-start=\"531\" data-end=\"562\">all processes in the system<\/strong>.<\/p>\n<\/li>\n<li class=\"\" data-start=\"564\" data-end=\"660\">\n<p class=\"\" data-start=\"566\" data-end=\"594\">Includes processes that are:<\/p>\n<ul data-start=\"597\" data-end=\"660\">\n<li class=\"\" data-start=\"597\" data-end=\"621\">\n<p class=\"\" data-start=\"599\" data-end=\"621\">New (not yet admitted)<\/p>\n<\/li>\n<li class=\"\" data-start=\"624\" data-end=\"641\">\n<p class=\"\" data-start=\"626\" data-end=\"641\">Waiting for CPU<\/p>\n<\/li>\n<li class=\"\" data-start=\"644\" data-end=\"660\">\n<p class=\"\" data-start=\"646\" data-end=\"660\">Performing I\/O<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"\" data-start=\"661\" data-end=\"730\">\n<p class=\"\" data-start=\"663\" data-end=\"730\">Think of it as the <strong data-start=\"682\" data-end=\"697\">master list<\/strong> of all jobs submitted to the OS.<\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-start=\"732\" data-end=\"801\">\ud83e\udde0 Example: When a process is created, it enters the job queue first.<\/p>\n<hr class=\"\" data-start=\"803\" data-end=\"806\" \/>\n<h3 class=\"\" data-start=\"808\" data-end=\"831\">2\ufe0f\u20e3 <strong data-start=\"816\" data-end=\"831\">Ready Queue<\/strong><\/h3>\n<ul data-start=\"832\" data-end=\"1002\">\n<li class=\"\" data-start=\"832\" data-end=\"912\">\n<p class=\"\" data-start=\"834\" data-end=\"912\">Holds <strong data-start=\"840\" data-end=\"872\">all processes that are ready<\/strong> to execute but are <strong data-start=\"892\" data-end=\"911\">waiting for CPU<\/strong>.<\/p>\n<\/li>\n<li class=\"\" data-start=\"913\" data-end=\"955\">\n<p class=\"\" data-start=\"915\" data-end=\"955\">Managed by the <strong data-start=\"930\" data-end=\"954\">short-term scheduler<\/strong>.<\/p>\n<\/li>\n<li class=\"\" data-start=\"956\" data-end=\"1002\">\n<p class=\"\" data-start=\"958\" data-end=\"1002\">These are loaded into <strong data-start=\"980\" data-end=\"1001\">main memory (RAM)<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-start=\"1004\" data-end=\"1093\">\ud83e\udde0 Example: When a process has all the resources except CPU, it waits in the ready queue.<\/p>\n<p class=\"\" data-start=\"1095\" data-end=\"1170\">\u2705 <strong data-start=\"1097\" data-end=\"1110\">Key Point<\/strong>: Only <strong data-start=\"1117\" data-end=\"1124\">one<\/strong> process gets CPU at a time; others wait here.<\/p>\n<hr class=\"\" data-start=\"1172\" data-end=\"1175\" \/>\n<h3 class=\"\" data-start=\"1177\" data-end=\"1213\">3\ufe0f\u20e3 <strong data-start=\"1185\" data-end=\"1213\">Device Queue (I\/O Queue)<\/strong><\/h3>\n<ul data-start=\"1214\" data-end=\"1367\">\n<li class=\"\" data-start=\"1214\" data-end=\"1287\">\n<p class=\"\" data-start=\"1216\" data-end=\"1287\">Contains processes <strong data-start=\"1235\" data-end=\"1264\">waiting for an I\/O device<\/strong> (printer, disk, etc.).<\/p>\n<\/li>\n<li class=\"\" data-start=\"1288\" data-end=\"1328\">\n<p class=\"\" data-start=\"1290\" data-end=\"1328\">Each I\/O device has its <strong data-start=\"1314\" data-end=\"1327\">own queue<\/strong>.<\/p>\n<\/li>\n<li class=\"\" data-start=\"1329\" data-end=\"1367\">\n<p class=\"\" data-start=\"1331\" data-end=\"1367\">Handled by the <strong data-start=\"1346\" data-end=\"1366\">device scheduler<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-start=\"1369\" data-end=\"1458\">\ud83e\udde0 Example: If a process needs to read from disk, it is moved to the disk&#8217;s device queue.<\/p>\n<hr class=\"\" data-start=\"1460\" data-end=\"1463\" \/>\n<h2 class=\"\" data-start=\"1465\" data-end=\"1512\">\ud83e\uddee <strong data-start=\"1471\" data-end=\"1512\">Process State Transitions and Queues:<\/strong><\/h2>\n<div class=\"contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary\">\n<div class=\"flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]\">mermaid<\/div>\n<div class=\"sticky top-9\">\n<div class=\"absolute end-0 bottom-0 flex h-9 items-center pe-2\">\n<div class=\"bg-token-sidebar-surface-primary text-token-text-secondary dark:bg-token-main-surface-secondary flex items-center rounded-sm px-2 font-sans text-xs\"><button class=\"flex gap-1 items-center select-none px-4 py-1\" aria-label=\"Copy\">Copy<\/button><span class=\"\" data-state=\"closed\"><button class=\"flex items-center gap-1 px-4 py-1 select-none\">Edit<\/button><\/span><\/div>\n<\/div>\n<\/div>\n<div class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-mermaid\">flowchart LR<br \/>\nNEW[New Process] --&gt;|Admitted| ReadyQ[Ready Queue]<br \/>\nReadyQ --&gt;|Dispatched| CPU<br \/>\nCPU --&gt;|I\/O Request| IOQ[Device Queue]<br \/>\nIOQ --&gt;|I\/O Complete| ReadyQ<br \/>\nCPU --&gt;|Exit| Terminated<br \/>\n<\/code><\/div>\n<\/div>\n<hr class=\"\" data-start=\"1734\" data-end=\"1737\" \/>\n<h2 class=\"\" data-start=\"1739\" data-end=\"1763\">\ud83e\udde0 <strong data-start=\"1745\" data-end=\"1763\">Summary Table:<\/strong><\/h2>\n<div class=\"_tableContainer_16hzy_1\">\n<div class=\"_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse\">\n<table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"1765\" data-end=\"2138\">\n<thead data-start=\"1765\" data-end=\"1838\">\n<tr data-start=\"1765\" data-end=\"1838\">\n<th data-start=\"1765\" data-end=\"1781\" data-col-size=\"sm\">Queue<\/th>\n<th data-start=\"1781\" data-end=\"1803\" data-col-size=\"sm\">Managed by<\/th>\n<th data-start=\"1803\" data-end=\"1838\" data-col-size=\"sm\">Purpose<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"1914\" data-end=\"2138\">\n<tr data-start=\"1914\" data-end=\"1988\">\n<td data-start=\"1914\" data-end=\"1930\" data-col-size=\"sm\">Job Queue<\/td>\n<td data-col-size=\"sm\" data-start=\"1930\" data-end=\"1952\">Long-term scheduler<\/td>\n<td data-col-size=\"sm\" data-start=\"1952\" data-end=\"1988\">Holds all processes<\/td>\n<\/tr>\n<tr data-start=\"1989\" data-end=\"2063\">\n<td data-start=\"1989\" data-end=\"2005\" data-col-size=\"sm\">Ready Queue<\/td>\n<td data-col-size=\"sm\" data-start=\"2005\" data-end=\"2027\">Short-term scheduler<\/td>\n<td data-col-size=\"sm\" data-start=\"2027\" data-end=\"2063\">Holds processes ready for CPU<\/td>\n<\/tr>\n<tr data-start=\"2064\" data-end=\"2138\">\n<td data-start=\"2064\" data-end=\"2080\" data-col-size=\"sm\">Device Queue<\/td>\n<td data-col-size=\"sm\" data-start=\"2080\" data-end=\"2102\">I\/O scheduler<\/td>\n<td data-col-size=\"sm\" data-start=\"2102\" data-end=\"2138\">Holds processes doing I\/O<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"sticky end-(--thread-content-margin) h-0 self-end select-none\">\n<div class=\"absolute end-0 flex items-end\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<hr class=\"\" data-start=\"2140\" data-end=\"2143\" \/>\n<h2 class=\"\" data-start=\"2145\" data-end=\"2184\">\ud83c\udf93 <strong data-start=\"2151\" data-end=\"2184\">Quiz: Test Your Understanding<\/strong><\/h2>\n<ol data-start=\"2186\" data-end=\"2456\">\n<li class=\"\" data-start=\"2186\" data-end=\"2333\">\n<p class=\"\" data-start=\"2189\" data-end=\"2268\">A process is moved from the <strong data-start=\"2217\" data-end=\"2239\">ready queue to CPU<\/strong>. What is this action called?<\/p>\n<ul data-start=\"2272\" data-end=\"2333\">\n<li class=\"\" data-start=\"2272\" data-end=\"2286\">\n<p class=\"\" data-start=\"2274\" data-end=\"2286\">A) Interrupt<\/p>\n<\/li>\n<li class=\"\" data-start=\"2290\" data-end=\"2305\">\n<p class=\"\" data-start=\"2292\" data-end=\"2305\">B) Dispatch \u2705<\/p>\n<\/li>\n<li class=\"\" data-start=\"2309\" data-end=\"2319\">\n<p class=\"\" data-start=\"2311\" data-end=\"2319\">C) Admit<\/p>\n<\/li>\n<li class=\"\" data-start=\"2323\" data-end=\"2333\">\n<p class=\"\" data-start=\"2325\" data-end=\"2333\">D) Block<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"\" data-start=\"2335\" data-end=\"2456\">\n<p class=\"\" data-start=\"2338\" data-end=\"2382\">Which queue holds processes waiting for I\/O?<\/p>\n<ul data-start=\"2386\" data-end=\"2456\">\n<li class=\"\" data-start=\"2386\" data-end=\"2400\">\n<p class=\"\" data-start=\"2388\" data-end=\"2400\">A) Job Queue<\/p>\n<\/li>\n<li class=\"\" data-start=\"2404\" data-end=\"2420\">\n<p class=\"\" data-start=\"2406\" data-end=\"2420\">B) Ready Queue<\/p>\n<\/li>\n<li class=\"\" data-start=\"2424\" data-end=\"2443\">\n<p class=\"\" data-start=\"2426\" data-end=\"2443\">C) Device Queue \u2705<\/p>\n<\/li>\n<li class=\"\" data-start=\"2447\" data-end=\"2456\">\n<p class=\"\" data-start=\"2449\" data-end=\"2456\">D) None<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr class=\"\" data-start=\"2458\" data-end=\"2461\" \/>\n<h2 class=\"\" data-start=\"2463\" data-end=\"2478\">\ud83d\udcd8 GATE Tip:<\/h2>\n<ul data-start=\"2479\" data-end=\"2669\">\n<li class=\"\" data-start=\"2479\" data-end=\"2592\">\n<p class=\"\" data-start=\"2481\" data-end=\"2563\">Questions often ask <strong data-start=\"2501\" data-end=\"2563\">&#8220;Which queue does a process move to after an I\/O request?&#8221;<\/strong><\/p>\n<ul data-start=\"2566\" data-end=\"2592\">\n<li class=\"\" data-start=\"2566\" data-end=\"2592\">\n<p class=\"\" data-start=\"2568\" data-end=\"2592\">Answer: <strong data-start=\"2576\" data-end=\"2592\">Device Queue<\/strong><\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"\" data-start=\"2594\" data-end=\"2669\">\n<p class=\"\" data-start=\"2596\" data-end=\"2669\">Also expect diagrams, <strong data-start=\"2618\" data-end=\"2639\">state transitions<\/strong>, and MCQs on scheduler types.<\/p>\n<\/li>\n<\/ul>\n<hr class=\"\" data-start=\"2671\" data-end=\"2674\" \/>\n<p class=\"\" data-start=\"2676\" data-end=\"2691\">Would you like:<\/p>\n<ul data-start=\"2692\" data-end=\"2804\">\n<li class=\"\" data-start=\"2692\" data-end=\"2724\">\n<p class=\"\" data-start=\"2694\" data-end=\"2724\">\ud83c\udfa5 A video explanation script?<\/p>\n<\/li>\n<li class=\"\" data-start=\"2725\" data-end=\"2750\">\n<p class=\"\" data-start=\"2727\" data-end=\"2750\">\ud83d\udcdd GATE-level MCQs PDF?<\/p>\n<\/li>\n<li class=\"\" data-start=\"2751\" data-end=\"2804\">\n<p class=\"\" data-start=\"2753\" data-end=\"2804\">\ud83d\udcca Interactive flowchart or animation for learning?<\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-start=\"2806\" data-end=\"2845\">Let me know how you&#8217;d like to continue!<\/p>\n<h3 data-start=\"2806\" data-end=\"2845\"><a href=\"https:\/\/www.srinix.org\/lecture_notes\/Materials_2020_21\/CSE\/5TH%20SEM\/OS(MOD-2).pdf\" target=\"_blank\" rel=\"noopener\">Day 01Part 16- Scheduling Queue in Operating System, Job Queue, Ready Queue and Device Queue.<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/home.adelphi.edu\/~siegfried\/cs553\/553l9.pdf\" target=\"_blank\" rel=\"noopener\">CSC 553 Operating Systems Types of Scheduling<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/svmudgir.org\/wp-content\/uploads\/2023\/03\/process-scheduling.pdf\" target=\"_blank\" rel=\"noopener\">Process Scheduling<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Day 01Part 16- Scheduling Queue in Operating System, Job Queue, Ready Queue and Device Queue [fvplayer id=&#8221;336&#8243;] Here is a comprehensive breakdown of: \ud83d\udda5\ufe0f Day 01 \u2013 Part 16: Scheduling Queues in Operating System \ud83d\udcda Topic: Job Queue, Ready Queue, Device Queue\ud83d\udc68\u200d\ud83d\udcbb For: GATE \/ B.Tech \/ Operating System Fundamentals \ud83c\udfaf What are Scheduling Queues? [&hellip;]<\/p>\n","protected":false},"author":66,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78],"tags":[],"class_list":["post-3287","post","type-post","status-publish","format-standard","hentry","category-operating-system"],"_links":{"self":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/3287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/users\/66"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/comments?post=3287"}],"version-history":[{"count":0,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/3287\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/media?parent=3287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/categories?post=3287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/tags?post=3287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}