OS零碎知识整理(3)
1.OS(Operating System)
@管理计算机硬件与软件资源的计算机程序。
一些描述
(1)系统资源的管理者。(软件+硬件)
(2)向上层提供方便易用的服务。
[GUI(Graphical User Interface) 用户图形界面
联机命令接口 = 交互式命令接口
脱机命令接口 = 批处理命令接口
程序接口<程序员> ]
(3)最接近硬件的一层软件。
E.x (1)管理与配置内存
(2)决定系统资源供需的优先次序
(3)控制输入设备与输出设备
(4)操作网络与管理文件系统
@主要特征
(1)并发性
要注意区分并发与并行
并发:宏观上同时,微观上交替发生(同一时间间隔)。
并行:多事件在同一时刻同时发生。
(2)共享性 (主要指资源共享 ,互斥共享/分时共享)
(3)虚拟性 (把一个物理上的实体变为若干个逻辑上的对应物)
(4)异步性
@主要功能
(1)处理器管理( CPU的调度、处理与回收 . E.x. 进程调度?)
(2)存储器管理( 存储分配、存储共享、存储保护、存储扩张)
(3)设备管理( 设备分配、设备传输控制、设备独立性) [设备独立性 - 逻辑设备/物理设备]
(4)文件管理( 文件存储空间的管理、目录管理、文件操作管理、文件保护)
(5)作业管理
@基本类型
(1)批处理系统
可以提高资源的利用率和系统的吞吐量。
(2)分时操作系统
可以实现用户的人机交互需要。
但不能优先处理紧急任务。
(3)实时操作系统 [ 及时性、可靠性 ]
可以快速地对外部命令/紧急任务进行响应,在对应的时间内处理问题。
[又可分为 硬实时系统 - 必须在严格的规定时间内完成处理。 E.x. 导弹控制系统 / 自动驾驶系统
软实时系统 - 能接受偶尔违反时间规定。 E.x. 12306火车订票系统 ]
2.批处理系统的作业的基本概念(作业,作业步,作业流,作业控制语言,作业说明书)
(1)作业 - Job
用户在一次计算过程中,或者一次事物处理过程中,要求计算机系统所做工作的总称。
//操作系统用户在计算机上做的某件事所需运行的若干程序的集合。
(2)作业步 - Job step
一个作业可划分成若干部分,每个部分成为一个作业步。
在作业运行期间,各作业步之间存在着相互联系,往往上一个作业步的结果作为下一个作业步的输入。
E.x. “编译”作业步、“连接装配”作业步、“运行”作业步
(3)作业流
作业步控制流程。
(4)作业控制语言 - JCL ( Job Control Language )
用来实现对用户作业的组织和管理的各种控制命令或控制语句的有序集合。
JCL一般包括I/O命令、编译命令、操作命令以及条件命令等。
(5)作业说明书
表达用户对作业的控制意图 ?
主要内容: 作业的基本描述 / 作业控制描述 / 资源要求描述
3.SPOOLing 假脱机技术 (Simultaneous Peripheral Operation On-Line) @peripheral a.外围的
- 以空间换时间。
- 为了缓和CPU的高速性与I/O设备低速性之间的矛盾。
- 提高系统资源/独占设备的利用率。
- 利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上。
- 将独占设备改造成共享设备。
- 实例:共享打印机
SPOOLing系统
(1)预输入程序
(2)井管理程序
(3)缓输出程序
SPOOLing系统的组成(图来自王道-操作系统)