操作系统(2)操作系统概述
1.操作系统的目标和功能
定义:操作系统可以定义为控制用户程序执行,充当用户程序和计算机硬件之间的接口
主要功能:①进程管理 ②内存管理 ③设备管理 ④文件管理
操作系统的目标:①方便:使计算机易于使用 ②有效:提高计算机系统的资源利用率 ③扩展能力:可扩展、兼容、移植新的功能
方便主要能够体现在,OS为用户提供了以下服务
①程序运行:分配内存和空间,调度CPU等
②I/O设备访问:隐藏设备细节,提供统一的API接口
③文件访问控制:按名透明存取,共享/保护文件
④系统访问:共享/保护资源,处理资源竞争时的冲突
⑤错误检测和响应:响应软/硬件错误,终止/重试/报告
⑥记账:收集和监控性能参数、资源利用率等
同时,OS能够提高软硬件资源的利用率,OS控制和决定:各程序的执行时机,能在CPU上运行多长时间,分配多大内存,何时使用I/O设备,对文件的访问等等
1.操作系统在计算机系统中位于 _(C)_之间。A. CPU 和用户 B. CPU 和设备C. 硬件和用户 D. 硬件和软件2. 计算机开机后, OS 被加载到 (D)。A. BIOS B. ROM C. EPROM D. RAM(RAM是内存,如果是软件,都需要被加载到内存中运行)3 、 OS 不应该管理下列哪种资源?(D) 。A. CPU B. 内存 C. 外存 D. 源程序4.操作环境不是操作系统(√)操作系统分为操作环境和操作内核,属于概念混淆
2.简单批处理系统
2.1 简单批处理系统
监控程序(Monitor):为了减少手工操作而导致的CPU空闲,实现程序的自动衔接运行。监控程序使磁带上的一批作业自动、顺序地逐个运行。内存中只有一个作业,故称“单道批处理”。
在批处理系统中,作业的组成是:用户程序,数据,作业说明书
批处理系统的工作方式:脱机输入输出
2.2 多道批处理系统
多道程序设计:由于中断、磁盘、DMA等的引入,使得内存中可以同时存在多个作业,并发执行
并发:多个事件在同一时间间隔内发生
并行:多个事件在同一时刻发生
当正执行的作业需要I/O时,可以让出CPU给内存中的其它作业去运行,以提高资源利用率
多道批处理OS:减少了因CPU与I/O设备串行工作导致的CPU空闲。CPU与I/O设备并行工作,资源利用率高,吞吐率高
周转时间长,用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改
2.3 分时系统
分时OS:把CPU时间分割为时间片,每个用户依次轮流使用时间片
一个例子是多个用户通过终端与主机交互,他们的作业按照时间片轮转运行,作业的响应时间短
分时是为了满足用户交互和及时响应的需求
批处理OS | 分时OS | |
主要目标 | 提高资源利用率 | 减小响应时间 |
OS指令源 | 作业控制语言,作业中的命令 | 终端输入的命令 |
另外,对于实时控制系统和实时信息处理系统,需要专用的实时操作系统
这种操作系统需要严格的时间限制和及时响应
高可靠性:如采用冗余的硬件/软件
兼有几种OS特征的通用OS中的前台和后台处理:前台(实时/分时),后台(批处理)
OS 的主要性能指标有 吞吐率 和 资源利用率如果 一 个 OS 具有很强的交互性,可同时供多个用户使 用,但时间响应不太及时,则属于 分时操作系统 ;如果 OS 可靠,时间响应很及时但仅有简单的交互能力, 则属于 实时操作系统 ;如果 OS 在用户提交作业后,不提供交互能力,它所追 求的是计算机资源的高利用率,大吞吐率和作业流程的自动化,则属于 批处理操作系统 。
2.4 现代操作系统特征
微内核结构
目前,大多数OS是单体内核结构:如Linux
内核kernel是OS的核心,执行进程/内存/设备/文件管理功能。在核心态下执行特权指令,能访问全部设备和内存空间
微内核:如Mach,Apple MacOS
现代OS的趋势,将大部分传统OS内核代码分离出来放在用户层次上,只留一个最小核心运行在核心态
多线程
多线程指的是:将一个线程划分为可以同时运行的多个线程,每个线程并发执行程序的一个模块,可利用多处理器结构
多线程进程适合于执行多个独立的、不需要串行处理的任务,与进程切换相比,线程间的切换开销更小
对称多处理
OS可调度进程或线程到所有的CPU上运行。显然,多个CPU可提高性能和可用性
分布式OS
分布式系统(集群cluster,云):由多个同构或者异构的高性能PC或工作站作为节点,通过高速的互连网络连接
“单计算机系统映像” :分布式OS中的多计算机、资源分配、进程迁移、消息传递等对用户是透明的。用户看到的是一台“虚拟的单处理机”,用户不知道自己的程序在哪一节点上运行或正在访问哪一节点的文件。
2.5 容错性
容错性:发生软件/硬件错误的时候,系统能够继续正常运行的能力。改进容错性可以提高系统的可靠性
可靠性:单位时间内系统正确运行的概率
①平均失效(无故障时间)MTTF:正常运行到下一次系统失效的时间
②平均修复时间MTTR:修复故障所花费的时间
可用性 :系统能够有效服务用户的时间比例。宕机时系统不可用。可用性:MTTF/(MTTF+MTTR)
对于错误,通常有以下方式提高容错性
空间(物理)冗余:多个硬件双工工作
时间冗余:检测到错误时重复执行操作
信息冗余:备份数据或者加入校验信息
实例:
①进程隔离:多个进程访问内存、文件互不影响
②并发控制:进程同步、互斥、死锁
③虚拟机:用虚拟机软件在一个硬件平台上同时运行多个OS
④监测点和回滚:一旦发生致命错误就回滚到上一监测点重新执行