Linux内核体系结构

来源:互联网 发布:衣服 知乎 编辑:程序博客网 时间:2024/05/16 17:02
    Linux操作系统的诞生、发展和成长过程依赖于五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和互联网UNIX最初的开放源代码版本为Linux提供了基本原理和算法;Richard Stallman的GNU计划为Linux系统提供了丰富且免费的各种实用工具;POSIX标准的出现为Linux提供了实现与标准兼容系统的参考指南;Tanenbaum的MINIX操作系统为Linux的诞生起到了不可忽略的参考作用;互联网是Linux成长和壮大的必然环境
   
    Linux-0.11在1991年12月8号发布时包括以下几个文件
            bootimage.Z          -具有美国键盘代码的压缩启动映像文件;    
            rootimage.Z          -以1200KB压缩的根文件系统映像文件;
            linux-0.11.tar.Z     -内核源代码文件
            as86.tar.Z           -Linux bruce evans'二进制执行文件,是16位的汇编程序和装入程序
            INSTALL-0.11         -更新过的安装信息文件

    Linux内核主要由五个模块组成,他们分别是:进程调度模块、内存管理模块、文件系统模块、进程间通讯模块和网络接口模块。
    进程调度模块用来负责控制进程对CPU资源的使用。
    内存管理模块用于确保所有进程都能安全的共享机器的主内存区,同时内存管理模块还支持虚拟内存管理方式,使Linux的进程可以使用比实际内存空间更大的内存容量。虚拟文件系统模块通过向所有的外部存储设备提供一个通用的文件接口,隐藏了各种硬件设备的不同细节。进程间通信模块子系统用于支持多种进程间的信息交换方式。网络接口模块提供对多种网络通信标准的访问并支持许多网络硬件。
    对于Linux内核来说,中断信号通常分为两种:硬件中断和软件中断(异常)。每个中断是由0~255之间的一个数字来标识。对于中断int0~int31,每个中断的功能由Intel公司固定设定或保留用,属于软件中断,但Intel公司称之为异常。因为这些中断是在CPU执行指令时探测到异常情况而引起的。通常还可以分为故障(fault)和陷阱(traps)两类。中断int32~int255可以由用户自己设定。在Linux系统中,则将int32和int47对应于8259A中断控制芯片发出的硬件中断请求信号IRQ0~IRQ15,并把程序编程发出的系统调用(system_call)中断设置为int128(0x80).
    在Linux 0.11内核源代码的head.s程序中,内核首先使用一个哑中断向量(中断描述表)对中断描述表(Interrup Descriptor Table_IDT)中所有的256个描述符进行了默认设置.
    PC机的可编程定时芯片 Intel 8523被设置成每隔10ms就发出一个时钟中断信号(IRQ0)。这个时间节拍就是系统运行的脉搏,我们称之为一个系统滴答。   

              
原创粉丝点击