{"id":13404296,"url":"https://github.com/hackclub/putting-the-you-in-cpu","last_synced_at":"2025-05-14T13:05:49.336Z","repository":{"id":171757297,"uuid":"648351143","full_name":"hackclub/putting-the-you-in-cpu","owner":"hackclub","description":"A technical explainer by @kognise of how your computer runs programs, from start to finish.","archived":false,"fork":false,"pushed_at":"2024-06-15T06:09:16.000Z","size":7120,"stargazers_count":5194,"open_issues_count":37,"forks_count":173,"subscribers_count":34,"default_branch":"main","last_synced_at":"2025-05-12T06:33:04.860Z","etag":null,"topics":["cpu","elf","linux","linux-kernel"],"latest_commit_sha":null,"homepage":"https://cpu.land","language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hackclub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-01T19:14:39.000Z","updated_at":"2025-05-11T07:25:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"5be9f18a-9648-485a-8b85-0fbf3999e91e","html_url":"https://github.com/hackclub/putting-the-you-in-cpu","commit_stats":null,"previous_names":["hackclub/putting-the-you-in-cpu"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fputting-the-you-in-cpu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fputting-the-you-in-cpu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fputting-the-you-in-cpu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hackclub%2Fputting-the-you-in-cpu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hackclub","download_url":"https://codeload.github.com/hackclub/putting-the-you-in-cpu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149919,"owners_count":22022851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpu","elf","linux","linux-kernel"],"created_at":"2024-07-30T19:01:42.433Z","updated_at":"2025-05-14T13:05:49.290Z","avatar_url":"https://github.com/hackclub.png","language":"MDX","funding_links":[],"categories":["MDX","PC device","计算机编程_数据结构与算法"],"sub_categories":["资源传输下载"],"readme":"\u003cpicture\u003e\n  \u003csource media='(prefers-color-scheme: dark)' srcset='./public/github-images/banner-dark.png'\u003e\n  \u003cimg src='./public/github-images/banner-light.png' alt=''\u003e\n\u003c/picture\u003e\n\n\u003ch1 align='center'\u003ePutting the \"You\" in CPU\u003c/h1\u003e\n\u003cp align='center'\u003eA technical explainer of how your computer runs programs, from start to finish.\u003c/p\u003e\n\u003cp align='center'\u003eby \u003ca href='https://github.com/kognise'\u003e@kognise\u003c/a\u003e and \u003ca href='https://github.com/hackclub'\u003e@hackclub\u003c/a\u003e\u003c/p\u003e\n\u003cbr\u003e\n\n## From the beginning...\n\nI've done [a lot of things with computers](https://github.com/kognise), but I've always had a gap in my knowledge: what exactly happens when you run a program on your computer? I thought about this gap — I had most of the requisite low-level knowledge, but I was struggling to piece everything together. Are programs really executing directly on the CPU, or is something else going on? I've used syscalls, but how do they *work*? What are they, really? How do multiple programs run at the same time?\n\n\u003cimg src='/public/images/writing-this-article.png' alt='A scrawled digital drawing. Someone with long hair is confused as they peer down at a computer ingesting binary. Suddenly, they have an idea! They start researching on a desktop computer with bad posture.' width='700' /\u003e\n\nI cracked and started figuring as much out as possible. There aren't many comprehensive systems resources if you aren't going to college, so I had to sift through tons of different sources of varying quality and sometimes conflicting information. A couple weeks of research and almost 40 pages of notes later, I think I have a much better idea of how computers work from startup to program execution. I would've killed for one solid article explaining what I learned, so I'm writing the article that I wished I had.\n\nAnd you know what they say... you only truly understand something if you can explain it to someone else.\n\n\u003e In a hurry? Feel like you know this stuff already?\n\u003e\n\u003e [Read chapter 3](https://cpu.land/how-to-run-a-program) and I guarantee you will learn something new. Unless you're like, Linus Torvalds himself.\n\n\u003cbr\u003e\n\n\u003cp align='center'\u003e\u003ca href='https://cpu.land/the-basics'\u003e\u003cstrong\u003eContinue to Chapter 1: The \"Basics\" \u0026raquo;\u003c/strong\u003e\u003cbr\u003e(cpu.land)\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackclub%2Fputting-the-you-in-cpu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackclub%2Fputting-the-you-in-cpu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackclub%2Fputting-the-you-in-cpu/lists"}