理解
x86
架构的捷径
读《
orange's一个操作系统的实现
》有感
对 x86 架构的处理器,业界一向是褒贬不一。但是毫无疑问的是, x86 架构的处理器是迄今为止在市场上最成功的处理器。它既催生了 Intel 、微软这样的 业界巨头,也改变了普通人们的生活。到今天,虽然有 arm 的异军突起,但是大部分程序员所编写的程序依然在运行在 x86 架构上。
虽然很多上层的程序员绕过了对 CPU 架构本身的理解,而直接使用高级语言进行编程,但是对 CPU 本身的熟悉,其实依然是所有想被称为优秀的程序员所难以绕过的一道坎。对 CPU 的不熟悉,实际上限制了程序员的思维方式、对程序的理解和实际解决问题的能力。
对于普通的芯片,阅读几页的说明书就可以大致理解如何让它工作。
CPU
是比较复杂的一种,对于比较简单的
CPU
架构,阅读几十页的文档也能大致熟悉。然而
x86
架构的
CPU
的说明可不是这么简单,其手册估计有一共有四、五千页之巨。不要说理解透彻,就是从头到尾翻一遍也不是一件简单的事情。并非
Intel
有意将它做得复杂,这里有历史的原因。因为这个架构的应用实在太广了,全世界有无数的软件都在它的基础之上工作。为此它自身的升级也就变得举步维艰。每次
升级都不得不要兼容之前的特性。这也就导致了新旧指令层层堆积,种种特性互相兼顾,最终变成如今的一团乱麻了。
对于入门级的选手,读完那些手册可不是一件容易的事情。但是于渊的这本《
orange's:一个操作系统的实现
》却是一条难得的终南捷径。因为要理解如何
让一个芯片正常工作,最简单的办法就是从头开始去写程序让它运行起来,然后操作它做自己想做的事情。如果是平时的编程,这些下层的工作都已经有操作系统帮
你做了,对理解
x86
架构的帮助就大为有限。如果去读那几千页的文档,不但读起来很痛苦,中间又没有多少可以实际操作的工作来帮助你温故而知新,这其中的
枯燥乏味,绝对不是一般人可以忍受的了。而且更重要的手册中虽然包含了
x86
所有的特性,然而其中有些特性是现代操作系统根本就没有用到的。努力的去理解
的话,又是吃力不讨好了。如果每个读者都可以随着这本书的介绍,去逐步的实现一个操作系统,不但这中间其乐无穷,而且实现到最后,对
x86
架构的理解也就不在话下。
有的人认为,要看一个操作系统的实现,不如直接去看
Linux
的代码。本人对此不敢苟同。
Linux
已经是商业级的代码,
为了实际的商业应用,必定会实现浩如烟海的细节。而对于一个
x86
架构的初学者而言,一开始就去阅读这些细节的代码,实际上是有害无益。除非将旁枝末节一
一剪除,只剩下主干。但是这样的甄别工作,可完全不是一个初学者自己能做得了的事情了!而《
orange's:一个操作系统的实现
》讲述的是一个完全为了
理解
x86
架构的教学系统。其中每一步初学者都可以亲自实现,亲手编出那些代码。因此,作为商业级的操作系统,
orange's
当然是远远比不上
Linux
。但是对于一个学习
x86
架构的初学者而言,
orange's
反而更加适宜。而且在读完这本书之后,相信读者学起
Linux
来,肯定会更加轻松。
(
删除:这样的好处,又岂是
Linux
能提供得了的呢?
本文由《
寒江独钓:
Windows内核安全编程
》和《
天书夜读:从汇编语言到
Windows内核编程
》作者之一
谭文
撰写
相关图书信息:
【书名】
orange's一个操作系统的实现
【作者】于渊
【出版社】电子工业出版社
【书号】
978-7-121-08442-3
【出版日期】
2009
年
5
月
【开本】
16
开
【页码】
492
页
【内容简介】
本书从只有二十行的引导扇区代码出
发,一步一步地向读者呈现一个操作系统框架的完成过程。书中不仅关注代码本身,同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍,而是提供
给读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能,从而避免了一开始就面对整个操作系统数万行代码时的迷茫和挫败感。
【书名】
寒江独钓:
Windows内核安全编程
【作者】谭文,杨潇,邵坚磊
著
【
ISBN
】
978-7-121-08796-7
【出版社】电子工业出版社
【出版日期】
2009
年
6
月
【宣传语】
【内容简介】
本书从
Windows
内核编程出发,全面系统地介绍了串口、键盘、磁盘、文件系统、网络等相关的
Windows
内核模块的编程技术,以及基于这些技术实现的输入密码保护、防毒引擎、文件加密、网络嗅探、网络防火墙等信息安全软件的
核心组件的具体编程。主要知识重点包括:
Windows
串口与键盘过滤驱动、
Windows
虚拟存储设备与存储设备过滤驱动、
Windows
文件系统过滤
驱动、文件系统透明加密
/
解密驱动、
Windows
各类网络驱动(包括
TDI
过滤驱动及
3
类
NDIS
驱动),以及最新的
WDF
驱动开发模型。有助于读者熟
悉
Windows
内核驱动的体系结构,并精通信息安全类的内核编程技术。本书的大部分代码具有广泛的兼容性,适合从
Windows 2000
一直到目前最新的
Windows
7 Beta
版。
本书适合大专院校计算机系的学生、普通
Windows
程序员、
Windows
内核程序员、信息安全行业的程序员,以及希望了解
Windows
系统底层知识的计算机编程爱好者使用。阅读本书,需要读者有
C
语言、数据结构、操作系统和计算机网络的基础知识。
【书
名】
天书夜读:从汇编语言到
Windows内核编程
【作
者】
谭文,邵坚磊
著
【
ISBN
】
978-7-121-07339-7
【出版社】
电子工业出版社
【出版日期】
2008
年
12
月
【宣传语】
从貌似天书的汇编代码中,一探
Windows
底层的核心实现。
在开发中出现的问题,能从
Windows
自身找到答案!
【内
容
简
介】
本
书从基本的
Windows
程序与汇编指令出发,深入浅出地讲解了
Windows
内核的编程、调试、阅读,以及自行探索的方法。读者在使用
C/C++
开发
Windows
程序的基础上,将熟练掌握汇编和
C
语言的应用,深入了解
Windows
底层,并掌握阅读
Windows
内核的基本方法,以及
Windows
内核的基本编程方法。
本书适合使用
C/C++
在
Windows
上编程的读者,尤其适合希望加深自己技术功底的
Windows
应用程序员、计算机专业的有志于软件开发的大中院校学生;专业的
Windows
内核程序员,亦可从本书得到超越一般内核程序开发的启发。
ITPUB
个人空间
Yc.d9]6^ y
|Hla
分享到:
相关推荐
x86架构x86架构x86架构x86架构x86架构x86架构x86架构x86架构x86架构x86架构x86架构x86架构
ARM与X86架构终端特性对比ARM X86架构
x86架构下虚拟机技术应用 PDF
附上使用教程,配上资源链接。实现Genymotion安装arm架构的app。注意事项详见:https://blog.csdn.net/wangyanit/article/details/81366900
主要介绍X86平台上优化相关的东东,比如汇编优化等~~
1.Intel 64 and IA-32 Architectures Software Development Manual - Basic Architecture.pdf 2.Intel 64 and IA-32 Architectures Software Development Manual - Instruction Set Reference A-M.pdf ...
ros包自动生成工具(x86架构ubuntu可直接运行)
银河麒麟桌面操作系统V10SP1-x86架构(intel、兆芯、海光) QT离线安装包 5.12.8版本,包含所有依赖。 如需其他软件包可私信我
x86架构:https://mirrors.aliyun.com/centos/7.9.2009/os/x86_64/Packages/ 其他公开源: 中国科学技术大学:http://mirrors.ustc.edu.cn/ 阿里云:http://mirrors.aliyun.com/ 网易云:http://mirrors.163.com/
我们在安装服务器的时候,很多情况都是局域网,没有外网,安装软件特别的麻烦,主要的问题就是依赖包,所以整理资源和教程。...1.Centos7-x86架构下离线安装docker与docker-compose的教程 2.安装需要的rpm包以及依赖包
介绍了x86架构中,IA32 mode, IA32e mode,compatibility mode以及64-bit mode下的指令集。
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程) 银河麒麟桌面操作系统V10SP1版本-x86架构cmake离线包; 内核:5.4 如需其他离线包可私信我。
Zep(open source project about X86),在国外著名开源网站opencores上下载的,当时下载时挺麻烦,现在方便各位朋友下载。
x86架构与pci体系介绍, 一、X86架构 1:计算机系统 2:IBM PC 的出现 3:芯片组(Chip-set)的诞生 4:32位PC架构 二、PCI体系 1:PCI总线信号定义 2:基本数据传输时序 3:传输终止 4:PCI总线仲裁 5: ...
JDK Linux版本 x86架构以及arm架构版本
X86 架构内存编址及启动过程1. 几个名词几个名词几个名词几个名词 X86X86 架构架构架构架构::::Intel, AMD CPU 采用的结构体系.实模式
基于X86架构Linux网络防火墙的研究.pdf
优化的设计、廉价的无风扇嵌入式工控机(X86架构工控电脑)doc,优化的设计、廉价的无风扇嵌入式工控机(X86架构工控电脑)
X86架构下VxWorks快速启动分析与实现,启动过程分析