当前课程知识点:Linux 内核分析与应用 > 附录:实验代码、课件以及相关素材 > 《Linux操作系统原理与应用》教材课堂视频 > 第二章导学-从零打造自己的操作系统
学东西要追根溯源,因为树叶的东西太过繁多,而且不小心会被树叶带走。计算机的鼻祖到底是谁?图灵还是冯诺依曼,他们都是大神,但是,且慢,仔细考查一下,思维的源头在哪里?原来,图灵只是做了一个思维实验,整出一个图灵机来,图灵机真的是一台机器么,别被字面的意思所欺骗,其实,图灵机只是一种通用自动机器模型。它的理念是,“有一个二端无限沿伸的纸带作为存储装置,输入,输出和状态转移函数是一个机器的三要素,这三要素组合并变形可成为一切机器的原型,可解决一切图灵机能解决的问”。
图灵机听起来是纸上谈兵,但它却是当代冯.诺依曼计算机体系的理论鼻祖。它带来的“数据连续存储和选择读取思想”是目前我们使用的几乎所有机器运行背后的灵魂。计算机体系结构中的核心问题之一就是如何有效地进行内存寻址,因为所有运算的前提都是先要从内存中取得数据,所以内存寻址技术从某种程度上代表了计算机技术。按照面向对象的思想,如果说图灵机是一个类的话,那么冯.诺依曼的计算机体系则是一个对象, 这就把我们从思维的捆绑中解放出来,也就是,你可以造出自己的计算机,请看《我的世界》里从零打造一台计算机有多难?复旦本科生大神花费了一年心血
那么,为什么第二章要讲内存寻址?你能不能从零打造一个自己的操作系统?这一章讲的段机制和分页机制到底与写一个操作系统有什么关系?
本来分段和分页是内存管理相关的内容,但是,当你想写一个操作系统时,必须考虑操作系统的启动,如果是在x86的体系架构下来开发,那么段机制,页机制,你绕不过去,怎么办?
第一讲 内存寻址概述,让你追根溯源到4位机,然后一步一步演变到32位,乃至64位,回顾历史不仅仅是为了展望未来,更看出技术的演变是被需求所推动,这其中,要有所悟,而不仅仅看到的是数字的变化和阶段的演变。从实模式到保护模式,这中间的跨度这么大,设计人员是颇费心思的,也需要自己去领悟。
第二讲 段机制,同样要追根溯源,为什么要引入段机制?这就要从程序的编译、链接和装载说起(详细内容请参考程序员的自我修养),如果没有时间看,可以看浅墨写的编译链接那点事<上>和编译链接哪些事<下>
有了这些基础后,是否就可以着手操作系统的打造了?
是 的 !
实现一个操作系统可不是一朝一夕的,如果你觉得自己的实力还不够,那就先不着急,把这些文档保存起来,慢慢消化。如果你想马上动手,那么,先行动起来,毕竟,心动不如行动。 --陈老师
-1.1 Linux操作系统概述
-1.2 Linux内核结构以及内核模块编程
--Video
-1.3 Linux内核源码中的双链表结构
--Video
-1.4 源码分析-内核中的哈希表
--Video
-1.5 动手实践-Linux内核模块的插入和删除
--Video
-第1章 概述--章节测验
-2.1 内存管理之内存寻址
--Video
-2.2 段机制
--Video
-2.3分页机制
--Video
-2.4 动手实践-把虚拟地址转换成物理地址
--Video
-第2章 内存寻址--章节测验
-3.1 进程概述
--Video
-3.2 Linux进程创建
--Video
-3.3 Linux进程调度
--Video
-3.4 动手实践-打印进程描述符task_struct中的字段
--Video
-3.5工程实践-基于内核模块的负载监控
--Video
-第3章 进程管理--章节测验
-4.1 Linux内存管理机制
--Video
-4.2 进程用户空间管理机制
--Video
-4.3 物理内存分配与回收机制(上)
--Video
-4.4 物理内存分配与回收机制(下)
--Video
-4.5 动手实践-Linux内存映射基础(上)
--Video
-4.6 动手实践-Linux内存映射实现(中)
--Video
-4.7 动手实践-Linux内存映射测试(下)
--Video
-4.8 初学者对内存管理的常见疑惑
-第4章 内存管理--章节测验
-5.1 中断机制概述
--Video
-5.2 中断处理机制
--Video
-5.3 中断下半部处理机制
--Video
-5.4 时钟中断机制
--Video
-5.5 动手实践-中断上半部的代码分析及应用
--Video
-5.6 动手实践-中断下半部的代码分析及应用
--Video
-第5章 中断--章节测验
-6.1 Linux中的各种API
--Video
-6.2 系统调用机制
--Video
-6.3 动手实践-添加系统调用(系统调用日志收集系统)
--Video
-第6章 系统调用--章节测验
-7.1 内核同步概述
--Video
-7.2 内核同步机制
--Video
-7.3 动手实践-内核多任务并发实例(上)
--Video
-7.4 动手实践-内核多任务并发实例(下)
--Video
-第7章 内核同步--章节测验
-8.1 虚拟文件系统的引入
--Video
-8.2 虚拟文件系统的主要数据结构
--Video
-8.3 文件系统中的各种缓存
--Video
-8.4 页高速缓存机制以及读写
--Video
-8.5 动手实践-编写一个文件系统(上)
--Video
-8.6 动手实践-编写一个文件系统(中)
--Video
-8.7 动手实践-编写一个文件系统(下)
--Video
-第8章 文件系统--章节测验
-9.1 设备驱动概述
--Video
-9.2 I/O空间管理
--Video
-9.3 设备驱动模型
--Video
-9.4 字符设备驱动程序简介
--Video
-9.5 块设备驱动程序简介
--Video
-9.6 动手实践-编写字符设备驱动程序
--Video
-9.7工程实践-编写块设备驱动的基础(上)
--Video
-9.8 工程实践-块设备驱动程序分析(中)
--Video
-9.9 工程实践-块设备驱动程序实现(下)
--Video
-第9章 设备驱动--章节测验
-致谢与说明
--Video