{"id":6706,"date":"2015-05-11T10:26:01","date_gmt":"2015-05-11T17:26:01","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=6706"},"modified":"2024-12-28T11:33:44","modified_gmt":"2024-12-28T19:33:44","slug":"demystifiying-the-linux-kernel","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/demystifiying-the-linux-kernel\/","title":{"rendered":"Demystifying the Linux Kernel: Diagram &#038; Core"},"content":{"rendered":"<p>You&#8217;ll often hear about the &#8220;Linux kernel&#8221;, and if you search it on Google you get:<\/p>\n<blockquote><p>&#8220;The Linux kernel is a Unix-like computer operating system kernel. The Linux kernel is a widely used operating system kernel world-wide; the Linux operating system is based on it and deployed on both traditional computer systems, usually in the form of Linux distributions, and on embedded devices such as routers.&#8221;<\/p><\/blockquote>\n<p>Like most Linux things, this is a very cryptic statement. But today we&#8217;re going to go about explaining what the Linux kernel is in terms that people can understand.<\/p>\n<p><a href=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/kernel.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6728 aligncenter\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/kernel-600x450.png\" alt=\"kernel\" width=\"600\" height=\"450\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/kernel-600x450.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/kernel.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/kernel-225x169.png 225w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>That clears up everything, right? Well if you&#8217;re like me, not quite. You could read about all the squares in the picture above and probably figure some stuff out. But we can simplify this a lot more.<\/p>\n<p><a href=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6733 aligncenter\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_-600x474.png\" alt=\"1280px-Kernel_Layout.svg\" width=\"600\" height=\"474\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_-600x474.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_-1024x810.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_-225x178.png 225w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_-800x633.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_.png 1280w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Perfect&#8211; this is just five\u00a0words and three\u00a0different colors. You can see that the kernel is a barrier between applications, CPU, memory, and devices. Applications are what people use all the time, with everything from video games to the Internet.<\/p>\n<p>&nbsp;<\/p>\n<p>An application needs to access specific parts of the computer to be able to run properly (video cards, memory, etc), so we need something to handle this. This is where the kernel comes in.\u00a0With the kernel, applications have a way to access the hardware portions of the computer. Without the kernel, the hardware doesn&#8217;t know how to interact with anything else.<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_6742\" aria-describedby=\"caption-attachment-6742\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/mustard.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-6742\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/mustard-600x149.jpg\" alt=\"Other famous kernels \" width=\"600\" height=\"149\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/mustard-600x149.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/mustard-1024x254.jpg 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/mustard-225x56.jpg 225w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/mustard.jpg 1550w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><figcaption id=\"caption-attachment-6742\" class=\"wp-caption-text\">Other famous kernels.<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<p>So if we simplify everything, the Linux kernel can be described as a overarching program that takes the hardware of a computer and allows applications to use that hardware.<\/p>\n<p>&nbsp;<\/p>\n<p>That&#8217;s the Linux kernel, then we have Linux distributions. Each distribution uses (largely) the same Linux kernel, but they&#8217;re all a little bit different. Some distributions are for more specific uses, like booting Linux on the <a href=\"https:\/\/digilent.com\/blog\/Products\/Detail.cfm?NavPath=2,400,1198&amp;Prod=ZYBO\">ZYBO<\/a>, and others are more of a personal style.<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-6706 jlk' data-task='like' data-post_id='6706' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-6706 lc'>+5<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-6706 jlk' data-task='unlike' data-post_id='6706' data-nonce='ee750c7abc' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-6706 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-6706 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>You&#8217;ll often hear about the &#8220;Linux kernel&#8221;, but what does that mean? Today we&#8217;re going to go about explaining what the Linux kernel is in terms that people can understand.<\/p>\n","protected":false},"author":29,"featured_media":6733,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1563],"tags":[845],"ppma_author":[4478],"class_list":["post-6706","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide","tag-embedded-systems"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2015\/05\/1280px-Kernel_Layout.svg_.png","authors":[{"term_id":4478,"user_id":29,"is_guest":0,"slug":"josh-woldstad","display_name":"Josh","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b4b62729a3daba9bb76117db7130e81e?s=96&d=mm&r=g","author_category":"","user_url":"","last_name":"Woldstad","last_name_2":"","first_name":"Josh","first_name_2":"","job_title":"","description":"I love Coding!"}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/6706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=6706"}],"version-history":[{"count":1,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/6706\/revisions"}],"predecessor-version":[{"id":31137,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/6706\/revisions\/31137"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/6733"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=6706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=6706"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=6706"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=6706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}