{"id":5079,"date":"2021-08-16T13:04:37","date_gmt":"2021-08-16T07:34:37","guid":{"rendered":"https:\/\/www.goseeko.com\/blog\/?p=5079"},"modified":"2021-10-30T07:40:32","modified_gmt":"2021-10-30T07:40:32","slug":"what-is-cpu-scheduling","status":"publish","type":"post","link":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/","title":{"rendered":"What is CPU Scheduling?"},"content":{"rendered":"\n<p>CPU <a href=\"https:\/\/en.wikipedia.org\/wiki\/Scheduling_(computing)\" target=\"_blank\" rel=\"noreferrer noopener\">Scheduling<\/a> is the process of determining which process will have exclusive use of the CPU while another is paused. The basic goal of CPU scheduling is to ensure that whenever the CPU is idle, the OS chooses at least one of the programs in the ready queue to run. The CPU scheduler will be in charge of the selecting process. It chooses from among the processes in memory that are ready to run.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Types <\/strong><\/h2>\n\n\n\n<p><strong>1. Preemptive scheduling<\/strong><\/p>\n\n\n\n<p>Tasks are generally assigned with their priorities in Preemptive Scheduling. Even if the lower priority activity is still running, it is sometimes necessary to run a higher priority task before a lower priority task.<\/p>\n\n\n\n<p><strong>2. Non-preemptive scheduling<\/strong><\/p>\n\n\n\n<p>The CPU has been assigned to a certain process in this scheduling mechanism. The process that keeps the CPU occupied will either switch context or terminate to relieve the CPU. It&#8217;s the only method that works across a variety of hardware platforms. That&#8217;s because, unlike preemptive scheduling, it doesn&#8217;t require any particular hardware (such as a timer).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Types of CPU scheduling Algorithm<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>First Come First Serve (FCFS)<\/li><li>Shortest-Job-First (SJF) Scheduling<\/li><li>Shortest Remaining Time<\/li><li>Priority Scheduling<\/li><li>Round Robin Scheduling<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CPU Scheduling Criteria<\/strong><\/h2>\n\n\n\n<p>The following are the objectives of a CPU scheduling algorithm:<\/p>\n\n\n\n<p><strong>CPU utilization<\/strong> &#8211; CPU utilization is the primary task that the operating system must perform to keep the CPU as active as feasible. Moreover, It might be anywhere between 0% and 100%.<\/p>\n\n\n\n<p><strong>Throughput<\/strong> &#8211; Throughput is the number of processes that complete their execution in a given amount of time.<\/p>\n\n\n\n<p><strong>Waiting time<\/strong> &#8211; The amount of time that a specific process must wait in the ready queue is referred to as waiting time.<\/p>\n\n\n\n<p><strong>Response time<\/strong> &#8211; It is the period from the submission of the request to the delivery of the first response.<\/p>\n\n\n\n<p><strong>Turnaround Time<\/strong> &#8211; Turnaround time is the amount of time it takes to complete a task. The entire time spent waiting to get into memory, waiting in the queue, and executing on the CPU is calculate.<\/p>\n\n\n\n<p><strong>Interested in learning about similar topics? Here are a few hand-picked blogs for you!<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.goseeko.com\/blog\/what-is-semaphore\" target=\"_blank\" rel=\"noreferrer noopener\">What is semaphore?<\/a><\/li><li><a href=\"https:\/\/www.goseeko.com\/blog\/what-is-concurrency\" target=\"_blank\" rel=\"noreferrer noopener\">Explain Concurrency?<\/a><\/li><li><a href=\"https:\/\/www.goseeko.com\/blog\/what-is-deadlock\" target=\"_blank\" rel=\"noreferrer noopener\">What is deadlock?<\/a><\/li><li><a href=\"https:\/\/www.goseeko.com\/blog\/what-is-sorting-algorithm\" target=\"_blank\" rel=\"noreferrer noopener\">Illustrate sorting algorithm?<\/a><\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>CPU Scheduling is the process of determining which process will have exclusive use of the CPU while another is paused.<\/p>\n","protected":false},"author":28,"featured_media":1251,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[36],"tags":[],"class_list":["post-5079","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer-science-software-engineering-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.3.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What is CPU Scheduling? - Goseeko blog<\/title>\n<meta name=\"description\" content=\"CPU Scheduling is the process of determining which process will have exclusive use of the CPU while another is paused.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is CPU Scheduling? - Goseeko blog\" \/>\n<meta property=\"og:description\" content=\"CPU Scheduling is the process of determining which process will have exclusive use of the CPU while another is paused.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/\" \/>\n<meta property=\"og:site_name\" content=\"Goseeko blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/goseeko\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-16T07:34:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-30T07:40:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"480\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Gunjan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@goseeko\" \/>\n<meta name=\"twitter:site\" content=\"@goseeko\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gunjan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/\"},\"author\":{\"name\":\"Gunjan\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/#\/schema\/person\/843a7ac71fc4ae8c177dbb7820f2dc9c\"},\"headline\":\"What is CPU Scheduling?\",\"datePublished\":\"2021-08-16T07:34:37+00:00\",\"dateModified\":\"2021-10-30T07:40:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/\"},\"wordCount\":360,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1\",\"articleSection\":[\"Computers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/\",\"url\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/\",\"name\":\"What is CPU Scheduling? - Goseeko blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1\",\"datePublished\":\"2021-08-16T07:34:37+00:00\",\"dateModified\":\"2021-10-30T07:40:32+00:00\",\"description\":\"CPU Scheduling is the process of determining which process will have exclusive use of the CPU while another is paused.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1\",\"width\":640,\"height\":480,\"caption\":\"analog design engineer\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.goseeko.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is CPU Scheduling?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/#website\",\"url\":\"https:\/\/www.goseeko.com\/blog\/\",\"name\":\"Goseeko blog\",\"description\":\"Learning beyond college, Students platform for life skills.\",\"publisher\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.goseeko.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/#organization\",\"name\":\"Goseeko.com\",\"url\":\"https:\/\/www.goseeko.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i1.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/09\/GoSeeko_Stacked-logo-01.png?fit=2471%2C2471&ssl=1\",\"contentUrl\":\"https:\/\/i1.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/09\/GoSeeko_Stacked-logo-01.png?fit=2471%2C2471&ssl=1\",\"width\":2471,\"height\":2471,\"caption\":\"Goseeko.com\"},\"image\":{\"@id\":\"https:\/\/www.goseeko.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/goseeko\",\"https:\/\/x.com\/goseeko\",\"https:\/\/www.instagram.com\/goseeko\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/#\/schema\/person\/843a7ac71fc4ae8c177dbb7820f2dc9c\",\"name\":\"Gunjan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.goseeko.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/603118e8b67d49e1d7409d0214533c962209d94d08d298ce69d8e191ed573faa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/603118e8b67d49e1d7409d0214533c962209d94d08d298ce69d8e191ed573faa?s=96&d=mm&r=g\",\"caption\":\"Gunjan\"},\"url\":\"https:\/\/www.goseeko.com\/blog\/author\/gunjangoseeko\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is CPU Scheduling? - Goseeko blog","description":"CPU Scheduling is the process of determining which process will have exclusive use of the CPU while another is paused.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/","og_locale":"en_US","og_type":"article","og_title":"What is CPU Scheduling? - Goseeko blog","og_description":"CPU Scheduling is the process of determining which process will have exclusive use of the CPU while another is paused.","og_url":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/","og_site_name":"Goseeko blog","article_publisher":"https:\/\/www.facebook.com\/goseeko","article_published_time":"2021-08-16T07:34:37+00:00","article_modified_time":"2021-10-30T07:40:32+00:00","og_image":[{"width":640,"height":480,"url":"https:\/\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg","type":"image\/jpeg"}],"author":"Gunjan","twitter_card":"summary_large_image","twitter_creator":"@goseeko","twitter_site":"@goseeko","twitter_misc":{"Written by":"Gunjan","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#article","isPartOf":{"@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/"},"author":{"name":"Gunjan","@id":"https:\/\/www.goseeko.com\/blog\/#\/schema\/person\/843a7ac71fc4ae8c177dbb7820f2dc9c"},"headline":"What is CPU Scheduling?","datePublished":"2021-08-16T07:34:37+00:00","dateModified":"2021-10-30T07:40:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/"},"wordCount":360,"commentCount":0,"publisher":{"@id":"https:\/\/www.goseeko.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1","articleSection":["Computers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/","url":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/","name":"What is CPU Scheduling? - Goseeko blog","isPartOf":{"@id":"https:\/\/www.goseeko.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage"},"image":{"@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1","datePublished":"2021-08-16T07:34:37+00:00","dateModified":"2021-10-30T07:40:32+00:00","description":"CPU Scheduling is the process of determining which process will have exclusive use of the CPU while another is paused.","breadcrumb":{"@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#primaryimage","url":"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1","width":640,"height":480,"caption":"analog design engineer"},{"@type":"BreadcrumbList","@id":"https:\/\/www.goseeko.com\/blog\/what-is-cpu-scheduling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.goseeko.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What is CPU Scheduling?"}]},{"@type":"WebSite","@id":"https:\/\/www.goseeko.com\/blog\/#website","url":"https:\/\/www.goseeko.com\/blog\/","name":"Goseeko blog","description":"Learning beyond college, Students platform for life skills.","publisher":{"@id":"https:\/\/www.goseeko.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.goseeko.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.goseeko.com\/blog\/#organization","name":"Goseeko.com","url":"https:\/\/www.goseeko.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goseeko.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i1.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/09\/GoSeeko_Stacked-logo-01.png?fit=2471%2C2471&ssl=1","contentUrl":"https:\/\/i1.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/09\/GoSeeko_Stacked-logo-01.png?fit=2471%2C2471&ssl=1","width":2471,"height":2471,"caption":"Goseeko.com"},"image":{"@id":"https:\/\/www.goseeko.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/goseeko","https:\/\/x.com\/goseeko","https:\/\/www.instagram.com\/goseeko\/"]},{"@type":"Person","@id":"https:\/\/www.goseeko.com\/blog\/#\/schema\/person\/843a7ac71fc4ae8c177dbb7820f2dc9c","name":"Gunjan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.goseeko.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/603118e8b67d49e1d7409d0214533c962209d94d08d298ce69d8e191ed573faa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/603118e8b67d49e1d7409d0214533c962209d94d08d298ce69d8e191ed573faa?s=96&d=mm&r=g","caption":"Gunjan"},"url":"https:\/\/www.goseeko.com\/blog\/author\/gunjangoseeko\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.goseeko.com\/blog\/wp-content\/uploads\/2021\/05\/analog-design-engineer.jpg?fit=640%2C480&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/posts\/5079","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/comments?post=5079"}],"version-history":[{"count":1,"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/posts\/5079\/revisions"}],"predecessor-version":[{"id":5848,"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/posts\/5079\/revisions\/5848"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/media\/1251"}],"wp:attachment":[{"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/media?parent=5079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/categories?post=5079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goseeko.com\/blog\/wp-json\/wp\/v2\/tags?post=5079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}