1、1第第4章章 操作系统基础操作系统基础l4.1 操作系统概述操作系统概述 l一一.基本概念基本概念l计算机系统=硬件+软件l硬件:构成计算机系统的物理部件和设备的总称。l软件:程序及文档资料的总称。核心是系统软件;系统软件的核心是操作系统。2操作系统的两大基本职能操作系统的两大基本职能l(1 1)面向机器)面向机器 管理和控制计算机全部资源;管理和控制计算机全部资源;目的:提高系统效率。目的:提高系统效率。l(2 2)面向用户)面向用户 提供人机界面提供人机界面 目的:提供便捷的操作环境目的:提供便捷的操作环境 32.操作系统的五大功能操作系统的五大功能 文件管理文件管理进程管理进程管理存储器
2、管理存储器管理作业管理作业管理设备管理设备管理操作系统操作系统43。操作系统的发展。操作系统的发展l1)早期阶段)早期阶段 无操作系统的裸机无操作系统的裸机l2)第第2阶段阶段-第第1 1代操作系统代操作系统 程序员和操作员有了分工;程序员和操作员有了分工;摆脱手工操作方式,有批处理服务摆脱手工操作方式,有批处理服务l3)第第3阶段阶段-第二代操作系统第二代操作系统新技术的使用:新技术的使用:多道程序,并行处理,通多道程序,并行处理,通道技术、缓冲技术、中断技术等道技术、缓冲技术、中断技术等l4)第)第4阶段阶段-第三代操作系统第三代操作系统 综合资源管理综合资源管理54.常用的常用的OSl(
3、1)MS-DOS(1)MS-DOS 字符界面、字符界面、命令行方式命令行方式l(2)UNIX(2)UNIX 中、小型机的中、小型机的OSOSl(3)WINDOWS(3)WINDOWS 多任务、图形界面的多任务、图形界面的OS OS l(4)WINDOWS NT(4)WINDOWS NT 网络操作系统网络操作系统65.操作系统的分类操作系统的分类1、按处理器特点、按处理器特点 分时分时 分配分配CPU时间片,为多个用户服务时间片,为多个用户服务 实时实时 在较短时间内响应用户要求在较短时间内响应用户要求2、按适用面分、按适用面分:专用专用OS和通用和通用OS 3、按用户数量分:、按用户数量分:单
4、用户和多用户单用户和多用户 4、按任务处理方式分:、按任务处理方式分:交互式交互式 和批处理和批处理 5、按硬件环境和控制方式分:、按硬件环境和控制方式分:集中式和分布式集中式和分布式7二二.CPU.CPU及进程管理及进程管理1、程序的有关概念、程序的有关概念程序 为解决某个问题用程序设计语言 编写的一系列指令的有序集合。程序的顺序执行 一个程序通常分为若干个具有一定独立性的程序段,这些程序段是按逻辑步骤编排的,只有当当前程序段执行完成后,才将控制权转交到下一个程序段。8程序顺序执行举例一程序顺序执行举例一设有一个程序有三个程序段,分别执行 I(输入)、C(计算)和P(输出)操作。执行顺序为:
5、I C P 逻辑顺序不能随意改变。结果结果 数据数据9 程序顺序执行举例二程序顺序执行举例二 假设有n个作业,每个作业都由三个程序段:输入段Ii、计算段Ci、输出段Pi。在早期单道程序系统中,作业执行流为:作业1 I1 C1 P1 作业2 I2 C2 P2 作业n In Cn Pn作作业业执执行行顺顺序序10(1)单道程序处理)单道程序处理l一次只处理一个程序,该程序独享系统资源。l特性 1、顺序性 按规定的顺序执行。2、封闭性 程序在执行过程中独享系统资源,不受外界因素的干扰和影响。3、可再现性 只要初始条件相同,无论以何种方式、速度、重复执行多少次,结果是相同的。11(2)多道程序处理)多
6、道程序处理l同时将多个程序装入内存并同时处理。l特点:并发性并发性l设有三个程序,它们的执行步骤和顺序相同,都是输入Ii、计算Ci、输出Pi。1)当第1个程序的输入操作I1执行完、执行C1时,输入空闲,这时可执行第2个程序的输入I2;时间上,操作C1和I2重叠。2)当C1执行完、执行P1时,处理机空闲,若这时I2已完成,就可以执行C2,与此同时,输入机又空闲,可以执行第3个程序的I3。这样,P1、C2和I3重叠。12 程序并发执行举例程序并发执行举例程序1:I1 C1 P1程序2:I2 C2 P2程序3:I3 C3 P3 图中,C1和I2、P1、C2和I3、P2和C3在时间上都是重叠的。Tt1
7、t3t213单道和多道程序处理的区别单道和多道程序处理的区别l单道:各逻辑步骤之间的关系是确定的、不受外界影响。l多道:并发处理存在直接或间接的相互依赖和相互制约的关系,从而使被处理的多道程序失去了程序固有的特性:封闭性、可再现性。142 2、进程的概念、进程的概念处理机管理 主要完成作业调度,进程调度和进程控制,实质是进程管理。进程的几种不同定义 进程是程序的一次执行;进程是一个程序在给定活动空间和初始环境下,在一个处理机上的执行过程;进程是程序在一个数据集合上运行的过程。进程的生命周期 由“创建创建”而产生,由“调度调度”而执行,因得不到资源而“暂停暂停”执行,最后由“撤撤消消”而消亡15
8、进程的性质进程的性质1)动态性)动态性 描述程序在执行过程中的全部活动;2)并发性)并发性 同时接受和处理多个进程;3)异步性)异步性 不同进程在逻辑上相互独立,有各自的运行“轨迹”;4)制约性)制约性 由于计算机资源是有限的,不同进程共享CPU和I/O通道及设备,因此相互制约16进程的状态进程的状态l1)三种基本状态就绪就绪 已经获得投入运行所必需的一切资源,一旦分配到CPU,就可以立即执行。运行运行 进程获得了CPU及其它一切所需资源,处在运行之中的状态。等待等待 由于资源得不到满足,进程运行受阻,处于暂停状态,也称为阻塞状态。l2)进程在生命周期中,不断在这三种状态之间进行转换。17进程
9、状态转换示意图进程状态转换示意图 运行状态运行状态等待状态等待状态 就绪状态就绪状态 进程调度进程调度 等待资源等待资源时间用完时间用完获得资源获得资源 进程调度进程调度 程序程序 来自作业来自作业 调度调度 交作业交作业 管理管理183、进程管理、进程管理l进程管理的核心是进程的控制控制和调度调度。l进程控制进程控制l 对系统中全部进程实行有效的管理;对系统中全部进程实行有效的管理;如创建新进程、撤消已结束进程。如创建新进程、撤消已结束进程。l进程调度进程调度l 在就绪队列中选择哪个进程投入运行。在就绪队列中选择哪个进程投入运行。194。进程控制块。进程控制块PCBl进程的组成进程的组成 程
10、序+数据集合+PCBlPCBl系统为创建的新进程建立一个PCBl进程的唯一标识l记录该进程的运行变化过程 l系统通过PCB对进程进行控制和管理。lPCB的组成的组成 1)进程标识符 2)进程现行状态、3)中断现场保护区 4)进程使用资源表 5)进程优先级 6)进程家族信息20PCB的组织形式的组织形式PCB是定长记录,在队列中采用两种组织方式。(1)线性表结构 1、简单、易实现、简单、易实现 2、插入、删除操作费时、插入、删除操作费时(2)链表结构 1、插入、删除操作简单、插入、删除操作简单 2、需要额外的存储空间,实现较复杂、需要额外的存储空间,实现较复杂 21PCB线性表结构线性表结构 P
11、CB1PCB2PCB3PCB4PCBiPCBi+1PCBi+2 就绪表就绪表 等待表等待表 就绪表就绪表起始地址起始地址等待表等待表起始地址起始地址22PCB链表结构链表结构 运行队列运行队列 就绪队列就绪队列 等待队列等待队列PCBPCBPCBPCBPCBPCBPCB235.进程调度的任务及功能进程调度的任务及功能l进程调度任务 按一定的算法,动态地将处理机分配给就绪队列中的某个进程,使之执行。l进程调度功能 记录系统中所有进程的状态、优先数和所用资源的情况。当CPU空闲时,按一定的算法将CPU分配给某一进程、并确定CPU时间片的长度。动态地调度进程、修改进程的状态、以及修改相应的排队队列。
12、24进程调度方式进程调度方式剥夺方式 当“重要“或”系统“的进程出现时,暂停正在执行的进程,立即将CPU分配给“重要”或”系统“的进程。非剥夺方式 让正在执行的进程继续执行,直到该进程完成或发生其它事件,而改变为其它状态后,才移交CPU控制权。25进程调度算法进程调度算法l调度算法的原则 1、较少CPU空闲时间,提高资源利用率;2、对一般作业采用较合理的平均响应时间;3、应避免有的作业长期得不到响应的情况。l常用的算法l 优先数法,时间片轮流法,分级调度法.l确定优先数的方法l 静态优先和动态优先26静态与动态优先数法静态与动态优先数法静态优先数法在系统创建进程时确定的,确定后在进程运行期间不
13、再改变。动态优先数法 进程优先数在进程运行中,随进程特性的变化不断修改。DOS是单用户、单任务,进程独享系统资源,不需要复杂的调度管理和算法。27UNIX的进程管理的进程管理 UNIX是多用户、多任务的是多用户、多任务的OS。它将进程。它将进程状态细分为六种。状态细分为六种。运行状态运行状态1暂停状态暂停状态运行状态运行状态2终止状态终止状态睡眠状态睡眠状态高优先高优先 低优先低优先等待等待状态状态唤醒唤醒就绪就绪状态状态选中选中落选落选撤消撤消挂起挂起置运行置运行跟踪跟踪28WINDOWS98的进程管理的进程管理l1)进程和线程相结合进程和线程相结合:每个进程至少包括一个每个进程至少包括一个
14、线程,在执行时给每个线程分配时间片。线程,在执行时给每个线程分配时间片。l2)多任务多任务OS,采用,采用抢占式抢占式的调度算法来实现的调度算法来实现多任务操作。多任务操作。l3)两种调度程序两种调度程序l 主调度程序:选择最高优先级的线程运行l 时间片调度程序 依据线程的处理顺序及虚拟机的当前状态,分配一个时间片给被选线程,并执行。29三、内存管理三、内存管理v内存地址空间内存地址空间:物理地址空间物理地址空间v不同系统下的寻址能力不同系统下的寻址能力:v 系统 地址线 寻址能力v8086/8088 20 220=1Mv 80286 24 16M v80386及以后 32 4G内存的分区内存
15、的分区;OS区和用户程序区。区和用户程序区。301.内存管理的主要功能内存管理的主要功能存储分配和释放存储分配和释放 对用户程序区存储空间的扩充存储空间的扩充 用于所需存储空间大于可用主存容量,采用自动覆盖和虚拟存储l l地址变换地址变换 程序语言的符号地址空间(逻辑地址)到物理地址的转换,也称为重定位。存储保护存储保护 多道程序系统中,系统进程和用户进程间、用户和用户进程间的存储空间的保护,依靠硬件实现。31存储管理方法存储管理方法 单一连续区分配法单一连续区分配法 多连续区分配法多连续区分配法 页式管理页式管理 段式管理段式管理322.单一连续区分配法单一连续区分配法分配方式分配方式 1)
16、静态分配静态分配 在作业装入前,一次性将逻辑地在作业装入前,一次性将逻辑地址全部转换为绝对地址址全部转换为绝对地址,执行过程中不再改变。执行过程中不再改变。l 特点特点:要求分配连续空间要求分配连续空间2)动态分配动态分配 在执行过程中,动态实现。在执行过程中,动态实现。l通过硬件的地址变换机构实现33单一连续区分配法示意图单一连续区分配法示意图 已分配空间已分配空间OS区域区域用户用户区域区域自由空间自由空间 特点:特点:定位容易,使用简单定位容易,使用简单 但在多道程序处理但在多道程序处理 情况下,主存资源情况下,主存资源 利用率低利用率低34单一连续区分配法示意图单一连续区分配法示意图
17、基地址基地址=2000CPU+操作系统操作系统 自由空间自由空间用用户户区区域域主存空间主存空间定位寄存器定位寄存器逻辑地址逻辑地址=1500 2000 3500绝对地址绝对地址绝对地址绝对地址=基地址基地址+逻辑地址逻辑地址353.多连续区分配法多连续区分配法l概念概念 把主存空间划分为若干个连续的区域,每个区域运行一个程序。l硬件支持硬件支持 增加边界寄存器LOW、UP,确定分块的上、下边界。l方法方法 固定分区和变长分区36固定分区(多连续分区)固定分区(多连续分区)l1)主存划分为几个固定大小的连续区域;l2)建立分配表,记录每个分区的大小、区号、起始地址、及占用标志等信息。l3)作业
18、调度时,根据作业表来确定程序的重定位地址。37固定分区示意图固定分区示意图 区号区号长度长度 起址起址状态状态1 8K 20K 已分已分2 14K 30K 已分已分3 28K 50K 已分已分4 76K 80K 未分未分分分 区区 表表操作系统操作系统作业作业A作业作业B作业作业C第第1分区分区第第2分区分区第第3分区分区未分区20K30K50k80K主存主存“碎片碎片”38固定分区法特点固定分区法特点l优点:管理调度简单、分区策略适合于工作负荷比较确定的系统。l 缺点:主存”碎片”太多。39变长分区(多连续分区变长分区(多连续分区l概念l 根据要装入作业的实际大小划分区域,且分区个数也可以调
19、整;用两张表管理主存:已分配分区表P和未分配分区表F。l优点:主存“碎片”较小;l缺点:1)选择剩下的空白区较小,无法使用;2)寻找一个较大的空白区费时 3)需归并主存“碎片”,移动信息40多连续区分配法示意图多连续区分配法示意图 已分配已分配分区表分区表P未分配分未分配分区表区表 F区号区号 长度长度 起始地址起始地址 状态状态 1 8K 20K 已分已分 2 16K 28K 已分已分 3 -空表目空表目 4 124K 108K 已分已分区号区号 长度长度 起始地址起始地址 状态状态 1 64K 44K 可用可用 2 24K 232K 可用可用 3 -空表目空表目 4 5 操作系统 作业作业
20、1 作业作业220K28K 5 44K 可用分区1108K 操作系统操作系统 可用分区可用分区1 作业作业3 可用分区可用分区2232K414.分页管理分页管理页 作业地址空间划分的等长单位块 主存空间划分的等长的单位页表 地址重定位表,记录页号与该页在主存中的块号的对应关系。分页管理 作业中的逻辑地址通过动态地址转换机制 转换为物理地址:页号,页内地址页号,页内地址 块号,块内地址块号,块内地址 特点:可以将作业分配在不连续的物理空间。42分页管理法示意图分页管理法示意图 作业号作业号 页表长页表长 页表起址页表起址 状态状态 2 3 1032 已分已分 1 3 1024 已分已分 3 2
21、1040 已分已分 4 空表目空表目 作业表作业表JT作业作业A作业作业B作业作业C页号页号 块号块号页号页号 块号块号页号页号 块号块号0 4 1 5 2 60 71 100 2 1 3 2 8 43动态地址变换示意图动态地址变换示意图 控制寄存器控制寄存器 作业地址空间作业地址空间 作业页表作业页表1 2 3 4LOAD 1,2500页表长度 页表始址有效地址有效地址 2 452页号 块号0 41 62 8 8 452页号页号逻辑地址=21024+452=2500 1 100 1K 2K 2500 3K物理地址=81024+452=8644 块大小=1024 页大小=1024 445.分段
22、管理分段管理l段 将程序划分为相互独立、具有一定逻辑功能的模块、且分别按名单独存放,这些模块称为段。l段内地址(逻辑地址)由段号和段内偏移量确定l段表 系统为每个作业建立的表格,一个表项由段号、段长度、段起始地址组成。45分段管理示意图分段管理示意图6 0 1K 0100500 0300 0200LOAD 1,1|100 Y:12345C:0段段1段段2段段3段段段号长度段号长度 起始地址起始地址 0 1K 6K 1 500 8K 2 300 4K 3 200 9200分段地址空间分段地址空间分段表分段表OSDATALOAD1,1|100主程序主程序SUBWORK12345主存空间主存空间46
23、分段管理特点分段管理特点优点:l 便于模块化处理l 便于动态连接l 便于分段共享缺点:l 硬件成本高l 地址转换花费时间兼有段式和页式优点可形成段页式存储管理476.常用常用 OS的内存管理的内存管理l(1)DOSl采用单一连续分区的方法,但却采用单一连续分区的方法,但却综合运用了多连续分区的管理技综合运用了多连续分区的管理技术。术。l(2)UNIXl采用分段管理方法,存储分配采采用分段管理方法,存储分配采用优先适应算法用优先适应算法48(3)Windows 98存储器管理存储器管理l 1)支持常规内存、扩展内存和扩充内存和虚拟内存管理(VM)。2)VM是是通过硬盘来完成与物理内存相关的功能;3)寻址4GB空间;4)虚拟内存管理的实现:换页进程:物理内存和硬盘之间移动数据 地址转换进程,将物理地址翻译成虚拟内存地址或映射文件