Linux 0.11虽然不是什么“珠穆朗玛峰”,但它肯定还是“华山”或“泰山”。虽然有路但你还是需要最基本的努力和花费一定的代价才能“攀登”上去。
1. PC兼容机硬件工作原理(比如8259A,8253, 8042,UART等硬件);
2. Intel 32位 运行模式工作原理,寻址方式;
3. 传统C语言;
4. 一些Intel asm基础。
5. 会使用Linux操作系统,懂得Linux系统的基本操作。

推荐参考书籍:
============
《UNIX操作系统设计》
http://www.china-pub.com/computers/common/info.asp?id=34 
*《UNIX环境高级编程》
http://www.china-pub.com/computers/common/info.asp?id=30 
《操作系统:设计与实现》(MINIX)
http://www.china-pub.com/computers/common/info.asp?id=2033 
《IBM PC 汇编语言程序设计》
http://www.china-pub.com/computers/common/info.asp?id=7721 
*《深入理解计算机系统》
http://www.china-pub.com/computers/common/info.asp?id=18133 
《Linux权威指南》
http://www.china-pub.com/computers/common/info.asp?id=1174 
《Linux Assembly Language Programming》
ftp://plinux.org/pub/linux/docs/ ... age_Programming.pdf 
*《Intel 80386 Programmer';s Reference Manual》
ftp://plinux.org/pub/linux/docs/Intel_80386_Manual.pdf 
*《The C Programming Language》
ftp://plinux.org/pub/linux/docs/The_C_programming_Language.rar 
加星号“*”者为重点推荐读物!
============================================
如果有些忘了,就请先花哪怕一天时间将这些基础知识先浏览一遍,在看本书。
硬件方面可参考教科书。
Intel 32 mode 可见Intel 386 manual;

内核代码中用到的汇编程序(as86和AT&T语法)可参照以下一些文档。
-------------------------------------------------------------
MINIX 汇编手册: http://www.oldlinux.org/oldlinux/viewthread.php?tid=291 
NASM 汇编手册: http://www.oldlinux.org/oldlinux/viewthread.php?tid=877 
as86   在线手册: http://www.oldlinux.org/oldlinux/viewthread.php?tid=1895 
ld86   在线手册:http://www.oldlinux.org/oldlinux/viewthread.php?tid=1428

/*****************************************/
/* 本站资源:                            */
/* http://oldlinux.org/Linux.old/         */
/*****************************************/
===============================================
如果你具有大学计算机本科或以上学历,那么你可以在适当复习以上知识后就能顺利看懂本书。
如果你是在读本科计算机系的学生,那么在学习过操作系统课程或者正在学习时,只要复习一些有关Intel PC机组成原理,就应该很顺利地理解本书,并能很好地帮助你理解操作系统的基本原理。
如果你是其它专业在读本科学生,那么你可以首先自学一些有关操作系统的理论知识和计算机微机原理课程(如果没有学过的话),了解一些操作系统的基本术语,再继续学习本书。
如果你是一个专科学生,那么你首先需要准备的知识与一个非计算机本科生所要做的一样。
如果你是一个中学毕业的学生,那么你可以先自学一些《计算机原理》、《微机原理》、《C语言》、《英语》等基本课程,然后再继续阅读本书。当然也可以把摊子铺开,同时阅读:)
注意: 无论你现在的学位或学历怎样,这都不是主要问题。关键在于努力和刻苦。而兴趣是学习的最好动力之一。即使你没有任何学位,只要识字能上网,那么你面前的道路还是宽广的。
“世上无难事,只要肯登攀”。

---------------------------------------------------------------------------------------------

源代码浏览工具介绍
http://www.oldlinux.org/oldlinux/viewthread.php?tid=1470

============================
  在本机上阅读源代码,可以使用redhat 的snavigator或Source Dynamics的Source Insight软件。snavigator是免费的,source Insight可以去www.sourceInsight.com 去下载。或者在此处下载:
http://oldlinux.org/download/tools/si350.rar (3.2MB)
http://oldlinux.org/download/tools/Release-SN51E-win32.zip (7.8MB)
http://oldlinux.org/download/tools/src2html/

Source Insight的使用方法可参见文章:
http://www-900.ibm.com/developer ... t/tip17/index.shtml 
  也可以使用本站网页上提供的再线交叉引用阅读程序:
http://oldlinux.org/lxr/http/source/ 
在阅读本书时,最好在计算机中安装这两个软件之一,边阅读书中注释边浏览代码。

