简介
计算机操作系统实验指导 linux版
linux
- arch 与体系结构相关的核心代码
- drivers 设备驱动程序
- include 编译核心所需的头文件
- init 系统初始化代码
- mm 独立于CPU体系结构的内存管理代码
- kernel 核心代码, 内核函数
- lib 核心库代码
- net网络相关的代码
- ipc 核心进程间通讯代码
- fs 文件系统和各种类型的文件操作代码
strace 跟踪进程进行调试.
BIOS 和 boot loader - BIOS 主要用在高级的操作系统上 bootloader 用在嵌入式. 作用都是用来引导操作系统起来.
GRUB GRand Unified Bootloader 一种Bootloader 功能
- 在屏幕上打印当前的内核版本信息
- 设置系统结构
- 初始化系统的调度机制: 先对每个可用CPU上的runqueque进行初始化; 然后初始化0号进程为系统的idel进程, 即系统空闲时占据CPU的进程
- 解析系统启动参数
- 设置系统中断向量表, 然后初始化系统调用向量, 最后完善对CPU的初始化, 以便支持进程调度机制.
- 初始化系统中的Read-Copy update 互斥机制
- 初始化用于外设的中断, 完成对IDT的最终初始化过程
- 分别初始化系统的定时器机制, 软中断机制, 以及系统日期和时间
- 初始化物理内存页面的page数据结构描述符, 完成对物理内存管理机制的创建
- 完成对通用slab缓冲区管理机制的初始化工作
- 计算当前系统的物理内存容量能够允许创建的进程数量
- 对各种管理机制简历专用的slab缓冲区队列
- 对虚拟文件系统/proc进行初始化
- 创建第一个系统内核线程, 负责下一阶段的启动任务
- 进入系统主循环体, 默认执行cpu的halt指令, 知道就绪队列中存在其他进程需要调度时, 才转向执行西塔函数.