操作系统 第一章 概要
清华大学 陈渝老师 操作系统教程
一、概述
什么是操作系统
-
从功能和特点来介绍操作系统
-
用户角度上,操作系统是一个控制软件
- 管理应用程序
- 为应用程序提供服务
- 杀死应用程序
-
对于内部管理,操作系统是一个资源管理的分配器
-
管理外设
-
分配资源
- CPU 抽象为 进程
- 磁盘 抽象为 文件
- 内存 抽象为 地址空间
-
-
操作系统架层结构
-
硬件之上
-
应用程序之下
- (应用软件:办公软件、视频播放软件)
-
-
-
Kernel-操作系统内部组件
-
包括
- CPU调度器
- 物理内存管理
- 虚拟内存管理
- 文件系统管理
- 中断处理与设备驱动
-
特征
-
并发(一段时间多个程序运行)
-
计算机系统中同时存在多个运行的程序
- 需要OS管理和调度
-
-
-
并行(一个时间点上有多个程序同时执行)(要求计算机系统存在多个CPU)
- 共享
- “同时“访问
- 互斥共享
- 虚拟
- 利用多道程序设计技术,让每个用户都觉得有一个计算机专门为他服务
- 异步
- 程序的执行不是一贯到底,而是走走停停,向前推进的速度不可预知
- 但在运行环境相同,OS需要保证程序运行的结果也要相同
为什么学习操作系统
-
操作系统管理并发
- 并发导致有趣的编程挑战
-
操作系统代码管理原始硬件
- 时间依赖行为,非法行为,硬件故障
-
操作系统代码必须是高效的,低耗CPU、内存、磁盘的
-
操作系统出错,就意味着机器出错
- 操作系统必须比用户程序拥有更高的稳定性
-
操作系统是安全的基础
-
操作系统需要权衡
- 空间与时间
- 性能和可预测性
- 公平和性能
-
硬件方面,操作系统的需要
- 良好的硬件管理
- 合理的资源分配
- 硬盘速度跟CPU、内存相差很多,操作系统需要协调处理
操作系统的结构
-
简单操作系统:MS-DOS(1981-1994)
- 不分模块的单体内核
-
uCore操作系统
- 定时器驱动
- 引导装载
- 中断服务
-
微内核的设计,尽可能把内核功能移到用户空间
- 缺点:性能相对低
-
“外核”
-
将内核分成两块
- 跟硬件打交道,完成硬件功能的复制
- 跟具体应用打交道
-
-
虚拟机VMs
-
虚拟机监控器(VMM)
- (多操作系统共享硬件资源)在一个物理计算机系统上虚拟出多个计算机系统给上层操作系统使用
-