操作系统的定义与作用
操作系统是计算机中一个系统软件,操作系统尽量以有效合理的方式组织管理计算机硬件与软件资源,并合理地组织调度计算机的工作和资源的分配。使得用户能够灵活、方便地使用计算机,使计算机高效率运行。
从操作系统作为资源管理者的角度,操作系统用来管理一个复杂系统的各个部分,包括硬件资源如CPU、内存、I/O设备、磁盘、时钟、网络卡等,软件资源如磁盘文件等。资源管理包括实现资源的多路复用(时间上复用、空间上复用)。
操作系统在管理资源时,需要解决以下问题:
- 资源使用状况记录
- 资源分配策略
- 资源分配与回收
- 提高资源利用率
- 保护资源的使用
- 协调多个进程对资源请求的冲突
从资源的管理角度,操作系统主要需要实现以下功能:
- 进程/线程管理:进程线程状态、控制、同步互斥、通信、调度
- 存储管理:内存分配回收、地址转换、存储保护、内存扩充
- 文件管理:文件目录、文件操作、磁盘空间、文件存取控制
- 设备管理:设备驱动、分配回收、缓冲技术
- 用户接口:系统命令、编程接口
操作系统的三个作用:
- 资源的管理者:有效管理资源
- 向用户提供服务:方便用户使用
- 对硬件机器的扩展:屏蔽硬件细节
操作系统的特征
操作系统是一种系统软件,系统软件和哟应用软件存在很大的不同,其主要有如下四大基本特征:
并发
指具有在同一时间间隔内具有处理多个事件或者活动的能力,并发是一个宏观上的概念,在微观中,任何时刻只有一个程序正在执行。并发与并行不同的是,并行是指不同程序同时在多个CPU上执行,并发是一种伪并行。
共享
操作系统与多个程序共同使用计算机有限的的资源,同时操作系统需要实现合理的分配使得资源可被不同的进程轮流使用。共享可分为两种:互斥共享和同时共享,互斥共享指资源使用是独占排他的,而同时共享则是进程可以同时使用,比如可重入代码、只读数据等。
虚拟
虚拟是指操作系统通过分时复用或分空间复用将一个物理实体映射为多个对应的逻辑实体,虚拟是操作系统管理资源的重要手段,可提高资源利用率。
随机(异步)
由于多个进程之间的竞争制约关系,每个进程的运行速度是不预知的,而且系统某时刻的状态难以重现,因此操作系统必须能够应对随机事件。
操作系统分类
批处理操作系统
工作方式:
1. 用户将作业交给系统操作员
2. 系统操作员将用户作业组成一批作业,输入到计算机系统中,在系统中形成一个自动转接的连续的作业流
3. 启动操作系统
4. 系统自动、依次执行每个作业
5. 由操作员将作业结果交给用户
目标:
1. 提高资源利用率,增加作业处理吞吐量
存在的问题:
1. 慢速的输入输出由主机完成,此时CPU处于空闲状态。(解决:采用卫星机完成面向用户的输入输出,中间结果暂在磁带或者磁盘上)
分类:
1. 单道批处理:一次处理一个作业,处理结束后再选择下一个
2. 多道批处理:一次选择多个作业处理
实现技术
1. SPOOLING系统:全称(Simultaneous Peripheral Operation One-Line),同事的外围设备联机操作,又称假脱机技术。
分时系统
工作方式:
1. 一台主机连接多个终端
2. 终端输入命令,主机处理命令并把结果发送到终端上
目标:
1. 同时为多个用户提供服务
2. 提高响应速度
实现技术:
1. 时间片:把CPU的时间划分成若干个片段,轮流为终端用户服务
实时操作系统
目标
1. 计算机能够及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理并控制所有实时设备和任务协调一致运行
2. 高可靠性
分类:
1. 第一类,实时过程控制:工业控制、航空、军事控制
2. 第二类:实时通信处理:银行、订票系统、股市系统
3. 硬实时系统:动作决定要在规定时间内完成
4. 软实时系统:接受偶尔违反最终时限
个人计算机操作系统
目标:
1. 界面友好,使用方便
2. 丰富的应用软件
3. 某一时间为单用户服务
网络操作系统
目标:
1. 相互通信,资源共享
2. 按照网络体系结构协议标准开发,完成网络管理、通信、安全
分布式操作系统
目标
1. 以计算机网络或多处理机为基础,允许若干个计算机相互协作共同完成一项任务
嵌入式操作系统
目标
1. 以各种硬件设备为参照,完成特定功能
2. 对管理的资源进行统一的协调、调度、指挥和控制。