{"id":3280,"date":"2025-06-07T14:02:44","date_gmt":"2025-06-07T14:02:44","guid":{"rendered":"https:\/\/diznr.com\/?p=3280"},"modified":"2025-06-07T14:02:44","modified_gmt":"2025-06-07T14:02:44","slug":"day-01-part-17b-concept-of-schedulers-short-term-long-term-and-medium-schedulers-term","status":"publish","type":"post","link":"https:\/\/www.reilsolar.com\/pdf\/day-01-part-17b-concept-of-schedulers-short-term-long-term-and-medium-schedulers-term\/","title":{"rendered":"Day 01 Part 17(B)- Concept of schedulers short term, long term and medium term schedulers"},"content":{"rendered":"<p>Day 01 Part 17(B)- Concept of schedulers short term, long term and medium term schedulers<\/p>\n<p>[fvplayer id=&#8221;332&#8243;]<\/p>\n<p class=\"\" data-start=\"0\" data-end=\"150\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">In operating systems, <strong data-start=\"22\" data-end=\"36\">schedulers<\/strong> are responsible for managing the execution of processes by determining which process runs at a given time.<\/span> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">There are three primary types of schedulers: <strong data-start=\"45\" data-end=\"58\">Long-Term<\/strong>, <strong data-start=\"60\" data-end=\"75\">Medium-Term<\/strong>, and <strong data-start=\"81\" data-end=\"95\">Short-Term<\/strong>.<\/span> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Each plays a distinct role in process management and system performance.<\/span><\/p>\n<hr class=\"\" data-start=\"152\" data-end=\"155\" \/>\n<h3 class=\"\" data-start=\"157\" data-end=\"199\">\ud83d\udd52 Long-Term Scheduler (Job Scheduler)<\/h3>\n<p class=\"\" data-start=\"201\" data-end=\"289\"><strong data-start=\"201\" data-end=\"210\">Role:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Determines which processes are admitted into the system for processing.<\/span><\/p>\n<p class=\"\" data-start=\"291\" data-end=\"305\"><strong data-start=\"291\" data-end=\"305\">Functions:<\/strong><\/p>\n<ul data-start=\"306\" data-end=\"541\">\n<li class=\"\" data-start=\"306\" data-end=\"378\">\n<p class=\"\" data-start=\"308\" data-end=\"378\"><strong data-start=\"308\" data-end=\"338\">Controls Multiprogramming:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Regulates the number of processes in memory to maintain an optimal level of multiprogramming.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"379\" data-end=\"443\">\n<p class=\"\" data-start=\"381\" data-end=\"443\"><strong data-start=\"381\" data-end=\"403\">Process Selection:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Chooses processes from the job pool and loads them into the ready queue.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"444\" data-end=\"541\">\n<p class=\"\" data-start=\"446\" data-end=\"541\"><strong data-start=\"446\" data-end=\"462\">Process Mix:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Ensures a balanced mix of I\/O-bound and CPU-bound processes to optimize resource utilization.<\/span><\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-start=\"543\" data-end=\"563\"><strong data-start=\"543\" data-end=\"563\">Characteristics:<\/strong><\/p>\n<ul data-start=\"564\" data-end=\"808\">\n<li class=\"\" data-start=\"564\" data-end=\"620\">\n<p class=\"\" data-start=\"566\" data-end=\"620\"><strong data-start=\"566\" data-end=\"580\">Frequency:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Invoked less frequently compared to other schedulers.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"621\" data-end=\"673\">\n<p class=\"\" data-start=\"623\" data-end=\"673\"><strong data-start=\"623\" data-end=\"633\">Speed:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Slower decision-making process.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"674\" data-end=\"808\">\n<p class=\"\" data-start=\"676\" data-end=\"808\"><strong data-start=\"676\" data-end=\"689\">Presence:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Not present in all systems; for instance, time-sharing systems like UNIX often lack a long-term scheduler.<\/span><\/p>\n<\/li>\n<\/ul>\n<hr class=\"\" data-start=\"810\" data-end=\"813\" \/>\n<h3 class=\"\" data-start=\"815\" data-end=\"853\">\ud83d\udd51 Medium-Term Scheduler (Swapper)<\/h3>\n<p class=\"\" data-start=\"855\" data-end=\"943\"><strong data-start=\"855\" data-end=\"864\">Role:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Manages the swapping of processes in and out of main memory to optimize CPU and memory utilization.<\/span><\/p>\n<p class=\"\" data-start=\"945\" data-end=\"959\"><strong data-start=\"945\" data-end=\"959\">Functions:<\/strong><\/p>\n<ul data-start=\"960\" data-end=\"1191\">\n<li class=\"\" data-start=\"960\" data-end=\"1015\">\n<p class=\"\" data-start=\"962\" data-end=\"1015\"><strong data-start=\"962\" data-end=\"975\">Swapping:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Temporarily removes (swaps out) processes from main memory to reduce the degree of multiprogramming and later swaps them back in when appropriate.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"1016\" data-end=\"1082\">\n<p class=\"\" data-start=\"1018\" data-end=\"1082\"><strong data-start=\"1018\" data-end=\"1042\">Resource Management:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Balances memory usage among processes, ensuring efficient utilization.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"1083\" data-end=\"1191\">\n<p class=\"\" data-start=\"1085\" data-end=\"1191\"><strong data-start=\"1085\" data-end=\"1112\">Process Prioritization:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">May adjust process priorities based on their current state or resource requirements.<\/span><\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-start=\"1193\" data-end=\"1213\"><strong data-start=\"1193\" data-end=\"1213\">Characteristics:<\/strong><\/p>\n<ul data-start=\"1214\" data-end=\"1405\">\n<li class=\"\" data-start=\"1214\" data-end=\"1270\">\n<p class=\"\" data-start=\"1216\" data-end=\"1270\"><strong data-start=\"1216\" data-end=\"1230\">Frequency:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Operates at a medium frequency, depending on system load and memory availability.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"1271\" data-end=\"1405\">\n<p class=\"\" data-start=\"1273\" data-end=\"1405\"><strong data-start=\"1273\" data-end=\"1286\">Presence:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Common in systems that support swapping; not all operating systems implement a medium-term scheduler.<\/span><\/p>\n<\/li>\n<\/ul>\n<hr class=\"\" data-start=\"1407\" data-end=\"1410\" \/>\n<h3 class=\"\" data-start=\"1412\" data-end=\"1455\">\ud83d\udd50 Short-Term Scheduler (CPU Scheduler)<\/h3>\n<p class=\"\" data-start=\"1457\" data-end=\"1545\"><strong data-start=\"1457\" data-end=\"1466\">Role:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Selects which process in the ready queue should be executed next by the CPU.<\/span><\/p>\n<p class=\"\" data-start=\"1547\" data-end=\"1561\"><strong data-start=\"1547\" data-end=\"1561\">Functions:<\/strong><\/p>\n<ul data-start=\"1562\" data-end=\"1801\">\n<li class=\"\" data-start=\"1562\" data-end=\"1628\">\n<p class=\"\" data-start=\"1564\" data-end=\"1628\"><strong data-start=\"1564\" data-end=\"1588\">Process Dispatching:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Allocates CPU to one of the ready processes.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"1629\" data-end=\"1693\">\n<p class=\"\" data-start=\"1631\" data-end=\"1693\"><strong data-start=\"1631\" data-end=\"1653\">Context Switching:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Handles the switching of the CPU from one process to another.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"1694\" data-end=\"1801\">\n<p class=\"\" data-start=\"1696\" data-end=\"1801\"><strong data-start=\"1696\" data-end=\"1722\">Scheduling Algorithms:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Implements algorithms like First-Come-First-Serve (FCFS), Shortest Job Next (SJN), Round Robin (RR), etc., to determine process execution order.<\/span><\/p>\n<\/li>\n<\/ul>\n<p class=\"\" data-start=\"1803\" data-end=\"1823\"><strong data-start=\"1803\" data-end=\"1823\">Characteristics:<\/strong><\/p>\n<ul data-start=\"1824\" data-end=\"2068\">\n<li class=\"\" data-start=\"1824\" data-end=\"1880\">\n<p class=\"\" data-start=\"1826\" data-end=\"1880\"><strong data-start=\"1826\" data-end=\"1840\">Frequency:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Invoked very frequently (milliseconds), making rapid decisions.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"1881\" data-end=\"1933\">\n<p class=\"\" data-start=\"1883\" data-end=\"1933\"><strong data-start=\"1883\" data-end=\"1893\">Speed:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Fastest among all schedulers due to the need for quick decision-making.<\/span><\/p>\n<\/li>\n<li class=\"\" data-start=\"1934\" data-end=\"2068\">\n<p class=\"\" data-start=\"1936\" data-end=\"2068\"><strong data-start=\"1936\" data-end=\"1949\">Presence:<\/strong> <span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Essential component in all operating systems.<\/span><\/p>\n<\/li>\n<\/ul>\n<hr class=\"\" data-start=\"2070\" data-end=\"2073\" \/>\n<h3 class=\"\" data-start=\"2075\" data-end=\"2102\">\ud83d\udcca Comparative Overview<\/h3>\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=\"2104\" data-end=\"3029\">\n<thead data-start=\"2104\" data-end=\"2230\">\n<tr data-start=\"2104\" data-end=\"2230\">\n<th data-start=\"2104\" data-end=\"2123\" data-col-size=\"sm\">Scheduler Type<\/th>\n<th data-start=\"2123\" data-end=\"2141\" data-col-size=\"sm\">Also Known As<\/th>\n<th data-start=\"2141\" data-end=\"2166\" data-col-size=\"sm\">Frequency of Execution<\/th>\n<th data-start=\"2166\" data-end=\"2176\" data-col-size=\"sm\">Speed<\/th>\n<th data-start=\"2176\" data-end=\"2230\" data-col-size=\"sm\">Main Function<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"2357\" data-end=\"3029\">\n<tr data-start=\"2357\" data-end=\"2542\">\n<td data-start=\"2357\" data-end=\"2406\" data-col-size=\"sm\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Long-Term<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2406\" data-end=\"2450\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Job Scheduler<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2450\" data-end=\"2475\">Low<\/td>\n<td data-col-size=\"sm\" data-start=\"2475\" data-end=\"2485\">Slow<\/td>\n<td data-col-size=\"sm\" data-start=\"2485\" data-end=\"2542\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Controls degree of multiprogramming<\/span><\/td>\n<\/tr>\n<tr data-start=\"2543\" data-end=\"2802\">\n<td data-start=\"2543\" data-end=\"2590\" data-col-size=\"sm\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Medium-Term<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2590\" data-end=\"2640\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Swapper<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2640\" data-end=\"2698\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Medium<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2698\" data-end=\"2739\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Moderate<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2739\" data-end=\"2802\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Manages swapping of processes<\/span><\/td>\n<\/tr>\n<tr data-start=\"2803\" data-end=\"3029\">\n<td data-start=\"2803\" data-end=\"2851\" data-col-size=\"sm\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Short-Term<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2851\" data-end=\"2895\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">CPU Scheduler<\/span><\/td>\n<td data-col-size=\"sm\" data-start=\"2895\" data-end=\"2920\">High<\/td>\n<td data-col-size=\"sm\" data-start=\"2920\" data-end=\"2930\">Fast<\/td>\n<td data-col-size=\"sm\" data-start=\"2930\" data-end=\"2989\"><span class=\"relative -mx-px my-[-0.2rem] rounded px-px py-[0.2rem] transition-colors duration-100 ease-in-out\">Allocates CPU to ready processes<\/span><\/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=\"3031\" data-end=\"3034\" \/>\n<p class=\"\" data-start=\"3036\" data-end=\"3096\">For a visual explanation, you might find this video helpful:<\/p>\n<div class=\"not-prose mb-3 flex flex-col gap-4 text-base\">\n<div><\/div>\n<\/div>\n<p class=\"\" data-start=\"3142\" data-end=\"3232\">Feel free to ask if you need further clarification or examples on any of these schedulers!<\/p>\n<h3 data-start=\"3142\" data-end=\"3232\"><a href=\"https:\/\/home.adelphi.edu\/~siegfried\/cs553\/553l9.pdf\" target=\"_blank\" rel=\"noopener\">Day 01 Part 17(B)- Concept of schedulers short term, long term and medium term schedulers<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/www.srinix.org\/lecture_notes\/Materials_2020_21\/CSE\/5TH%20SEM\/OS(MOD-2).pdf\" target=\"_blank\" rel=\"noopener\">Operating System &#8211; Process Scheduling<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/www.idc-online.com\/technical_references\/pdfs\/information_technology\/Types_of_Scheduling.pdf\" target=\"_blank\" rel=\"noopener\">Types Of Scheduling<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Day 01 Part 17(B)- Concept of schedulers short term, long term and medium term schedulers [fvplayer id=&#8221;332&#8243;] In operating systems, schedulers are responsible for managing the execution of processes by determining which process runs at a given time. There are three primary types of schedulers: Long-Term, Medium-Term, and Short-Term. Each plays a distinct role in [&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-3280","post","type-post","status-publish","format-standard","hentry","category-operating-system"],"_links":{"self":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/3280","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=3280"}],"version-history":[{"count":0,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/3280\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/media?parent=3280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/categories?post=3280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/tags?post=3280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}