操作系统的基本概念
概念
计算机系统(自下而上) | 举例 | 功能 |
---|---|---|
硬件 | 中央处理器、内存、输入/输出设备 | 提供基本计算资源 |
操作系统 | windows、UNIX、类UNIX(Linux、OSX) | 控制协调用户的应用程序对硬件的分配和使用 |
应用程序 | 字处理程序、电子制表软件、编译器、网络浏览器 | 规定以何种方式使用资源解决用户计算问题 |
用户 | 人类 | 使用应用程序 |
操作系统(Operating System OS)
控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
特征
操作系统是系统软件,与应用软件有很大不同,其特殊性即为基本特征。基本特征包括:并发、共享、虚拟、异步。
一、并发(Concurrence)
并发是指两个或多个事件在同一时间间隔内发生。操作系统的并发是指计算机系统中同时存在多个运行的程序,因此具有处理和调度多个程序的能力,操作系统引入进程,是为了让程序能够并发执行。
概念辨析 | 并发 | 并行 |
---|---|---|
宏观 | 同一时间间隔 | 同一时刻 |
微观 | 程序分时交替执行,同一时刻单处理机环境下仅有一道程序执行,操作系统的并发通过分时得以实现 | 相关硬件支持,如多流水线或多处理机硬件环境 |
二、共享(Sharing)
系统中的资源可供内存中多个并发执行的进程共同使用。
共享方式 | 互斥共享方式 | 同时访问方式 |
---|---|---|
宏观 | 一段时间内仅允许一个进程访问该资源 | 允许多个资源“同时”访问 |
微观 | 一种资源在一段时间只能满足一个请求 | 多个进程交替对资源进行访问,即“分时共享”,一个请求分几个时间片段间隔地完成 |
资源 | 临界资源(独占资源) | 共享资源 |
举例 | 大部分物理设备(打印机、磁带机)、栈、变量、表格等 | 磁盘设备、一些用重入码编写的文件等 |
分时与共享互为存在条件:
- 资源共享以程序并发为条件,若系统不允许并发,则不存在共享问题。
- 若系统对资源共享不能实施有效的管理,则会影响到程序的并发执行。
三、虚拟(Virtual)
把物理上的实体变为若干逻辑上的对应物。用来实现虚拟的技术,称为虚拟技术。
物理实体 | 逻辑对应物 |
---|---|
实际存在的 | 用户感觉上的 |
名称 | 实体 | 用户 | 本质 |
---|---|---|---|
虚拟处理器技术 | 只有一个处理器 | 用户感觉有一个CPU专门为他服务 | 让多道程序并发执行,分时使用一个处理器,将物理上的CPU虚拟为多个逻辑上的CPU |
虚拟存储器技术 | 只有一个物理存储器 | 用户感觉到的存储器称为虚拟存储器 | 从逻辑上扩充存储器的容量 |
虚拟设备技术 | 一台物理I/O设备 | 每个用户占用一台逻辑上的I/O设备 | 使原来仅允许一个用户访问的设备变为允许多个用户同时访问的共享设备 |
操作系统的虚拟技术归纳
时分复用技术 | 空分复用技术 |
---|---|
处理器的分时共享 | 虚拟存储器 |
四、异步(Asynchronism)
进程的异步性: 多道程序环境允许多个程序并发执行,但由于资源不足,进程的执行走走停停,以不可预知的速度向前推进。
目标和功能
一、计算机系统资源的管理者
处理器的分配和运行以进程(线程)为单位,对处理器的管理科归结为进程管理。
- | 处理机管理 | 存储器管理 | 文件管理 | 设备管理 |
---|---|---|---|---|
任务 | 进程创建、撤销、管理;避免冲突;合理分享 | 给程序运行提供良好环境,方便用户使用及提高内存利用率 | 操作系统中负责文件管理的部分称为文件系统,用于管理计算机中的信息(以文件形式存在) | 完成用户的I/O请求,方便用户使用各种设备,并提高设备利用率 |
功能 | 进程控制;进程同步;进程通信;死锁处理;处理机调度 | 内存分配;地址映射;内存保护与共享;内存扩充 | 文件存储空间管理;目录管理;文件读写管理和保护 | 缓存管理;设备分配;设备处理;虚拟设备 |
二、用户与计算机硬件系统之间的接口
(1)命令接口
辨析 | 联机命令接口 | 脱机命令接口 |
---|---|---|
进行作业控制的方式 | 联机控制 | 脱机控制 |
又称 | 交互式命令接口 | 批处理命令接口 |
适用系统 | 实时或分时系统 | 批处理系统 |
组成 | 一组键盘操作命令 | 一组作业控制命令(语句) |
过程 | “雇主”说一句话,“工人”做一件事,并做出反馈,强调交互性 | “雇主”把要“工人”做的事写在清单上,“工人”按照清单命令逐条完成,即批处理 |
(2)程序接口
程序接口由一组系统调用命令(广义指令)组成。用户通过程序中使用这些系统调用命令来请求操作系统为其提供服务,如使用外部设备、进行磁盘文件操作、申请分配和回收内存等。当前最流行的是图形用户界面(GUI),即图形接口,用户通过鼠标和键盘,在图形界面上单击或使用快捷键,以方面地使用操作系统。
三、扩充机器
没有任何软件支持的计算机称为裸机。操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器。通常把覆盖了软件的机器称为扩充机器或虚拟机。