Chinaunix首页 | 论坛 | 博客
  • 博客访问: 816821
  • 博文数量: 117
  • 博客积分: 2583
  • 博客等级: 少校
  • 技术积分: 1953
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-06 22:58
个人简介

Coder

文章分类
文章存档

2013年(1)

2012年(10)

2011年(12)

2010年(77)

2009年(13)

2008年(4)

分类: LINUX

2009-10-27 22:51:15

问题背景:
读完了Williams Stallings的《操作系统:精髓与设计原理》这本经典的操作系统教材,了解许许多多关于操作系统的一些算法、原理,甚至翻了一遍《The Design of Unix Operating System》,看到了Unix的许多的系统调用的设计和实现,但是对于如何从零开始做一个操作系统还是完完全全的一片迷茫,一头雾水,完全的无从下手。

思考:
也许研究操作系统是应该从很多角度来看的(操作系统的设计与实现)。
1、就是操作系统的工作原理和用到的一些算法、想法。这方面的知识可以从操作系统原理方面的经典著作去获得,比如Williams stallings 的,Andrew Tanenbaum 的《现代操作系统》,还有《操作系统概念》等,都是很不错的
2、就是操作系统的映像,比如说我们编译了一个linux内核,最后生成了一个内核的映像。而这个映像文件又有着什么样的结构?关于这方面,应该要好好读一读linux内核编译时用的makefile文件,还有编译完成内核之后所生成的符号表,可以让我们了解每一个内核函数所存放的内存虚拟地址。linux内核编译链接完成之后,是用一个名为build的程序来构建的内核映像。因此,读linux的内核源代码,不如从makefile做起,然后阅读build的源代码,来看看内核镜像到底是什么样子的,而它又是怎么样生成的。
3、运行中的操作系统是什么样子的。操作系统事实上是作为每一个进程的虚拟地址空间的一部分在运行着,对于linux,就是虚拟地址空间的最高位部分。它为进程提供了访问计算机资源的一组系统函数。关于这一部分应该需要好好了解一下linux的系统调用。
阅读(1168) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-11-06 19:57:32

乖乖嘞.依然一个linuxer了..呵呵.-龙