您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第三讲作业管理和存储管理
第二部分操作系统1.处理机管理2.作业管理3.存储管理4.设备管理5.文件管理6.习题作业的概念作业的概念–一个作业就是用户请求计算机系统执行的一次独立的上机任务,是能共享公用资源区域的一族有关进程(进程家族)–作业步:完成作业的每个步骤,进程执行的结果–作业流:批处理系统中的一批作业作业控制块–一个作业由作业控制块JCB(JobControlBlock)来描述–JCB是记录类型的数据结构,用于记录作业的有关信息,包括:作业名、优先级、作业建立时间、作业状态等JCB和作业之间具有一一对应的关系作业状态及其转换作业状态–进入状态–后备状态–运行状态–完成状态作业状态及其转换过程作业和进程作业和进程的区别和联系–进程是计算机系统的基本工作单位,而作业则是用户请求系统服务的最大单位。–与进程一样,作业也有从提交到完成的生命期。–作业管理就是对其生命历程进行宏观控制,具体任务是对作业的控制和调度;进程管理是通过原语实现,对用户是不透明的。作业管理方式联机控制方式——分时系统一般采用–命令驱动方式–菜单驱动方式–窗口环境脱机控制方式——批处理系统一般采用–JCL作业调度作业从提交到执行需经过多级调度,进程调度是CPU的低级调度,作业调度是高级调度(宏调度),关键是调度算法。作业调度功能:按照某种调度算法,从作业后备队伍中挑选一批合理搭配的任务,实现作业从后备状态到运行状态,同时分配相关系统资源,建立相关进程。作业结束,回收资源。作业调度算法三个基本目标:尽量提高系统作业的吞吐量;尽量使CPU和外设处于“忙”状态;对所有作业的服务公平合理。作业调度算法–先来先服务算法(FCFS)–最高优先级算法(HPS)–最短作业优先算法(SF)–最高响应时间算法(HRN)–资源搭配法第二部分操作系统1.处理机管理2.作业管理3.存储管理4.设备管理5.文件管理6.习题3存储管理3.1存储管理的功能3.2分区存储管理3.3虚拟存储器管理3.1存储管理的功能存储管理的目的是尽可能方便用户和提高主存储器的效率。存储管理有以下几方面的功能:–内存分配和回收–内存空间的共享–存储保护–地址映射–内存空间的扩充(虚拟存储)内存分配和回收内存空间分配是多道程序共享的基础,当作业或进程要求使用内存资源时,系统根据内存资源的当前状态,按照分配策略,为申请者分配足够的空闲区域,若无法满足申请者的要求,则让其处于等待内存资源的状态,直到有足够的内存空间时再分配给它。内存分配和回收内存分配的功能涉及到以下问题:–管理内存分配表(分配情况、空闲情况、其他)–制定分配策略:放置策略(选择空闲区域的原则)、调入策略(请调和预调)、淘汰策略)–内存区域的划分方式(大小不等和大小相等的块)当作业或进程因完成或阻塞而主动或被动地释放内存资源时,存储管理应执行一系列操作回收所释放的内存空间,使它们成为有可供分配的空闲区域。内存空间的共享共享主存资源–多道程序系统中,若干个程序同时进入内存,各自占有一定数量的存储空间,实现多道程序的并发执行。共享内存的某些区域的信息–将若干公用的子程序、编译程序及数据等放在某个内存区域中,各道程序在执行时都可以访问。存储保护在内存中不仅存放有操作系统本身的程序和应用程序,还有用户作业的程序。为了避免内存中的程序相互干扰,必须对内存中各程序、数据或信息区进行保护。存储保护通过软件和硬件配合实现。包括:越界保护、存取控制保护。地址映射地址空间与存储空间–相对地址即首地址为零,其他指令中的地址都是相对首地址而定。–目标程序所限定的逻辑地址的总体称为地址空间或逻辑空间。–逻辑空间不是实际的物理存储空间,逻辑地址也不是内存中的物理地址,在内存中不能用存取信息,只有物理地址才是内存中逻辑地址存储单元的实际地址,是可识别的。–物理地址的全体称为存储空间或实地址空间。地址映射地址映射–在多道程序系统中程序装入内存前通常为逻辑地址,为保证程序的执行,操作系统需要为它分配一个合适的存储空间,并将程序执行时要访问的地址空间中的逻辑地址转换成内存空间中相应的物理地址。–这种地址的变换过程称为地址映射或重定位。地址映射重定位可以分为两种:–静态重定位——也称静态地址映射,是在用户程序运行前,在程序装入内存的过程中一次完成从逻辑地址到物理地址的转换,且在程序运行过程中地址不再改变。–动态重定位——也称动态地址映射,动态重定位的时间发生在程序执行过程中,在访问指令或数据时,才进行地址变换,把逻辑地址转换为物理地址。见图2.23地址映射静态重定位是在程序运行之前由编译、连接、装配程序一次完成。地址映射方法是将程序中的所有逻辑地址,包括指令本身地址和操作数的地址逐个变换成物理地址。一般地,静态重定位由连接装配程序完成;动态重定位由硬件提供的地址映射机构再加上软件的配合来实现。内存空间的扩充——虚拟存储内存、外存各自的特点内外存的结合——虚拟存储器基本思想——把当前正在使用的部分保留在内存中,其他暂时不用的部分放在外存,运行时根据需要由操作系统把保存在外存的部分调入内存虚存——逻辑上的概念;容量只与CPU的地址结构有关以时间换取空间3存储管理3.1存储管理的功能3.2分区存储管理3.3虚拟存储器管理3.2分区存储管理分区存储管理是实现多道程序的内存储器管理最简单的存储管理方案。基本思想是:–把内存划分为若干个大小不等的连续区域–每个作业可占有一个或多个分区–按照不同的内存分配方式,又分为:固定分区可变分区固定分区(FixedPartitions)固定分区法是将内存区划分为若干个大小相等或不等的区域。分区划分的原则一般由系统操作员或操作系统确定。系统设置一张内存分配表(见图2.24),记录每个分区的区号、起始地址、大小及占用情况。当作业申请内存资源时,系统为该作业选择一个或多个大小适当的分区,并将其装入内存运行。固定分区(FixedPartitions)固定分配的内存划分和占用情况及对应的内存分配表如图所示:区号分区长度起始地址状态18K20K已分配232K28K已分配3132K124K未分配操作系统进程A1区空闲区进程B2区空闲区020K28K60K1区2区内存分配表内存状态固定分区(FixedPartitions)优点:–分区方法简单、可靠。缺点:–由于固定分区的大小是预先确定的,当用户作业的地址空间小于分区大小时,会产生许多不可使用的存储碎片,即“内零头”,造成存储区间的浪费。可变分区(VariablePartitions)为了克服固定分区造成的存储空间的浪费,引入了可变分区存储管理方式。在存储分配的过程中按作业的大小来划分分区,使分区大小可以随作业对内存的要求而改变。分区的个数也可改变。这就改变了固定分区中那种即使是小作业也可能占据大分区的情况,从而提高了内存的利用率。内存分配表–已分配分区表–未分配分区表数据结构–存储控制块MCB(MemoryControlBlock)(区号、起始地址、长度、状态)–分配区控制块AMCB(AllocationMCB)–空闲区控制块FMCB(FreeMCB)可变分区(VariablePartitions)当作业申请分配大小为X(K)的存储空间时,系统在未分配分区表中查看内存是否有足够的空闲区域。若空闲区比需要的大,则将其分为两部分,并修改两个分配表的信息。–一部分等于作业所需空间大小–一部分则为空闲区当回收一个被作业释放的分区时,要将其与邻接的空闲区合并为一个大的空闲区(见图2.25)。优点:提高了存储空间的利用率。缺点:也会产生一些不能利用的小空闲区(外零头)。解决办法:拼接、紧缩分区存储管理的分配策略首次适应算法FF(FirstFit)–每次分配时按地址大小从小到大顺序查找分区分配表,选择所遇到的第一个足以满足请求容量的内存空闲区进行分配。最佳适应算法BF(BestFit)–每次分配时按空间大小从小到大顺序查找分区分配表,找到第一个能满足要求的最小空闲区进行分配。最坏适应算法WF(WorstFit)–每次分配时按空间大小从大到小顺序查找空闲区分配表,每次分配时总是挑选一个最大的空闲区进行分配,这样该区的剩余空间可能用来装入新的信息。3存储管理3.1存储管理的功能3.2分区存储管理3.3虚拟存储器管理3.3虚拟存储器管理虚拟存储管理是用大容量的外存来扩充内存,利用虚拟技术为用户提供一个比有效的实际空间大得多的虚拟内存空间。解决分区存储管理的两大问题:–用户编程的地址空间(逻辑地址空间)不能超过实际的内存空间,无法运行很大的应用程序。–存储碎片造成内存空间利用率低,消除代价高。虚拟存储器管理的技术思想部分装入–大型作业运行时,不是将它的全部信息装入内存,而是将其一部分先装入内存,另一部分暂时存放在外存(磁盘)上,在作业运行过程中,根据需要动态地装入。部分交换–当内存已占满而又需将外存上的信息装入时,则按照一定的策略进行内外存的交换。虚拟存储器管理的具体实现3.3.1分页存储管理3.3.2分段存储管理3.3.3段页式存储管理3.3.1分页存储管理页式存储管理通常是由页表实现逻辑地址到物理地址的转换,其基本思想是:–将每个进程的虚拟地址空间按固定大小分成若干个相等的页面,并用0、1、2、···序号表示,叫做虚页面。–把内存空间也按同样大小分为若干个相等的页面,也用0、1、2、···序号表示,叫做实页面。–在对进程进行存储分配时,将进程的虚页面映射到内存的实页面上,这些实页面可以是不连续的。–用户程序的虚页数可以大大超过内存的总页数,正在使用的虚页面在内存中,暂时不用的页则放在磁盘中。分页式管理技术通过地址转换机制,能明显消除内、外存之间的差别,将外存看作内存的扩充和延伸,并能很好解决“外零头”的问题。分页存储管理的具体内容页面地址转换缺页中断处理页面淘汰算法(1)页面地址转换在分页式管理系统中,作业装入时,以页为单位分配存储块。要实现作业的逻辑地址转换为实际内存地址,需建立以下数据结构:–存储分块表MBT(MemoryBlockTable)–页表PT(PageTable)–作业表JT(JobTable)页面地址转换——存储分块表MBT表中记录内存中每个存储块的使用情况:–状态是指存储块是否空闲–整个系统一张表–表目数等于内存块的总数块号作业号状态012··NOSJ1J1··JK忙忙忙··闲存储分块表MBT页面地址转换——页表PT每个用户的作业都有一张页表每个表项的内容包括–页号–标志——0表示该页面不在内存1表示该页面在内存–块号——表示该页面所对应的存储块页号标志···块号0123···m1101···1··················21-8···17页表PT页面地址转换——作业表JT整个系统设置一张作业表,每个作业为一个表项。记录该作业的页表在内存中的:–起始地址–大小–状态作业号作业大小页面地址状态J1J2···1618···1024······已占用······作业表JT(1)页面地址转换逻辑地址映射到物理地址的过程如下:–当作业被调度时,系统从作业表(JT)中查找相应页表的起始地址及大小,并装入页表控制寄存器(PTCR)。–按页表起始地址查找页表(PT),首先将当前访问的逻辑地址的页号与页表寄存器中当前页表的大小比较,确定访问合法性若页号超过页表大小则为非法访问若访问合法则从相应页描述中找到响应块号–将块号与逻辑地址中页内地址相拼接,即将页内地址作为块内地址,形成物理地址(1)页面地址转换页式存储管理的地址转换机制(2)缺页中断处理在地址转换过程中,若当前访问页的标志位为0,即该页不在内存,则产生缺页中断。此时用户作业暂停执行,CPU转去执行缺页中断处理程序,该程序的功能是把所需的页面从外存调入内存,并把实际块号填入页表,将标志位改为1,然后继续执行被中断的程序。若内存中无空闲块时,则按照某种页面淘汰算法选择一页面换出内存,再从外存调入所需页面
本文标题:第三讲作业管理和存储管理
链接地址:https://www.777doc.com/doc-1383684 .html