概述
大纲:中断,系统调用,内存管理,进程线程,调度,同步,文件系统,I/O
什么是操作系统
- 功能上
- 对用户来说,OS是控制
- 管理应用程序的运行
- 为应用程序提供服务
- 杀死应用程序
- 对下
- 资源分配,管理,外设管理(多个资源的协调)
承上启下的作用:层次架构
- 硬件之上
- 应用程序(比如办公软件,视频播放软件等等)之下
- OS为应用软件提供服务支撑
- 分为两部分:shell部分,对外的接口。kernel部分,也就是OS的本身
kernel部分
- CPU管理,进程线程
- 内存管理(物理内存,虚拟内存)
- 虚拟内存:给上层应用提供尽可能大的内存空间
- 文件系统管理
- (底层相关)中断处理和设备驱动 -> 直接和硬件打交道
操作系统的特征
- 并发concurrency:同时存在多个运行的程序,需要OS管理和调度
- 一段时间内,多个程序
- 并行parallelism:一个时间点上多个程序。一般并行的需要有多个CPU
- 共享:有效让资源共享给需要的应用程序
- 对于一个内存单元:一个时间点上只有一个程序访问一个资源
- 同时访问?互斥共享?
- 虚拟:让每个用户都觉得有一个计算机专门为他服务
- 把一台机器虚拟成多台机器
- 异步(虽然执行的步骤不同,但是结果也相同)
- 不是一贯到底的,是走走停停的,向前推荐的速度不可知
- 但是运行环境相同,OS要保证运行的结果也相同
为什么学习OS
- 效率,可靠 -> 算法
- 硬件
- 良好的硬件管理,合理的资源分配
- 硬件可以完成很多OS以前关注的问题
- 需要权衡
- 时间空间
- 性能和可预测
- 公平和性能
经典OS
- UNIX
- Linux:移动终端的占有量非常大
- Windows