一、操作系统概述与架构
1. 操作系统核心功能
-
资源管理:
-
处理器管理:进程调度、多线程、多核分配。
-
存储管理:内存分配、虚拟内存、缓存机制。
-
设备管理:I/O控制、设备驱动、中断处理。
-
文件管理:文件系统、目录结构、权限控制。
-
-
用户接口:
-
命令行界面(CLI):如Linux Shell、Windows PowerShell。
-
图形界面(GUI):如Windows桌面、GNOME/KDE。
-
系统调用(System Call):用户程序与内核交互的接口(如
fork()
,open()
)。
-
2. 操作系统架构
-
分层架构:
-
硬件抽象层(HAL)→ 内核层 → 系统服务层 → 应用层。
-
-
微内核与宏内核:
-
宏内核(如Linux、Windows):核心功能(进程、内存、文件系统)集中在内核态。
-
微内核(如QNX、MINIX):仅核心功能在内核态,其他功能以服务形式运行在用户态。
-
-
虚拟化架构:
-
Hypervisor(Type 1:裸机虚拟化,如VMware ESXi;Type 2:宿主虚拟化,如VirtualBox)。
-
二、进程与线程管理
1. 进程管理
-
进程状态与转换:
-
五状态模型:新建(New)、就绪(Ready)、运行(Running)、阻塞(Blocked)、终止(Terminated)。
-
状态转换触发事件:如I/O请求(运行→阻塞)、时间片用完(运行→就绪)。
-
-
进程调度算法:
算法 特点 适用场景 先来先服务(FCFS) 非抢占,公平但长任务阻塞短任务 批处理系统 短作业优先(SJF) 非抢占,平均等待时间最短 已知任务长度