Linux0.11学习
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学习的更多相关文章
- linux0.11学习笔记(1)
公布软件包包括内容: bootimage.Z - 具有美国键盘代码的压缩启动映像文件: rootimage.Z - 以1200kB 压缩的根文件系统映像文件: linux-0.11.tar.Z- 内核 ...
- linux0.11学习笔记(2)
makefile文件: makefile 文件是make 实用简介.make 程序是用Makefile最后一次改变的数据文件和代码文件(last-modification time)确定哪些文件需要更 ...
- linux0.11改进之四 基于内核栈的进程切换
这是学习哈工大李治军在mooc课操作系统时做的实验记录.原实验报告在实验楼上.现转移到这里.备以后整理之用. 完整的实验代码见:实验楼代码 一.tss方式的进程切换 Linux0.11中默认使用的是硬 ...
- x01.os.20: compile linux-0.11 on the ubuntu
为什么学习 linux 正如不能依靠美国的 GPS 为我们的导弹指示目标一样,很难想像用运行 windows 的电脑去同美国进行信息战.而朝鲜的网络崩溃,再次警示国人,信息战.网络战离我们并不遥远.l ...
- Linux0.11小结
第一部分 基础内容 1.操作系统基础 操作系统是计算机硬件系统与用户程序间重要环节,理解操作系统的原理是编写优秀代码的基础.教课书中阐述的操作系统一般由5部分组成. 一个最简单的操作系统,可以 ...
- 对Linux0.11 中 进程0 和 进程1分析
1. 背景 进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节.比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有 ...
- linux0.11内核源码剖析:第一篇 内存管理、memory.c【转】
转自:http://www.cnblogs.com/v-July-v/archive/2011/01/06/1983695.html linux0.11内核源码剖析第一篇:memory.c July ...
- 快速搭建Linux-0.11实验环境
搭这个实验环境主要是为了学习Linux-0.11的代码,那就需要修改代码再次编译来验证自己的想法.主要的实验环境来自实验楼,但是在那上面毕竟不方便,所以就以实验楼上的为基础在自己的虚拟机上搭建一个环境 ...
- Linux0.11之初识Makefile/build.c
前言 Makefile对于从来没有接触过的人来说是相当别扭的(比如我),但它确实又是非常重要的,它描述了一个Image是如何形成的,理解它也许并不能帮我解决实际问题,而且编写Makefile的工作也许 ...
随机推荐
- YOLO---YOLOv3 with OpenCV安装与使用
Yolo v3+Opencv3.4.2安装记录 @wp20180930 目录 一.环境要求 (1)python版本的查看 (2)opencv版本的查看 二.文件下载 三.数据自测 四.问题与解决 (1 ...
- 【JOISC2012 / bzoj4388】Invitation
Description link Solution 可以发现题目在模拟 Prim 算法求最大生成树的过程,树边故答案与起点 \(C\) 无关. 先把所有区间离散化,注意对于一个区间 \([l,r]\) ...
- 用idea操作svn
使用SVN前提必须安装好服务端和客户端,或者知道服务端的url才能对服务器中的文件进行操作. 服务端:SVN service 客户端:TortoiseSVN 提交 第一步:确认SVN 服务器是否开启 ...
- 【洛谷P2480】古代猪文
题目大意:求 \[ G^{\sum\limits_{d|N}\binom{n}{k}} mod\ \ 999911659 \] 题解:卢卡斯定理+中国剩余定理 利用卢卡斯定理求出指数和式对各个素模数的 ...
- ACM-ICPC 2016 大连赛区现场赛 K. Guess the number && HDU 5981(思维+DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5981 题意:A在[L, R]之间随机选取一个数X,之后B来猜这个数,如果猜的数比X小,那么A就告诉B猜 ...
- 安卓数据库sqllite查看工具Android Debug Database使用教程
要使用Android Debug Database,首先得在安卓项目的build.gradle(module:app)文件中加入如下代码: debugCompile 'com.amitshekhar. ...
- 云主机用samba服务实现和windows共享文件
最近刚刚入坑了百度云的云主机BCC,准备在云主机上实现samba服务,映射到本机来当硬盘使用,可是一直怎么试都不成功,后来咨询客服之后才知道samba默认使用的端口445端口被运营商封禁了,只好更改端 ...
- Java HashMap实现原理分析
参考链接:https://www.cnblogs.com/xiarongjin/p/8310011.html 1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是 ...
- 【线性代数】2-1:解方程组(Ax=b)
title: [线性代数]2-1:解方程组(Ax=b) toc: true categories: Mathematic Linear Algebra date: 2017-08-31 15:08:3 ...
- JVM基本讲解
1.数据类型 java虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值. “引用值”代表了某个对象的引用,而不是对 ...