学编程不知如何入门?10 年经验的底层开发程序员,教你如何入门!
“师傅领进门,修行在个人”。Github上一位拥有10年底层开发经验的老程序员gurugio,整理了一套适合嵌入式或底层开发(Low-Level Programming)的程序员入门指导。来帮助众多的初学者成为一名初级的底层开发程序员和Linux内核工程师。 他在底层开发拥有超过10年的从业经验,一直从事以下的工作: 80x86汇编编程 硬件设备与Atmel芯片和固件 Unix的C语言系统编程 Linux中的设备驱动程序 Linux内核:页面分配 Linux内核:块设备驱动和md模块 一、什么是底层开发? 底层开发是非常接近机器的编程,使用底层开发语言(如C或汇编)。这与使用高级语言(例如Python,Java)的程序员进行编程不同。 维基百科:底层开发 系统编程与底层开发的一个非常接近的概念。该页面包括系统编程中未包含的硬件设计和固件开发。 维基百科:系统编程 系统编程包括从硬件组件到Linux内核的内容。这里你能通过文档落得理论基础,但一页文档永远不会覆盖所有层的细节,因此本文档的目的是作为底层开发的起点。 二、理论 底层开发有两个背景理论: 计算机体系结构 操作系统 可以在网上找到很多好的课程。理论是理论,只需了解课堂上的内容大纲,打好理论基础。 三、编程语言 1.部件 8086汇编编程与emu8086包涵: CPU和计算机体系结构的基本概念 C编程语言的基本概念