- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
minix操作系统分析.doc
Minix操作系统内核源代码概要分析
版本号:0.01(2004-5-28更新)
作者:guokun email:guo_kun@
第一部分 PC外围设备的相关分析.
第二部分 总体结构分析
第三部分 头文件及数据结构分析
第四部分 kernel代码分析
第五部分 内存管理器的分析
第六部分 文件系统分析
第七部分 总结
第一部分 PC外围设备的相关分析.
处理器复位后的状态分析
●处理器的体系结构分析
硬盘
Winchester硬盘结构 分类 分区表 Io端口地址 硬盘控制器
●软盘软盘结构 分区表 马达控制 软盘控制器
●时钟 (PT)8253
●实时时钟(RT)
●总线时钟
●可编程中断控制器8259A(PIC)
●显示卡 6845-(vram(frame Buffer
●串口
●并口 8255
●DMA控制器8237 基地址,控制字
●键盘 8248
●ISA 总线 ISA 端口的地址范围
●PCI 总线 PCI IO/ MEM/ Configure
第二部分 总体结构分析
总体结构分析概论
源代码结构分解为树形结构。如下所示:
源代码总体组织结构.
sys/
ibm/
include/ minix/
net/
...
kernel/
mm/
fs/
src/ boot/
inet/
tools/
test/
etc/
lib/
第三部分 头文件及数据结构分析
头文件详细分析
include 目录结构
include/a.out.h
include/ansi.h
include/errno.h
include/fcntl.h
include/ibm/partition.h
include/limits.h
include/minix/boot.h
include/minix/callnr.h
include/minix/com.h
include/minix/config.h
include/minix/const.h
include/minix/keymap.h
include/minix/partition.h
include/minix/syslib.h
include/minix/type.h
include/signal.h
include/stdlib.h
include/string.h
include/sys/dir.h
include/sys/ioctl.h
include/sys/ptrtrace.h
include/sys/sigcontext.h
include/sys/stat.h
include/sys/types.h
include/sys/wait.h
include/termios.h
include/unistd.h
include/terminos.h
include/ansi.h
这个文件检测这个编译器是不是基于ANSI的编译器。如果是的话,_ANSI就被定义为31415,如果不是的,则_ANSI未定义。通过这个宏来诊测。
include/limits.h
这个文件是为了提高移植性。
●定义了C语言数据类型的长度
●定义了基于POSIX1003.1标准(table2-3)
#ifdef _POSIX_SOURCE /* 这个宏表明了仅对POSIX可见 */
#endif
include/errno.h
为了解决错误在系统内部为负的,通过对_SYSTEM侦测来决定。
#ifdef _SYSTEM
#define _SIGN -
#else
#define _SIGN
include/unistd.h
包含了大量的重要常数和系统调用函数原型。
include/signal.h
这个文件定义所有的POSIX以及ANSI通用的信号。
MINIX支持所有的POSIX信号,
include/fcntl.h
open()和fcntl系统调用需要
注意create()已经过时。但是为了保持向后兼容性,而提供。
struct flock{
short l_type; /*lock类型 */
short l_whence; /*starting offset */
short l_start; /*relative offset by
文档评论(0)