简介

计算机操作系统实验指导 linux版

linux

  • arch 与体系结构相关的核心代码
  • drivers 设备驱动程序
  • include 编译核心所需的头文件
  • init 系统初始化代码
  • mm 独立于CPU体系结构的内存管理代码
  • kernel 核心代码, 内核函数
  • lib 核心库代码
  • net网络相关的代码
  • ipc 核心进程间通讯代码
  • fs 文件系统和各种类型的文件操作代码

strace 跟踪进程进行调试.

BIOS 和 boot loader - BIOS 主要用在高级的操作系统上 bootloader 用在嵌入式. 作用都是用来引导操作系统起来.

GRUB GRand Unified Bootloader 一种Bootloader 功能

  1. 在屏幕上打印当前的内核版本信息
  2. 设置系统结构
  3. 初始化系统的调度机制: 先对每个可用CPU上的runqueque进行初始化; 然后初始化0号进程为系统的idel进程, 即系统空闲时占据CPU的进程
  4. 解析系统启动参数
  5. 设置系统中断向量表, 然后初始化系统调用向量, 最后完善对CPU的初始化, 以便支持进程调度机制.
  6. 初始化系统中的Read-Copy update 互斥机制
  7. 初始化用于外设的中断, 完成对IDT的最终初始化过程
  8. 分别初始化系统的定时器机制, 软中断机制, 以及系统日期和时间
  9. 初始化物理内存页面的page数据结构描述符, 完成对物理内存管理机制的创建
  10. 完成对通用slab缓冲区管理机制的初始化工作
  11. 计算当前系统的物理内存容量能够允许创建的进程数量
  12. 对各种管理机制简历专用的slab缓冲区队列
  13. 对虚拟文件系统/proc进行初始化
  14. 创建第一个系统内核线程, 负责下一阶段的启动任务
  15. 进入系统主循环体, 默认执行cpu的halt指令, 知道就绪队列中存在其他进程需要调度时, 才转向执行西塔函数.
posted on 2021-09-22 11:37  HDU李少帅  阅读(41)  评论(0)    收藏  举报