操作系统比较硬核,不过最近发现了王道考研这个比较好的课程。这里是一些学习笔记总结。
主要功能模块
操作系统核心的主要功能模块介绍如下:
系统初始化模块:准备系统运行环境,最后为每个终端创建一个进程,运行命令解释程序。
进程管理模块:处理进程类系统调用(如进程创建/结束等)和进程调度。
存储管理模块:配合进程管理,分配进程空间;处理存储类系统调用(如动态增加进程空间);在虚存系统缺页异常时调入页面进行处理。
文件管理模块:处理文件类系统调用。
外设管理模块:负责外设驱动和中断处理。
两种处理机状态
处理机的运行状态分为核心态(管态)和用户态(目态),我们使用处理机状态字(简称PS或者PSW)寄存器内设置一个标志位,根据祺当前值为1或0表示处理机处于核心态或者用户态。
管态:允许特权指令执行的状态,由此状态下地址空间也比较大。
两者指令
特权指令不允许在用户态下执行。
特权指令的功能:
- 允许和禁止中断
- 在进程之间切换处理
- 存取用于内存保护的寄存器
- 执行I/O操作
- 停止一个中央处理机的工作
两种程序
操作系统的内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的那些程序就是内核程序。
这里其实还确实了一种,我们常说的操作系统四大模块是指,进程管理,存储管理,设备管理和文件系统管理。
由此引出了我们操作系统的两种内核:大内核和微内核。
大内核 | 微内核 |
---|---|
将操作系统的主要功能都作为系统内核,运行在核心态 | 只把最基本的功能保留 |
优点:高性能 | 优点:内核功能少,结构清晰,方便维护 |
缺点:内核代码庞大,结构混乱,难以维护 | 缺点:需要频繁地在用户态和核心态之间切换,性能低 |