Linux 版 (精华区)
发信人: tdx (汤大虾), 信区: Linux
标 题: 操作系统讲稿(汤大虾转载)1
发信站: 紫 丁 香 (Sun Feb 27 18:39:17 2000) WWW-POST
0.引子
懂得象棋规则 ---- 操作系统原理
懂一点小经验 ---- 所谓的操作系统设计
优秀选手 ---- 读代码,写代码
1.本文讲解的原则
本文假设读者已经熟悉操作系统的基本概念.
本文讲解以MINIX作为参照,从操作系统可执行代码完成后开始,按照以下这样一条主线讲
解:
软件中断
|
准备工作 - 系统装入 - kernel初始化 - 系统调度开始 ------------------------
|
硬件中断
通过这篇文章希望读者能够充分理解下面这个概念模型. 读过坦尼鲍姆的<<操作系统 设
计与实现>>一书的人都见过这个模型(画的很粗糙,哪位大虾看不过眼可以教教我怎么画),
它就是MINIX的体系结构,我的目标就是将它具体化:
__ __ __ __ __ __ __ __ __ __
| init |user p |… … user process
| -- -- -- -- -- -- -- -- -- --
| fs | mm | … … … server
|-- -- -- -- -- -- -- -- -- --
|disk | tty | system | net| clock I/O task
|-- -- -- -- -- -- -- -- -- --
| process,interrupt,message base of kernel
-- -- -- -- -- -- -- -- -- --
底部两层组成了KERNEL,KERNEL 被编译连接成一个文件,占用同一个地址空间.fs, mm,
init各自被编译连接成一个文件,各自占用各自的地址空间(从程序员的角度讲,占用同一
个地址空间等价于在同一个编译连接生成的可执行文件中.访问同一地址空间内的变量只
需要用变量名即可完成,而要访问别的地址空间中的数据必须依赖绝对地址,这也就是为什
么许多有类似的体系结构的软件通常要做许多工作用来把数据从别的地址空间拷到自己的
地址空间).
--
※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 166.111.11.176]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:7.233毫秒