Linux0.11学习的更多相关文章

  1. linux0.11学习笔记(1)

    公布软件包包括内容: bootimage.Z - 具有美国键盘代码的压缩启动映像文件: rootimage.Z - 以1200kB 压缩的根文件系统映像文件: linux-0.11.tar.Z- 内核 ...

  2. linux0.11学习笔记(2)

    makefile文件: makefile 文件是make 实用简介.make 程序是用Makefile最后一次改变的数据文件和代码文件(last-modification time)确定哪些文件需要更 ...

  3. linux0.11改进之四 基于内核栈的进程切换

    这是学习哈工大李治军在mooc课操作系统时做的实验记录.原实验报告在实验楼上.现转移到这里.备以后整理之用. 完整的实验代码见:实验楼代码 一.tss方式的进程切换 Linux0.11中默认使用的是硬 ...

  4. x01.os.20: compile linux-0.11 on the ubuntu

    为什么学习 linux 正如不能依靠美国的 GPS 为我们的导弹指示目标一样,很难想像用运行 windows 的电脑去同美国进行信息战.而朝鲜的网络崩溃,再次警示国人,信息战.网络战离我们并不遥远.l ...

  5. Linux0.11小结

    第一部分 基础内容 1.操作系统基础     操作系统是计算机硬件系统与用户程序间重要环节,理解操作系统的原理是编写优秀代码的基础.教课书中阐述的操作系统一般由5部分组成. 一个最简单的操作系统,可以 ...

  6. 对Linux0.11 中 进程0 和 进程1分析

    1. 背景 进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节.比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有 ...

  7. linux0.11内核源码剖析:第一篇 内存管理、memory.c【转】

    转自:http://www.cnblogs.com/v-July-v/archive/2011/01/06/1983695.html linux0.11内核源码剖析第一篇:memory.c July  ...

  8. 快速搭建Linux-0.11实验环境

    搭这个实验环境主要是为了学习Linux-0.11的代码,那就需要修改代码再次编译来验证自己的想法.主要的实验环境来自实验楼,但是在那上面毕竟不方便,所以就以实验楼上的为基础在自己的虚拟机上搭建一个环境 ...

  9. Linux0.11之初识Makefile/build.c

    前言 Makefile对于从来没有接触过的人来说是相当别扭的(比如我),但它确实又是非常重要的,它描述了一个Image是如何形成的,理解它也许并不能帮我解决实际问题,而且编写Makefile的工作也许 ...

随机推荐

  1. HDU 5876 补图最短路

    开两个集合,一个存储当前顶点可以到达的点,另一个存储当前顶点不能到达的点.如果可以到达,那肯定由该顶点到达是最短的,如果不能,那就留着下一次再判. #include<bits/stdc++.h& ...

  2. PAT乙级1039

    题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805283241443328 题解 用两个字符串表示两个箱子,一 ...

  3. 《深入理解Java虚拟机》之(二、垃圾收集器与内存分配策略)

    程序计数器.虚拟机栈.本地方法栈3个区域随线程而生,随线程而灭,这几个区域的内存分配和回收都具备确定性,不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟着回收了,而java堆和方法区 ...

  4. [Python自学] day-19 (1) (FBV和CBV、路由系统)

    一.获取表单提交的数据 在 [Python自学] day-18 (2) (MTV架构.Django框架)中,我们使用过以下方式来获取表单数据: user = request.POST.get('use ...

  5. 简单理解yii事件

    https://blog.csdn.net/qq43599939/article/details/80363827  通过观察者来理解yii事件 测试 class TestController ext ...

  6. (五)CWnd 所有窗口类的父类,CFrameWnd,Afx_xxx 全局函数,命名规范

    CWnd::MessageBox: 只有CWnd的派生类才可以使用MessageBox 所以应用程序类中使用:AfxMessageBox // 初始化 OLE 库 if (!AfxOleInit()) ...

  7. python一些问题

    1.对于字符变量来说不需要深度复制,字符变量是不能改变的 2.文件读取结尾的判断是通过判读 line=self.fd.readline() if not line: //结束了 不用通过判断字符长度. ...

  8. Python地理信息数据可视化

    地图 基础铺垫 定义 地图(map):是指按一定的比例运用符号.颜色.文字标记等描绘显示地球表面的自然地理.行政区域.社会经济状况的图形. 地图绘制步骤 绘制需要展示的地图,获取地图对象,获取每个区域 ...

  9. matlab 计算灰度图像的一阶矩、二阶矩、三阶矩

    ​   一阶矩,定义了每个颜色分量的平均强度 ​  二阶矩,反映待测区域颜色方差,即不均匀性 ​  三阶矩,定义了颜色分量的偏斜度,即颜色的不对称性 close all;clear all;clc; ...

  10. Java基础_死锁、线程组、定时器Timer

    一.死锁问题: 死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放.由于线程被无限期地阻塞,因此程序不可能正常终止. 比如,线程一需要第一把所,此时锁处于空闲状态,给了 ...