{"id":277,"date":"2020-08-18T19:23:47","date_gmt":"2020-08-18T20:23:47","guid":{"rendered":"http:\/\/www.linux-tutorial.info\/?page_id=77"},"modified":"2020-08-22T19:26:39","modified_gmt":"2020-08-22T20:26:39","slug":"this-is-the-page-title-toplevel-112","status":"publish","type":"page","link":"http:\/\/www.linux-tutorial.info\/?page_id=277","title":{"rendered":"The Central Processing Unit"},"content":{"rendered":"\n<title>The Central Processing Unit<\/title>\n<p>\nSometimes people just don&#8217;t understand. At first, I thought that they &#8220;didn&#8217;t\nhave a clue,&#8221; but that was really the problem. They had a clue, but a single\nclue doesn&#8217;t solve a crime, nor does it help you run a Linux system. You can\neasily copy a program from a <glossary>DOS<\/glossary> disk onto an Linux system,\nparticularly if Linux is running on your DOS <glossary>partition<\/glossary>.  In\nall likelihood, the <glossary>permissions<\/glossary> are already set to be\nexecutable. So you type in the name of the program and press Enter. Nothing\nhappens, or you get an error about incorrect format. Hmmm. The software manual\nsays that it runs on a 386 or higher (which you have), a\n<glossary>VGA<\/glossary> monitor (which you have), and at least 2Mb of hard disk\nspace (which you have). Why doesn&#8217;t it work?\n<\/p>\n<p>\nThis is a true story. A customer called in saying that the system I was\nsupporting  at the time (not Linux)  was broken. This customer had a program\nthat worked fine on his <glossary>DOS<\/glossary> PC at home. It, too, was a 386,\nso there shouldn&#8217;t be a problem, right? Unfortunately, wrong. Granted, in both\ncases, the <glossary>CPU<\/glossary> is reading machine instructions and\nexecuting them, but in fact, they are the same machine instructions. They have\nto be. The same also applies to a Linux system.\n<\/p>\n<p>\nThe problem is comparable to German and English. Although both use\n(basically) the  same alphabet, words  (sets of characters) written in German\nare not understandable by someone reading them as English, and vice versa. Sets\nof machine instructions that are designed to be interpreted under\n<glossary>DOS<\/glossary> will not be understood under Linux. (Actually, the\nproblem is a little more complicated, but you get the basic idea.)\n<\/p>\n<p>\nJust as your brain has to be told (taught) the difference between German and\nEnglish,  a computer needs to  be told the difference between\n<glossary>DOS<\/glossary> and <glossary>UNIX<\/glossary>\nprograms.\n<\/p>\n<p>\nIn this section, I will talk about the <glossary>CPU<\/glossary>,\n the brains of the outfit. It is perfectly reasonable for users and\nadministrators alike  to have no understanding of what the CPU does internally.\nHowever, a basic knowledge of some of the key issues is important so you can\ncompletely understand some of the issues I&#8217;ll get into elsewhere.\n<\/p>\n<p>\nIts like trying to tune-up your car. You don&#8217;t really need to know how oxygen\nmixes with gasoline to  be able to adjust the carburetor. However, knowing that\nit happens makes adjusting the carburetor that much easier.\n<\/p>\n<p>\nI won&#8217;t go into detail about the CPUs instruction cycle, that is, how it\nreceives and executes instructions. Though I&#8217;m interested in things like that\nand would love to talk about them, it isn&#8217;t really necessary to understand what\nwe need to talk about here. Instead, I am going to talk mostly about how the\n<glossary>CPU<\/glossary> enables the <glossary>operating system<\/glossary> to\ncreate a scheme whereby many programs can be in memory simultaneously. These are\nthe concepts of <glossary>paging<\/glossary> and multitasking.\n<\/p>\n<concept id=\"134\" description=\"Linux runs on all common CPU types.\" \/>\n<p>\nOrignally, the only commercial distributions of Linux available were for\nIntel processors. RedHat released a version for the Digital Equipment\nCorporation (DEC) Alpha processor, and others have since followed.\n<\/p>\n<p>\nIn the next section, I will go into a little depth about the Intel process\nand how Linux interacts  with it. Afterwards, I will talk briefly about the DEC\nAlpha to give you an idea of what it is about. Because of the number of Intel\ndistributions and Intel-based machines, I won&#8217;t go into the same depth for the\nAlpha. The concepts a basically the same, though the names of registers, etc.,\nare different.\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Central Processing Unit Sometimes people just don&#8217;t understand. At first, I thought that they &#8220;didn&#8217;t have a clue,&#8221; but that was really the problem. They had a clue, but a single clue doesn&#8217;t solve a crime, nor does it &hellip; <a href=\"http:\/\/www.linux-tutorial.info\/?page_id=277\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-277","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=277"}],"version-history":[{"count":1,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/277\/revisions"}],"predecessor-version":[{"id":737,"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=\/wp\/v2\/pages\/277\/revisions\/737"}],"wp:attachment":[{"href":"http:\/\/www.linux-tutorial.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}