欢迎来到天天文库
浏览记录
ID:50992328
大小:93.50 KB
页数:10页
时间:2020-03-08
《Minix进程及进程管理.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Minix进程实现2.5~2.6概述:本部分内容主要从两个部分介绍进程在Minix中的实现的:第一部分是介绍整个Minix的系统结构的,其中包括了Minix的内部结构以及各种头文件,其主要是对于各个头文件以及进程有关的数据结构的介绍的;第二部分讲的是Minix中进程的实现,其中包括Minix的系统初始化、中断处理、进程间的通信和进程调度。Minix系统结构介绍:包括Minix内部结构以及各种头文件。Minix内部四层结构最底层捕获所有的中断和陷入,完成进程调度,并向高层提供一个采用消息进行通信的独立顺序进程模型。包含完成以下功能的函数:系统初始化、中断、
2、消息传递以及进程调度。第二层包括了I/O进程,每类设备都有一个I/O进程,我们称之为任务(task)。只有一个任务,即系统任务与众不同,它不对应于任何I/O设备。第三层包含向用户进程提供有用服务的进程。这些服务器进程在低于内核和任务的特权级上运行,不能直接访问I/O端口,也不能访问属于自己段以外的内存。第四层包含了所有的用户进程——shell、编译器、编辑器以及用户的a.out程序。Minix四层结构之间的联系:操作系统主要完成的两件事情:管理资源和通过系统调用方式提供扩展的计算机。其中,资源管理主要是在内核(第一、二层)完成的,系统调用的解释在第三层。
3、第三层的各种服务进程被单独的设计成“服务器”,这样可以增加整个系统的可扩展性。如果要是加入一个新的服务器进程,需要重新编译内核。Minix源代码的组织源代码从逻辑上分成两个目录:/usr/include/和/usr/src/,记做:include/和/src/。include/目录包含了许多符合POSIX标准的头文件,它又包含了三个子目录:1.sys/包含POSIX头文件2.minix/包含操作系统使用的头文件3.ibm/包含IBMPC特有定义的头文件。src/目录包含了三个重要的子目录,其中包括了操作系统的源代码1.kernel/第一层和第二层的(进程
4、、消息和驱动程序)2.mm/内存管理器代码3.fs/文件系统代码公共头文件其中,编译用户程序时可能用到的头文件放在include/目录下,而传统上include/sys/目录放那些编译系统程序和程序所用的头文件。include/目录:主控头文件src/kernel/kernel.h、src/mm/mm.h以及src/fs/fs.h分别对应于MINIX的三个主要部分,而这三个部分必定包含在MINIX的每一个编译版本中。1.include/ansi.h:这是编译MINIX系统任何一部分都要处理的第二个文件。其作用是测试编译器是否符合ISO规定的标准C的要求。
5、其中重要的一个宏是_PROTOTYPE。2.include/limits.h:间接包含在每一个MINIX源文件中的头文件。定义了许多基本的大小值。3.include/errno.h:被所有的主控头文件包含。它包含了系统调用失败时从全局变量errno返回给用户程序的错误码。同时,errno也用来标识一些内部错误。4.include/unistd.h、include/string.h、include/signal.h:没有包含在每一个主控头文件中,但是在MINIX三个部分的许多源文件中使用。unistd.h定义了许多常量,其中多数是POSIX需要的,也包含了
6、许多函数原型,其中包括了所有用于进行系统调用的C函数原型;string.h包含了许多用于串操作的C函数原型;signal.h定义了标准信号名,同时包含一些与信号相关的函数原型。5.include/fcntl.h:采用符号方式定义了文件控制操作使用的许多参数。6.include/stdlib.h:定义了大多数C程序(除最简单的以外)编译时要用到的类型、宏和函数原型。它是编译用户程序时使用最频繁的头文件之一。7.include/termios.h:定义了控制终端类型的I/O设备所用到的常量、宏和函数原型。最重要的数据结构是termios。8.include/
7、a.out.h:定义了可执行文件在磁盘上的存储格式,包括启动文件执行的文件头结构和编译产生的符号表。只有文件系统引用。include/sys/目录1.sys/types.h:定义了许多MINIX使用的数据类型。使用这里提供的定义可以避免对特定情况下所使用的基本数据结构的理解错误而导致的故障。2.sys/ioctl.h:没有被主控头文件包含,其中还是定义了许多用于设备控制的宏。在这里需要注意的是include/termios.h和ioctl.h之间的区别和联系。3.sys/sigcontext.h:定义了一些结构,这些结构用来在信号处理例程执行前后保存和恢
8、复正常的系统操作。该文件用于内核和内存管理器。4.sys/ptrace.h:定义
此文档下载收益归作者所有