陈老师Linux内核内存寻址导学

《Linux内核分析与应用》第二章 : 内存寻址

从零打造自己的操作系统可能么?

学东西要追根溯源,因为树叶的东西太过繁多,而且不小心会被树叶带走。计算机的鼻祖到底是谁?图灵还是冯诺依曼,他们都是大神,但是,且慢,仔细考查一下,思维的源头在哪里?原来,图灵只是做了一个思维实验,整出一个图灵机来,图灵机真的是一台机器么,别被字面的意思所欺骗,其实,图灵机只是一种通用自动机器模型。它的理念是,“有一个二端无限沿伸的纸带作为存储装置,输入,输出和状态转移函数是一个机器的三要素,这三要素组合并变形可成为一切机器的原型,可解决一切图灵机能解决的问题”。

图灵机听起来是纸上谈兵,但它却是当代冯.诺依曼计算机体系的理论鼻祖。它带来的“数据连续存储和选择读取思想”是目前我们使用的几乎所有机器运行背后的灵魂。计算机体系结构中的核心问题之一就是如何有效地进行内存寻址,因为所有运算的前提都是先要从内存中取得数据,所以内存寻址技术从某种程度上代表了计算机技术。按照面向对象的思想,如果说图灵机是一个类的话,那么冯.诺依曼的计算机体系则是一个对象, 这就把我们从思维的捆绑中解放出来,也就是,你可以造出自己的计算机,请看《我的世界》里从零打造一台计算机有多难?复旦本科生大神花费了一年心血

陈老师Linux内核内存寻址导学_第1张图片

第二章

那么,为什么第二章要讲内存寻址?你能不能从零打造一个自己的操作系统?这一章讲的段机制和分页机制到底与写一个操作系统有什么关系?

陈老师Linux内核内存寻址导学_第2张图片

本来分段和分页是内存管理相关的内容,但是,当你想写一个操作系统时,必须考虑操作系统的启动,如果是在x86的体系架构下来开发,那么段机制,页机制,你绕不过去,怎么办?

欲穷千里目,更上一层楼


  • 第一讲 内存寻址概述,让你追根溯源到4位机,然后一步一步演变到32位,乃至64位,回顾历史不仅仅是为了展望未来,更看出技术的演变是被需求所推动,这其中,要有所悟,而不仅仅看到的是数字的变化和阶段的演变。从实模式到保护模式,这中间的跨度这么大,设计人员是颇费心思的,也需要自己去领悟。
  • 第二讲 段机制,同样要追根溯源,为什么要引入段机制?这就要从程序的编译、链接和装载说起(详细内容请参考程序员的自我修养),如果没有时间看,可以看浅墨写的编译链接那点事<上>和编译链接哪些事<下>

陈老师Linux内核内存寻址导学_第3张图片

如果想对保护模式有较为详细的了解,请看浅墨写的四篇系列文章:

  • 保护模式汇编系列之一 - 初探保护模式

  • 保护模式汇编系列之二 - 中断和异常处理

  • 保护模式汇编系列之三 - 段页式内存管理(一)

  • 保护模式汇编系列之四 - 段页式内存管理(二)

有了这些基础后,是否就可以着手操作系统的打造了?

是 的 !

更详细的文档,参见:
  • x86架构操作系统内核的实现

老师寄语

实现一个操作系统可不是一朝一夕的,如果你觉得自己的实力还不够,那就先不着急,把这些文档保存起来,慢慢消化。如果你想马上动手,那么,先行动起来,毕竟,心动不如行动。   --陈老师

更多学习资源

Linux内核之旅网站

Linux内核之旅微信公众号

你可能感兴趣的:(Linux内核)