Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第8章:操作系统核心

学习目标

通过本章学习,你将能够:

  • 理解操作系统的整体架构和核心模块
  • 掌握操作系统从开机到启动完成的整个引导过程
  • 理解系统调用的原理和实现机制
  • 了解驱动程序的作用和运行机制
  • 掌握现代操作系统的核心特性和设计思想

章节简介

操作系统是管理计算机硬件和软件资源的核心系统软件,所有应用程序都运行在操作系统之上。理解操作系统的核心原理,能够帮助我们更好地理解程序的运行环境,写出更稳定、更高效的程序。本章将从操作系统的整体架构讲起,讲解系统启动过程、系统调用原理、驱动程序模型,以及现代操作系统的核心特性,帮助你建立对操作系统的整体认知。

本章内容

8.1 操作系统架构

  • 操作系统的地位和作用
  • 内核架构:宏内核、微内核、混合内核
  • 操作系统的核心模块和功能
  • 用户态和内核态的区别

8.2 启动与引导过程

  • 计算机从加电到操作系统启动的完整流程
  • BIOS/UEFI的作用和区别
  • 主引导记录(MBR)和GUID分区表(GPT)
  • 引导加载程序(GRUB、systemd-boot等)的工作原理
  • 内核初始化和用户空间启动流程

8.3 系统调用原理

  • 系统调用的作用和意义
  • 系统调用的实现机制(中断、快速系统调用)
  • 常见的系统调用分类
  • 标准库和系统调用的关系
  • 系统调用的开销和优化方法

8.4 驱动程序模型

  • 驱动程序的作用和分类
  • 驱动程序的运行机制
  • 设备模型:字符设备、块设备、网络设备
  • 驱动程序的加载和运行
  • 常见的驱动框架

8.5 现代操作系统特性

  • 微内核与外核设计思想
  • 容器和虚拟化技术原理
  • 实时操作系统特性
  • 分布式操作系统基础
  • 操作系统的安全机制

学习建议

本章内容偏理论和底层,如果你是应用层开发者,重点理解系统调用原理、用户态和内核态的区别、操作系统启动过程这些和日常开发相关的内容即可;如果你做底层开发、系统编程或者运维,建议深入学习操作系统架构、驱动程序、容器虚拟化等内容。学习时可以结合自己使用的操作系统(Linux/Windows/macOS)对比理解,会更容易掌握。


难度:★★★☆☆

预计学习时间:3.5小时