Not 计算模型 but 资源管理模型!
1.1 操作系统概念
计算机系统分为两部分——硬件、软件
层次结构关系——内核态、用户态权限有差异
Bare machine 裸机:没有任何软件支持的计算机,它仅仅构成了计算机系统的物质基础。
操作系统:是计算机系统中的一个系统软件,它是一些程序模块的集合——
管理和控制计算机系统中的硬件及软件资源
合理地组织计算机工作流程
在计算机与其用户之间起到接口的作用
1.2 操作系统的历史
计算机发展过程:
(按照器件演变)
时间 | 器件时代 | 操作系统 |
1946-50s末 | 电子管时代 | 无操作系统 |
1950s末-60s中 | 晶体管时代 | 批处理系统 |
1960s末-70s中 | 集成电路时代 | 多道程序设计 |
1970s中-90s末 | 大规模和超大规模集成电路时代 | 分时系统 |
21世纪开始 | 移动、分布、网络计算 | 实时系统、通用操作系统、网络操作系统、分布式操作系统等 |
1.2.1 手工操作阶段
硬件器件:电子管
资源占用:一道程序占用全部资源
操作途径:
·程序纸带(或卡片)装上输入机,启动输入机把程序和数据送入计算机;
·通过控制台开关启动程序运行;
·打印机输出计算结果,用户取走并卸下纸带(或卡片)。
·用户取走计算结果后,才允许下一个用户上机。
评价:(缺点)
·用户独占全机,即一台计算机的全部资源由上机用户所独占。
·CPU等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时,CPU及内存等资源是空闲的。
Why被淘汰?计算机速度快,手工操作时间慢。
1.2.2 早期批处理
Batch processing 批处理:为了提高主机的使用效率,将作业分类成批并编成作业执行序列,通过监督程序管理作业的运行,从而完成作业的自动过渡。
Job 作业:计算机操作者交给操作系统的执行单位。
由许多作业步组成,一错就要从头开始。
Monitor 监督程序:管理作业的运行,完成作业间的自动过渡。
批处理分类——*2
联机批处理:慢速的输入输出(I/O)设备和主机直接相连。
用户提交作业:作业程序、数据,用作业控制语言编写的作业说明书。
CPU时间仍有很大的浪费。
脱机批处理:增加一台不与主机直接相连而专门用于与输入输出设备打交道的卫星机(外围机)。
硬件器件:晶体管
资源占用:一道程序占用全部资源,但是可以把作业合成一批输入作业执行序列
提高效率的途径*2:
·配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。
·重要措施是进行批处理,操作员把用户提交的作业分类,把一批中的作业编成一个作业执行序列。每一批作业有专门编制的监督程序自动依次处理。
通道:专用的处理部件,能控制一台或多态输入输出设备工作,负责输入输出设备与主存之间的信息传输。
中断技术:当主机接到外部信号,马上停止原来的工作,转去处理事件,等处理完毕,再到断点继续工作。
Executive system 执行系统:联机操作。主机、通道、输入输出设备并行!
Why被淘汰?单道处理,外围设备和主机的使用效率有关于作业是以输入输出为主还是以计算为主,计算机资源的使用效率不高。
1.2.3 多道程序系统
单道程序系统:批处理系统每次只调用一个用户作业程序进入内存并运行。
缺点:系统资源得不到充分的利用
·程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。
·又因I/O设备的低速性,更使CPU的利用率显著降低。
单道程序 多道程序
多道程序系统:批处理系统,每次调用多个用户作业程序进入内存运行。
运行特点:
·多道:内存中同时存放几道相互独立的程序。
·宏观并行:内存中的程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕。
·微观串行:实际上,各道程序轮流使用CPU,交替执行。
优点: ·资源利用率高:CPU/内存/IO设备 ·系统吞吐量大 | 缺点: ·平均周转时间长 ·无交互能力 |
解决的问题:
处理机争用问题、内存分配和保护问题、I/O设备分配问题、文件的组织和管理问题、作业管理问题、用户与系统的接口问题。
多道批处理操作系统:多道+批处理。
1.2.4 分时操作系统
分时技术:处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业暂时中断,把处理机让给另一作业使用,等待下一轮时再继续其运行。
多用户分时操作系统是当今计算机操作系统中最普遍使用的一类操作系统。
1.2.5 实时操作系统
要求:计算机对外来信息快速处理,并在被控对象允许时间范围内快速响应。
应用:工业过程控制、军事。
1.2.6 通用操作系统
通用操作系统:兼有多道批处理、分时、实时处理功能,或其中两种以上的功能。
通常把实时任务称为前台作业,批作业称为后台作业。同样,分时用户和批处理作业可按前后台方式处理。
UNIX系统:多用户分时交互型的操作系统。
1.3 操作系统的基本类型
分类:(作业处理方式)
·批处理操作系统(batch processing operating system)
·分时操作系统(time sharing operating system)
·实时操作系统(real time operating system)
分类:(使用环境差异)
·个人计算机操作系统(personal computer operating system)
·网络操作系统(network operating system)
·分布式操作系统(distributed operating system)
1.3.1 批处理操作系统
现代操作系统大都具有批处理功能。
主要特征:
·用户脱机无交互
·成批处理
·多道程序运行
1.3.2 分时操作系统
分时系统一般采用时间片轮转的方式,使一台计算机为多个终端用户服务。对每个用户能保证足够快的响应时间,并提供交互会话能力。
分时操作系统特点:
·多用户同时性
·独立性
·交互性
1.3.3 实时操作系统
实时系统主要随着计算机应用于实时控制和实时信息处理领域发展起来。系统必须保证对实时信息的分析和处理的速度比信息进入系统的速度要快,而且系统本身要安全可靠。
实时操作系统特点:
·实时性
·可靠性
实时系统往往具有一定的专用性。与批处理系统、分时系统相比,实时系统资源利用率可能较低。
实时系统需要考虑:实时时钟管理(定时、延时);连续人-机对话;作业过载保护;保证高度可靠性和安全性的冗余措施。
1.3.4 个人操作系统
个人计算机操作系统:联机交互式的单用户操作系统,它提供的联机交互功能与分时系统很相似。
个人计算机对于提供方便友好的用户接口的要求较高。
Eg:Windows系列 & Linux系统为主
1.3.5 网络操作系统
网络操作系统:计算机网络通过通信设施将物理上分散的具有自治功能的多个计算机系统互连起来的系统。
实现:信息交换、资源共享、可互操作和协作处理。
1.3.6 分布式操作系统
分布式系统:通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。
特点:分布性、透明性、统一性、通信性。
分布式 vs 网络:
·计算机网络系统遵循标准的协议,分布式系统没有标准的协议。
·分布式系统要求一个统一的操作系统,实现系统操作的统一性。
·分布式系统对用户透明。但计算机网络共享资源,必须明确指明是哪台计算机。
·分布式系统的基础是网络,是一个物理上松散耦合、逻辑上紧密耦合的系统。
1.4 操作系统
1.4.1 处理机管理
处理机管理:针对多道程序或多用户情况,解决组织多个作业同时运行时面对的处理机分配调度策略、分配实施和资源回收等问题。
CPU:——进程管理
·使用规则·执行
1.4.2 存储管理
存储管理:主要是对存储器进行分配、保护和扩充。
存储=内存+外存:
·分配——保证不冲突
·保护——保证用户程序不破坏系统程序
·扩充——虚拟存储器(结合内存和外存)
1.4.3 设备管理
设备管理:
·通道、控制器、输入输出设备的分配和管理。
发挥设备和主机的并行工作能力,常需要采用虚拟技术和缓冲技术。
·设备独立性。
用户提供一个良好的界面。
1.4.4 信息管理(文件系统管理)
文件系统管理:对系统软件资源的管理。
·共享
·保密
·保护
1.4.5 用户接口
程序级接口:一组广义指令(系统调用、程序请求)供用户程序和其他系统程序调用。当这些程序进行数据传输、文件操作或其他资源要求时,通过这些广义指令向操作系统提出申请,并由操作系统代为完成。
作业级接口:一组控制操作命令(作业控制语言,或像UNIX中的Shell命令语言、Windows里的cmd)供用户组织和控制自己作业的运行。
分类:
·脱机控制作业语言
·联机控制作业语言
1.5 计算机硬件简介
构成计算机的基本硬件:处理器、存储器、输入输出控制与总线、外部设备等。
1.5.1 寄存器
寄存器与操作系统有着非常直接和密切的关系。
用户可编程寄存器:
·数据寄存器:存储内容为操作数、运算结果等信息,对数据进行操作的任何机器指令都被允许访问数据寄存器。
·地址寄存器:存放内存中某个数据或指令的地址,或某段数据与指令的入口地址。
控制与状态寄存器:
·程序计数器PC:PC中的地址或自动加1或由转移指针给出下一条指令的地址。
·指令寄存器IR:临时放置从内存里面取得的程序指令的寄存器,存储内容是正在被运行的指令。
·程序状态字寄存器PSW:体现当前指令执行结果的各种状态信息。
·中断现场保护寄存器:如果系统允许不同类型的中断存在,则会设置一组中断现场保护寄存器,用于保存被中断程序的现场以便链接中断恢复处。
·过程调用堆栈:存放过程调用时的调用名、调用参数、以及返回地址等。
1.5.2 存储器的访问速度
存储介质包括两类:
·可移动存储介质(光盘、磁盘、磁带等)
·硬盘、磁盘缓冲、内存、高速缓存、寄存器等。
存储器与访问速度和存储量关系
1.5.3 指令的执行与中断
中断:处理机暂停正在执行的程序,转去处理相应的紧急事件,待处理完毕后再返回原处继续执行。
中断给操作系统设计带来许多好处:
·实时处理紧急事件成为可能;
·增加处理机的执行效率;
·简化操作系统的程序设计。
保护现场:处理机保存当前执行现场(即各寄存器中的值)并调用新的程序到处理机上执行。
1.6 算法的描述
操作 | 算法描述 |
算法开始和结束 | begin end |
当“条件”未被满足时重复所描述的“操作” | Repeat 操作 … Until 条件 |
当“条件”满足时,进行相应的“操作”;关键词“ do” 和“od”分别表示“操作”的开始和结束 | While 条件 do 操作 … od |
满足“if”所指的“条件”时,进行“then”后的相关“操作”,否则完成“else”后的相关操作;关键词“fi”表示条件判断的结束 | if 条件 then 操作 else 操作 fi |
1.7 研究操作系统的几种观点
·计算机资源管理者——资源情况记录、资源分配策略、资源分配和资源回收
·提供用户交互界面——程序一级和作业一级的两种接口
·进程管理者——动态的执行过程,并发程序的执行
上述这些观点彼此并不矛盾,分别代表了从不同角度看待同一事物(操作系统)的观点。每一种观点都有助于理解、分析和设计操作系统。
1.8 作业补充和解答
多道程序设计和多重处理有何区别?
根据程序写输出?
设计计算机操作系统时与哪些硬件器件有关?