当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 读核日记(二)

Unix/Linux
libtcl8.3下载|无法找到libtcl8.3
libmysqlclient.so.10无法找到
Linux+Apache+PHP+MySQL+Zend Optimizer+PHPMyAdmin
glibc安装错误|glibc安装出错
Zlib是什么?|Zlib的作用是什么?|Zlib有什么作用?
什么是glibc?glibc是什么?什么是freetype?freetype是什么?什么是?Xlib是什么?什么是lo
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
mysqld是什么意思?如何卸载mysqld?
linux 卸载 mysql
rpm 命令|rpm 安装|rpm 卸载|rpm 使用|rpm 删除
linux下tar命令rpm命令参数列表
linux rpm卸载参数
ERROR 1045: Access denied for user: root@localhost (Using password: NO)
您的服务器不支持mysql数据库
服务器不支持mysql数据库
mysql 如何添加/创建用户
/usr/bin/install: 无法创建一般文件‘/usr/local/man/man1/cjpeg.1’: 没有那个文件
png.h:329:18: zlib.h: 没有那个文件或目录
您的服务器不支持MySql数据库,无法安装论坛程序
phpMyAdmin

Unix/Linux 中的 读核日记(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 41 ::
收藏到网摘: n/a

 

这几天看的东西,前辈有书指导,不用我费口舌, 简单介绍一下

搞清楚了 linux的启动过程,对于整个系统分析来说.连一个开头都不算.所做的只是知道了系统启动是一些函数的条用顺序.恰如某位朋友来信建议的那样, 如果这样照顺序硬读,实是自残.好在sunmoon 有一定的自知之明.如此这样下去,等不懂得东西多了.那我就不能坚持了,所以我的原则是?:准备不充分决不轻易动手.

身边有意高手建议,应从应用程序入手,先写一些和系统相关的有水平的程序, 在对程序尽心跟踪.了解整个系统的体系结构和调用体系.再去分析源吗.

同时,sunmoon 也知道,一个操作系统是所有有关软件理论的集大成.sunmoon 不是计算机系毕业的, 对与很多基础课生疏的很.因此不得不找了<<汇编语言>><<操作系统原理>><<计算机体系结构>><<编译原理?>><<操作系统的设计与实现>>等经典的书籍放在案头备用.当然, 刚出的一本<<linux 操作系统内核分析>>更是非常好.

在昨晚这些后, 我开始着手分析linux 的体系结构:

linux 的内核采用的并不是现在流行(理论上应该更先进的)为内核结构.而采用的是由很多过程组成的一个整合体. 每一个过程可以相互调用. 看起来停乱.这与它的开发历程有关.但我个人感觉, linux 整体如同一个结构化的程序.(决非opp).是由不同的模块完成不同的功能, 然后经过整体的调度,整合而变成一整体.

在<<linux 操作系统内核分析>>中分出了5个子系统: 进程调度, 内存管理,虚拟文件系统,进程通信,与网络接口.

具体的每个子系统的功能, 接口, 子系统结构, 数据结构的描述, 可以从这本书上详细的看一看.力争对总体有一个把握.

分清楚在linux 的近50 兆源吗中. 那一部分,实现什么功能, 以便以后阅读是不至于混乱.

如果我又两年时间, 我会用伪码实现linux 功能的模拟.然后以写的角度去分析,这才是学人之长为我所用的绝好办法. 可惜由于一些难言之隐,我近两年的时间都有安排, 所以我只能这样读了

再下一步, 应该分析Makefile