认识
操作系统:计算机科学研究的基石之一
- OS关于权衡
- 时间与空间
- 性能与可预测性
- 公平与性能
- OS关于硬件
- 如何如何让中断、异常、上下文切换真正有效?
- 存储如何管理?
学习内容
- 参考教材
- William Stallings, Operating Systems Internals and Design Principles,5th - Current
- Abraham Silberschatz, Peter Baer Galvin,Greg Gagne, Operating system concepts,6th - Current
- Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces,0.61th - Current
- 内容
- 操作系统结构
- 中断及系统调用
- 内存管理
- 进程及线程
- 处理机调度
- 同步互斥
- 文件系统
- I/O子系统
- 实验
OS概述
定义:一个控制程序
- 一个系统软件
- 控制程序执行过程,防止错误和计算机的不当使用
- 执行用户程序,给用户程序提供各种服务
- 方便用户使用计算机系统
- 一个资源管理器
- 应用程序与硬件之间的中间层
- 管理各种计算机软硬件资源
- 提供访问计算机软硬件资源的高效手段
- 解决资源访问冲突,确保资源公平使用
位置:承上启下
分类
shell——命令行接口
GUI——图形用户接口
Kernal——OS内部
特征
- 并发
计算机系统中同时存在多个运行的程序,需要OS管理和调度 - 共享
宏观:程序同时访问资源
微观:互斥共享 - 虚拟
利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务 - 异步
程序不是一次执行到底,而是走走停停。运行环境相同时,OS要保证程序运行结果一致
OS内核的核心概念
抽象/虚拟化能力
OS历史
- 单用户系统
- 批处理系统
- 多道程序系统
保持多个工作在内存中并且在各工作间复用CPU(任务主动让出CPU) - 分时系统
定时中断用于工作对CPU的复用,更利于短作业,减少了用户等待 - 个人计算机
更加关注用户易用性 - 分布式计算
OS结构
- 简单结构:没有拆分为模块
- 分层结构
- 微内核结构:尽可能地把内核功能转移到用户空间
- 外核结构:让内核分配机器的物理资源给多个应用程序, 并让每个程序决定如何处理这些资源.
- 虚拟机管理器:将单独的机器接口转换成很多的虚拟机,每个虚拟机都是一个原始计算机系统的有效副本, 并能完成所有的处理器指令。