

{"id":100314,"date":"2021-08-28T09:00:53","date_gmt":"2021-08-28T03:30:53","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=100314"},"modified":"2021-08-18T21:22:08","modified_gmt":"2021-08-18T15:52:08","slug":"fcfs-scheduling-in-os","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/","title":{"rendered":"FCFS Scheduling in OS"},"content":{"rendered":"<p>FCFS stands for First-Come-First-Serve. FCSF is an OS scheduling algorithm that executes requests and processes automatically. The OS stores these processes in the form of a queue in order of their arrival. Processes requesting the CPU first get the CPU allocation first in this easy and simple algorithm with the help of a FIFO queue.<\/p>\n<p>After entering the ready queue, the PCB of a process links itself with the tail of the queue. Thus, when the CPU becomes free, it is assigned to the process that is at the beginning of the queue. The process that has the least arrival time receives the processor first.<\/p>\n<p>A simple real-life example of this algorithm is the cash counter. There is a queue on the counter. The person who arrives first at the counter receives the services first, followed by the second person, then third, and so on. The CPU process also works like this.<\/p>\n<h3>Characteristics of FCFS Scheduling<\/h3>\n<p>Following are some characteristics of FCFS:<\/p>\n<ul>\n<li>Supports both non-preemptive and preemptive scheduling.<\/li>\n<li>Executes jobs on the basis of first-come, first-serve.<\/li>\n<li>Easy to implement and use.<\/li>\n<li>Poor in performance, and has high wait time.<\/li>\n<li>May cause starvation if the first job has the longest burst time.<\/li>\n<\/ul>\n<h3>Working of FCFS in OS<\/h3>\n<h4>Calculating Average Waiting Time:<\/h4>\n<p>Following is a list of five processes with the same arrival time and different burst times.<\/p>\n<table style=\"height: 339px;\" width=\"712\">\n<tbody>\n<tr>\n<td><b>Process<\/b><\/td>\n<td><b>Burst Time<\/b><\/td>\n<td><b>Arrival Time<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">6<\/span><\/td>\n<td><span style=\"font-weight: 400;\">2<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">P2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">5<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">8<\/span><\/td>\n<td><span style=\"font-weight: 400;\">1<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">4<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Following are the steps to apply FCFS scheduling on the above data:<\/p>\n<p><strong>STEP 1.<\/strong> The process starts with the job that has the least arrival time. Thus, P4 with an arrival time of 0.<\/p>\n<table style=\"height: 127px;\" width=\"424\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 2.<\/strong> At time = 1, the next process arrives; P3. Since P4 is still executing, P3 is placed in a queue.<\/p>\n<table style=\"height: 126px;\" width=\"565\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 3.<\/strong> At time = 2, process P1 arrives in the queue.<\/p>\n<table style=\"height: 118px;\" width=\"634\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 4.<\/strong> At time = 3, process P4 completes executing.<\/p>\n<table style=\"height: 117px;\" width=\"523\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 5.<\/strong> At time = 4, P5 arrives in the queue and the process P3 that arrived first in the queue starts executing.<\/p>\n<table style=\"height: 124px;\" width=\"531\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 6.<\/strong> At time = 5, process P2 arrives in the queue.<\/p>\n<table style=\"height: 114px;\" width=\"512\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P2<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 7.<\/strong> At time 11, process P3 completes executing.<\/p>\n<table style=\"height: 112px;\" width=\"747\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P2<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 8.<\/strong> At time = 11, process P1 starts executing. With a burst time of 6, it completes execution at time = 17.<\/p>\n<table style=\"height: 130px;\" width=\"646\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P2<\/span><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 9.<\/strong> At time = 17, process P5 starts executing. With a burst time of 4, it completes execution at time = 21.<\/p>\n<table style=\"height: 137px;\" width=\"696\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P2<\/span><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 10.<\/strong> At time = 21, process P2 starts executing. With a burst time of 2, it completes execution at time = 23.<\/p>\n<table style=\"height: 157px;\" width=\"784\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">QUEUE<\/span><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RUNNING PROCESSES<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P2<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>STEP 11.<\/strong> The average time is:<\/p>\n<table style=\"height: 123px;\" width=\"685\">\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">P4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">P2<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">0<\/span><\/td>\n<td><span style=\"font-weight: 400;\">3\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 11<\/span><\/td>\n<td><span style=\"font-weight: 400;\">17<\/span><\/td>\n<td><span style=\"font-weight: 400;\">21<\/span><\/td>\n<td><span style=\"font-weight: 400;\">23<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Waiting time = Starting time &#8211; Arrival time<\/p>\n<p>P4 = 0 &#8211; 0 = 0<\/p>\n<p>P3 = 3 &#8211; 1 = 2<\/p>\n<p>P1 = 11 &#8211; 2 = 9<\/p>\n<p>P5 = 17 &#8211; 4 = 13<\/p>\n<p>P2 = 21 &#8211; 5 = 16<\/p>\n<p>Average Waiting Time = (0+2+9+13+16)\/5 = 40\/5 = 8<\/p>\n<h3>Advantages of FCFS<\/h3>\n<p>Following are the advantages of FCFS scheduling:<\/p>\n<ul>\n<li>Simplest CPU scheduling algorithm.<\/li>\n<li>Easy to program.<\/li>\n<li>Works on a first-come, first-serve basis.<\/li>\n<\/ul>\n<h3>Disadvantages of FCFS<\/h3>\n<p>Following are the disadvantages of FCFS:<\/p>\n<ul>\n<li>It doesn\u2019t release the CPU until it finishes executing as it is a Non-Preemptive CPU scheduling algorithm.<\/li>\n<li>May cause starvation if the first job has the longest burst time.<\/li>\n<li>High Average Waiting Time.<\/li>\n<li>Short processes at the back of the queue have to wait for the long processes to finish execution.<\/li>\n<li>Not ideal for time-sharing systems.<\/li>\n<li>Inefficient.<\/li>\n<\/ul>\n<h3>Summary<\/h3>\n<p>FCFS is an OS scheduling algorithm that executes requests and processes automatically. It is both non-preemptive and pre-emptive. It works on the technique of FIFO and is the simplest and easiest form of the scheduling algorithm. The processes that are not processing form a queue and wait for the CPU to get free.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FCFS stands for First-Come-First-Serve. FCSF is an OS scheduling algorithm that executes requests and processes automatically. The OS stores these processes in the form of a queue in order of their arrival. Processes requesting&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":100375,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24565],"tags":[24987,24988,24986,24985],"class_list":["post-100314","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-operating-system-tutorials","tag-fcfs-advantages","tag-fcfs-disadvantages","tag-fcfs-in-os","tag-fcfs-scheduling"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FCFS Scheduling in OS - DataFlair<\/title>\n<meta name=\"description\" content=\"Learn what is FCFS Scheduling in Operating System. See its characteristics, working, advantages and limitations for better understanding.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FCFS Scheduling in OS - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Learn what is FCFS Scheduling in Operating System. See its characteristics, working, advantages and limitations for better understanding.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-28T03:30:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/08\/FCFS-SCHEDULING-IN-OS.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FCFS Scheduling in OS - DataFlair","description":"Learn what is FCFS Scheduling in Operating System. See its characteristics, working, advantages and limitations for better understanding.","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:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/","og_locale":"en_US","og_type":"article","og_title":"FCFS Scheduling in OS - DataFlair","og_description":"Learn what is FCFS Scheduling in Operating System. See its characteristics, working, advantages and limitations for better understanding.","og_url":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2021-08-28T03:30:53+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/08\/FCFS-SCHEDULING-IN-OS.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/b49855299264df5e27e3ec6c2cd9fde9"},"headline":"FCFS Scheduling in OS","datePublished":"2021-08-28T03:30:53+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/"},"wordCount":636,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/08\/FCFS-SCHEDULING-IN-OS.jpg","keywords":["FCFS Advantages","FCFS Disadvantages","FCFS in OS","FCFS Scheduling"],"articleSection":["Operating System Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/","url":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/","name":"FCFS Scheduling in OS - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/08\/FCFS-SCHEDULING-IN-OS.jpg","datePublished":"2021-08-28T03:30:53+00:00","description":"Learn what is FCFS Scheduling in Operating System. See its characteristics, working, advantages and limitations for better understanding.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/08\/FCFS-SCHEDULING-IN-OS.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2021\/08\/FCFS-SCHEDULING-IN-OS.jpg","width":1200,"height":628,"caption":"FCFS SCHEDULING IN OS"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/fcfs-scheduling-in-os\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Operating System Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/operating-system-tutorials\/"},{"@type":"ListItem","position":3,"name":"FCFS Scheduling in OS"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/b49855299264df5e27e3ec6c2cd9fde9","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ef46b745ddad2fad690af626c6ef29b91809ad0a9f5ef398d07817d8cad042f5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ef46b745ddad2fad690af626c6ef29b91809ad0a9f5ef398d07817d8cad042f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ef46b745ddad2fad690af626c6ef29b91809ad0a9f5ef398d07817d8cad042f5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team is a group of passionate educators and industry experts dedicated to providing high-quality online learning resources on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. With years of experience in the field, the team aims to simplify complex topics and help learners advance their careers. At DataFlair, we believe in empowering students and professionals with the knowledge and skills needed to thrive in today\u2019s fast-paced tech industry. Follow us for Free courses, expert insights, tutorials, and practical tips to boost your learning journey.","url":"https:\/\/data-flair.training\/blogs\/author\/datafbdad\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/100314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=100314"}],"version-history":[{"count":2,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/100314\/revisions"}],"predecessor-version":[{"id":100376,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/100314\/revisions\/100376"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/100375"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=100314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=100314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=100314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}