操作系统知识点总结
第一章:
1、操作系统有哪些功能:
- 操作系统的目标:
- 方便性----->方便用户使用
- 可扩充性-----> 作为扩充机器
- 开放性----->作为扩种机器
- 操作系统的功能:
- 将具体的计算机硬件资源抽象成软件资源,方便用户使用
- 开放了简单的访问方式,隐藏了实现细节(封装)
- 举例:浏览器搜索
- 文件存储空间的管理
- 文件目录的管理
- 文件的读/写管理和保护
2、操作系统有哪些特征:
- 操作系统的4个基本特征:
- 基本特征之间的关系:并发是虚拟、异步、共享的前提,共享是并发的前提

- 并发性(Concurrence):
- 概念:同一时间间隔内执行和调度多个程序的能力
- 特点:
- 宏观上:处理机同时执行多道程序
- 微观上:处理机在多道程序间高速切换(分时交替执行)
- 关注单个处理机同一时间段内处理任务的能力
- 并行性:
- 概念:同一时刻或者时间点发生的事件的数量
- 特点:有多少个处理机在同一时刻就能执行多少个任务
- 共享性:
- 概念:即资源共享,os中的资源供多个并行应用程序共同使用
- 共享方式:
- 同时访问方式:同一时间间隔段允许应用程序同时访问共享资源
- 互斥访问方式:也叫独占式,允许多个应用程序在同一个共享资源上独立而互不干扰的工作(共享打印机、音频设备、视频设备)。
- os的并发和共享互为存在条件
- 共享性要求os中同时运行着多道程序,如果只有单道程序运行,则不存在共享
- 并发性难以避免的导致多个程序同时访问同一个资源,若多道程序无法共享部分资源,则无法并发(比如磁盘)。
- 虚拟性:
- 概念:使用某种技术将物理实体变成多个逻辑上的对应物
- 虚拟技术的分类:
- 虚拟处理机技术 (“四核八线程")
- 虚拟设备技术 ("虚拟打印机")
- 异步性(并发为前提):
- 概念:多道程序下,允许多个程序并发执行,单处理机环境下,允许多个程序分时交替的执行
- 程序执行的不可预知性:
- 获得运行时机
- 因何暂停
- 每道程序需要多少时间
- 不同程序的性能,比如计算多少,I/O多少
3、操作系统是怎样发展的
- 解决了人机矛盾
- 减少了cpu空余时间
- 提高了I/O输入效率
- 一次只能执行一个程序
- 自动性
- 顺序性
- 单道性
- 内存中只有一道程序
- cpu需要等待I/O 输入完成
- 提高cpu利用率
- 提高内存和IO设备利用率
- 增加系统吞吐量
- 无人机交互
- 平均周转时间长
- 单道批处理:主要解决cpu、内存、io设备利用率不足的问题
- 多道批处理:主要解决io操作时,cpu空闲的问题
- 及时处理(作业提前进去内存,并能够与用户进行交互)
- 及时接收
- 多路性:时间片轮转机制
- 及时性:用户能够及时得到相应
- 交互性:用户可以请求多种服务
- 独立性:用户之间彼此独立
- 概念:系统能够及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致的进行
- 实时任务:
- 周期/非周期性实时任务(根据周期性)
- 硬/软实时任务(根据截止时间)
- 多路性
- 及时性:以用户能够接受的等待时间为准
- 交互性
- 独立性
- 可靠性:多级容错,保证系统和数据的安全
4、操作系统的结构:
- 一系列过程(程序)的集合,过程间可以相互调用
- 结构复杂且混乱,难以调试、阅读、维护
- 第二代:模块化结构os:模块-结构接口法os(分为io操作、文件读写、进程调度三个大模块)
- 基于分解、模块化原则
- 按照功能划分模块、子模块,规定模块间的接口
- 模块独立性标准(高内聚、低耦合)
- 提高os设计的正确性、可理解性、可维护性
- 增强os的适应性
- 加速开发过程
- 模块接口设计难以扩展后续需求
- 各模块设计没有统一的标准,导致模块接口设计不可靠
- 有序分层法: 自顶向下依次依赖
- 设计时:自底向上,每一步都建立在可靠的基础上
- 优缺点:
- 容易保证系统正确性
- 容易扩充和维护
- 自上而下的层次通信,导致系统效率降低
- 提高了os的可扩展性、可靠性、可移植性
- 支持分布式下系统
- 融入了面向对象技术