内核在操作系统中的位置,作用,组成

内核的位置

Linux操作系统由4部分组成,==上层依赖下层==

用户进程:运行在linux操作系统的最高层的软件集合

系统调用接口(运行在内核态,系统调用是内核代码的一部分,)

Linux内核:管理文件,内存,网络等

硬件:cpu,内存,硬盘,键盘等

内核的作用

从软件工程师的角度,操作系统内核,提供一个和计算机硬件等价的扩展或虚拟的计算平台,普通用户把操作系统看成是以恶资源管理者。linux以统一的方式支持任务,而这种方式对用户是透明的,每个进程运行起来就好像是只有他自己一个进程运行在计算机上一样,独占内存和其他的硬件资源,不需要操心其他的事情。

内核的组成

内核主要由5个子系统组成,之间的结构如下图

进程调度:控制着进程对cpu的访问

内存管理:允许多个进程安全地共享内存区域

虚拟文件系统:隐藏不同的硬件设备的具体细节,为所有设备提供统一的接口

网络:网络接口提供对各种网络标准协议的存取和各种网络硬件的支持

进程间通信:IPC,支持进程间各种通信机制

内核源码的结构

include:建立内核代码时所需要的大部分包含文件,这个模块利用其他模块重建内核

init:内核的初始化代码,是内核开始工作的起点

arch:所有硬件结构特定的内核代码

drivers:所有驱动

fs:所有文件系统的代码,ext2,vfat,ext3等

ipc:所有进程间通信代码

mm:所有内存管理代码

net:所有网络代码

kernel:包含主内核代码

I386寄存器

  1. 在x86中,8086/8088是16位处理器,从80386开始是32位处理器,把16位通用寄存器、标志寄存器、和指令指针寄存器扩充为32位;段寄存器仍然为16位,增加4个32位的控制寄存器,增加4个系统地址寄存器,增加8个调试寄存器,增加2个测试寄存器

  2. 通用寄存器:8个通用寄存器是8086寄存器的超集

    EAX:累加器

    EBX:基址寄存器

    ECX:计数

    EDX:存放数据

    EBP:基址指针

    ESI:源变址

    EDI:目标变址

  3. 段寄存器

    CS:代码段寄存器

    DS :数据段寄存器

    SS :堆栈段寄存器

    ES FS FS :附加数据段寄存器