`

minix2.0内核源代码的组织结构与公用头文件说明

阅读更多

Minix2.0的源代码由两个目录组成:include/目录和src/目录:

include/目录包含了操作系统所有的头文件(即.h文件)

src/目录下包含了操作系统所有的源文件(.c或.s文件)

头文件的组织结构为:

include/目录下为POSIX标准头文件;

include/sys/目录下为额外的POSIX标准头文件;

include/minix/目录下为MINIX操作系统定义的头文件

源文件的组织形式为:

src/kernel/目录存放着MINIX操作系统第一层(进程管理)和第二层(设备管理)的源代码;

src/mm/目录存放着MINIX操作系统第三层中内存管理子系统的源代码;

src/fs目录下存放着MINIX操作系统第三层中文件管理系统的源代码;

src/lib目录下存放着MINIX操作系统使用的库例程源代码(e.g. open,read);

src/tools目录下存放着Init源程序,用于启动Minix;

src/boot目录下存放着启动和安装MINIX操作系统的源代码

-----------------------------------------------------------------------------------------------------------------------------------

 

minix OS的主体是以C语言编写的,在minix2.0的源代码中,以“.c”结尾的文件均为C语言源程序

minix的内核源代码少部分是用汇编语言编写的,其中大部分是关于中断与异常处理的底层程序。在minix2.0源代码中,以“.s”结尾的文件均为汇编语言源程序。

-----------------------------------------------------------------------------------------------------------------------------------

src/commands/ :包含公用程序(e.g. cat, cp, date, ls, pwd)的源代码

src/test/: 包含有一些被设计用来对新编译好的Minix系统进行完整测试的工具(由于Minix是一个用于教学的操作系统,这意味着对它常常要作修改)

src/inet/: 包含了重新编译Minix以使之支持网路的源代码 

 

Minix的内部结构:

-----------------------------------------------------------------------------------------------------------------------------------

Minix被组织成4层,每一层执行一套定义得很完整的功能,这4层如下图所示:

第1、2层的代码位于src/kernel/下。第一层是Minix内核的最底层,该层包括完成以下的功能函数:系统的初始化、中断、消息传递以及进程调度。

 

 

Minix2.0操作系统公用头文件说明

以下头文件均在目录include/下:

ansi.h: 用来检测编译器是否遵循标准C,如果是的话,_ANSI就被定义为31415,如果不是的,则_ANSI未定义。通过这个宏来诊测。

limits.h: 定义语言类型(如整型)和操作系统(如字)的基本尺寸,提高了可移植性

errno.h: 定义了minix操作系统程序执行时可能出现的各种错误号

unistd.h: 包含了大量的重要常数和系统调用函数原型。

string.h: 包含了用于字符处理的函数原型

signal.h: 定义了所有的ANSI和POSIX通用信号,minix支持所有的POSIX信号

fcntl.h: 定义了open()和fcntl()系统调用所需的各种参数和标志, 注意:create()已经过时。但是为了保持向后兼容性,而提供。

stdlib.h: 定义了一些共用的宏、类型和函数原型

termious.h: 被controlling终端类型的使用

a.out.h: 描述了可执行文件的格式

sys/types.h: 包含重要的类型定义

sys/ioctl.h: 声明设备的控制操作

sys/sigcontext.h: 定义了sigreturn(2)系统调用的所需的sigcontext结构

sys/sigptrace.h: 包含ptrace(2)系统调用所需的宏定义

sys/stat.h: 定义了stat()和fstat()系统调用所需的结构和宏

sys/dir.h:给出目录结构的布局

sys/wait.h: 包含wait()系统调用所需的宏定义

minix/config.h: 设置了minix内核、内存管理子系统、文件管理子系统的配置参数

minix/const.h: 定义了minix操作系统各部分共用的常量(宏定义)

minix/type.h: 定义了minix操作系统各部分公用的结构

minix/syslib.h: 声明了系统库函数的函数原型

minix/callnr.h: 定义了允许的系统调用号

minix/com.h: 包含内存管理子系统、文件管理子系统和I/O任务所需的一些宏定义以及I/O任务号

minix/boot.h: 包含文件系统所需的设备宏定义以及boot程序传递给minix操作系统的参数

 

 

 

分享到:
评论

相关推荐

    MINIX2.0操作系统源码.rar

    MINIX 2.0是一款基于微内核设计的开源操作系统,由Andrew S. Tanenbaum教授于1987年创建。它最初被设计为一个教学工具,用于教授操作系统原理,后来成为了Linus Torvalds开发Linux的重要参考之一。MINIX 2.0的源码...

    minix2.0的源码.rar

    二、MINIX 2.0的微内核结构 微内核(Microkernel)是MINIX 2.0的基础,它将大部分操作系统服务,如文件系统、网络协议等,都放在用户空间运行,只有最基本的服务保留在内核中。这样的设计提高了系统的稳定性和安全...

    Minix1.0内核源代码,word版

    《Minix 1.0内核源代码解析》 Minix 1.0,作为一款历史悠久的操作系统,是由荷兰计算机科学家Andrew S. Tanenbaum教授于1987年设计和开发的。这款操作系统以其小巧、简洁的内核设计而闻名,其源代码对后来的开源...

    MINIX2.0操作系统源码

    7. **并发与同步**:MINIX2.0内核中的并发控制,包括锁、信号量、条件变量等同步原语的应用。 通过深入研究MINIX2.0源码,开发者可以更全面地理解操作系统的运行机制,这对于未来在Linux、Unix或其他系统上的开发...

    MINIX2.0操作系统源码(包含include).zip

    这些头文件定义了各种数据结构、常量、函数原型和其他编程接口,是MINIX2.0内核及其用户空间服务之间通信的桥梁。例如,`syscalls.h`包含了所有系统调用的声明,而`machine`目录下的头文件则提供了与特定硬件平台...

    minix2.0完整源码

    包含/include的系统头文件,是最完整的minix2的源码。 由于我写的那个minix解析器出了点问题,所以从minix文件系统中抓出来的文件,超过5K就下载不正常乐。还有就是1.0---〉2.0的文件系统兼容有了点问题,导致这个...

    minix2.0 安装启动镜像

    在本案例中,"minix2.0 安装启动镜像" 提供了安装 Minix 2.0 的初始环境,特别是针对Microsoft Virtual PC 虚拟机平台。 安装镜像通常包含启动所需的基本文件和程序,使得用户可以在目标系统上进行安装过程。...

    minix2.0网络部分源码导读

    总的来说,学习Minix 2.0网络部分源码不仅能够帮助我们理解微内核中的网络服务实现,还能深入领会操作系统如何与硬件、协议栈和应用程序协同工作。对于想要深入研究操作系统内核和网络编程的开发者而言,这是一次...

    minix 1.1内核源代码

    这个资料是minix1.1的源代码,是学习操作系统设计与实现的绝好的材料,希望对你有用!!!!

    minix 2.0 source code pdf

    MINIX 2.0 源代码PDF是一个文档,它以整洁的形式呈现了MINIX操作系统内核的源代码。MINIX是由Andrew S. Tanenbaum教授设计的一个小型类UNIX操作系统,主要用于教学和研究目的。MINIX 2.0是其早期版本之一,它在教育...

    操作系统MINIX2.0详细分析

    MINIX的源代码是公开的,这为操作系统的学习者和研究者提供了极大的便利。 现代流行的Linux操作系统就是在MINIX的基础上发展起来的。Linux继承了MINIX的一些设计理念,并在此基础上进行了大量的改进和发展,最终...

    Minix2.0 文件系统解析程序(含源码)

    对网络上minix1.0文件系统的修正和功能扩充,是学习minix的不可多得的工具帮手, 尤其是理解minix文件系统组织结构和源码有力工具。 修改日期: hugion 2009.6.14 增加内容:扩充对minix2.0文件系统的支持 包括minix...

    MINIX操作系统源代码

    MINIX操作系统源代码是计算机科学领域的一个重要研究对象,它是由荷兰计算机科学家Andrew S. Tanenbaum教授设计和实现的一个小型、开源的操作系统。MINIX的设计初衷是为了教学目的,让学生能够理解和研究操作系统的...

    minix-2.0-src_in_booklist.zip

    这个压缩包“minix-2.0-src_in_booklist.zip”包含了与《Minix 2.0书后源码》相关的全部源代码,便于读者在代码阅读器下进行深入的学习和分析。 首先,让我们了解一下Minix 2.0的主要组成部分。它由内核(Kernel)...

    minix3的源代码

    这个压缩包包含了Minix3的源代码,对于学习操作系统设计与实现的开发者和学生来说,是一个宝贵的资源。下面将详细介绍这些源代码文件夹和它们所代表的知识点。 1. **LICENSE**: 这个文件通常包含开源软件的许可证...

    Minix 3.1.3 源代码

    Minix 3.1.3 的源代码结构清晰,便于学习。它包含了以下关键组件: 1. **微内核(Microkernel)**:这是操作系统的核心,负责处理进程调度、内存管理和硬件驱动。Minix 3的微内核设计强调了稳定性和安全性,通过将...

Global site tag (gtag.js) - Google Analytics