操作系统心得范文.doc_第1页
操作系统心得范文.doc_第2页
操作系统心得范文.doc_第3页
操作系统心得范文.doc_第4页
操作系统心得范文.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统心得范文 操作系统心得2.进程管理顺序程序设计的特点:1.执行的顺序性。 2.环境的封闭性。 3.计算过程的可再现性。 顺序程序设计的顺序性、封闭性和再现性给程序的编制、调试带来很大方便,其缺点是计算机系统效率不高。 并发性程序之间顺序性程序之内采用并发程序设计的目的是充分发挥硬件的并行性,消除处理器和I/O设备的互等现象,提高系统效率。 机器部件能并行工作仅仅有了提高效率的可能性,而机器部件并行工作的实现还需要软件技术去利用和发挥,这种软件技术就是并发程序设计。 程序的并发执行的特征间断性程序在并发执行时,由于共享资源,或者需要相互合作,致使相互间产生了制约关系,呈“走走停停”的间断执行特征。 失去封闭性程序并发执行时的系统环境(主要指各程序所共享的系统资源的状态)是由多个程序来改变的,因而失去了封闭性。 不可再现性程序在并发执行时的结果与其执行速度等有关,从而不可再现。 进程的特征动态性进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。 并发性任何进程都可以同其他进程一起并发执行独立性进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;异步性由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进结构特征进程由程序、数据和进程控制块三部分组成。 信号量机制解决读者写着问题:Var RNinteger;L,mx:semaphore:=RN,1;读者Readers:begin repeat Swait(L,1,1);Swait(mx,1,0);执行读操作;Ssignal(L,1);until false;end*写者Writers beginrepeatSwait(mx,1,1;L,RN,0);执行写操作;Ssingal(mx,1);until false;end进程通信:1.共享存储设备通信机制2.管道通信机制3.消息传递机制3.1直接通信机制3.2间接通信机制3.线程的特点是进程的一个实体,可作为系统独立调度和分派的基本单位。 不拥有系统资源(只拥有从属进程的全部资源,资源是分配给进程)一个进程中的多个线程可并发执行。 (进程可创建线程执行同一程序的不同部分)系统开销小、切换快。 (进程的多个线程都在进程的地址空间活动)3.处理机调度与死锁1.什么是作业是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。 2.1高级调度:又称为作业调度或长程调度,主要功能是根据某种算法,把外存上处于后备对列中的那些作业调入内存,调度的对象是作业。 2.2中级调度:又称中程调度(Medium-Term Scheduling)。 引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量2.3低级调度:称为进程调度或短程调度,它所调度的对象是进程。 3.优先权调度算法的类型非抢占式优先权算法:用于某些对实时性要求不严的实时系统中。 抢占式优先权调度算法:用于要求比较严格的实时系统中,以及对性能要求较高的批处理和分时系统中。 4.先来先服务和短作业(进程)优先调度算法1.先来先服务调度算法(FCFS)2.短作业(进程)优先调度算法(SJF)SJ(P)F调度算法也存在不容忽视的缺点 (1)该算法对长作业不利 (2)该算法完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理。 (3)由于作业(进程)的长短只是根据用户所提供的估计执行时间而定的,而用户又可能会有意或无意地缩短其作业的估计运行时间,致使该算法不一定能真正做到短作业优先调度。 5.高优先权优先调度算法1.高响应比优先调度算法(HRRN)该算法,就是每调度一个作业投入运行时,计算后备作业表中每个作业的响应比,将响应比作为优先权,然后挑选响应比最高的作业投入运行,该方法属于动态优先权。 2.抢占式段作业优先调度算法比较新进入就绪队列的进程的运行时间和正在运行进程的剩余时间,如果小则终止当前进程的执行,调度新作业执行,也称为最短剩余时间优先级调度(SRTF)。 6.基于时间片的轮转调度算法(RR)1.时间片轮转法7.关于死锁的一些重要结论 (1)参与死锁的进程数至少为2 (2)参与死锁的所有进程均等待资源 (3)参与死锁的进程至少有两个占有资源 (4)参与死锁的进程是系统中当前正在运行进程的一部分8.死锁的解除通过抢占资源实现恢复和通过杀掉进程解除死锁。 8.1通过抢占资源实现恢复即临时性地把资源从当前占有它的进程那里拿过来,分给另外某些进程,直至死锁环路被打破。 8.2通过杀掉进程实现恢复终止所有的死锁进程。 一次终止一个进程,直至消除死锁环路。 *例3.(xx,国防科大)假设系统有n个进程共享m个相同的资源,每个进程至少请求一个资源。 证明当n个进程最多需要的资源数之和小于m+n时,该系统不会死锁。 证明设每个进程的最大需求量为Maxi、需要资源数为Needi、已分配资源数为Allocationi,根据题意,则有以下式子成立Max1+Max2+Maxn (1)假设系统会发生死锁,即系统的资源已分配完毕,因而下式成立Allocation1+Allocation2+.+Allocationn=m (2)又因为Maxi=Allocationi+Needi (3)由 (1)、 (2)、 (3)式可得Max1+.+Maxn 既然该进程已获得了他所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明了在这个系统中不会发生死锁。 4.存储器管理1.存储管理的功能1.1内存由很大的一组字或字节所组成,每个字或字节都有它们自己的编号,称为内存地址。 1.2对内存的访问是通过一系列对指定地址单元进行读写来实现的。 1.3内存的每个存储单元都有一个编号,这种编号称为内存地址(或称为物理地址,绝对地址)。 内存地址的集合称为内存空间(或物理地址空间)。 1.4我们把用户程序装入内存时对有关指令的地址部分的修改定义为从程序地址到内存地址的地址映射,或称为地址重定位。 1.4.1地址映射的方式 1、静态地址重定位1.1程序被装入内存时由操作系统的连接装入程序完成程序的逻辑地址到内存地址的转换。 1.2假定程序装入内存的首地址为BR,程序地址为VR,内存地址为MR,则地址映射按下式进行MR=BR+VR。 2、动态重定位2.1动态地址重定位是在程序执行的过程中,每次访问内存之前,将要访问的程序地址转换为内存地址。 2.分区管理的基本原理1.1固定分区法通常采用*静态地址重定位*1.1.1把内存区固定地划分为若干个大小不等的区域。 划分的原则由系统操作员或操作系统决定1.1.2分区一旦划分结束,在整个执行过程中每个分区的长度和内存的总分区个数将保持不变1.1.3固定分区的分配和回收当用户程序要装入执行时,存储管理程序根据用户程序的大小查询分区说明表,从中找出一个满足要求的空闲分区,并将其分配给申请者。 1.2动态分区法:1.2.1动态分区法在作业执行前并不建立分区,分区的建立是在作业的处理过程中进行的,且其大小可随作业或进程对内存的要求而改变,这就改变了固定分区法中那种即使是小作业也要占据大分区的浪费现象,从而提高了内存的利用率1.2.1动态分区的分配1.2.2动态分区的内存回收当某一个用户作业完成释放所占分区时,系统应进行回收。 在可变式分区中,应该检查回收区与内存中前后空闲区是否相邻,若相邻,则应进行合并,形成一个较大的空闲区,并对相应的链表指针进行修改;若不相邻,应将空闲区插入到空闲区链表的适当位置。 3.连续内存分配3.1分配算法 (1)首次适应算法?要求空闲区按首址递增的次序组织空闲区表(队列)。 ?申请取最小可满足区域;?优点尽量使用小空闲区,保持大空闲区。 缺点可能形成碎片 (2)最佳适应算法?要求按空闲区大小从小到大的次序组成空闲区表(队列)。 ?申请取最小可满足区域;?优点尽量使用小空闲区,保持大空闲区。 缺点可能形成碎片 (3)最坏适应算法?要求空闲区按大小递减的顺序组织空闲区表(或队列)。 ?申请取最大可满足区域;?优点防止形成碎片。 缺点分割大空闲区域。 例题:(华中科技大学xx)某系统采用动态分区存储管理技术。 某时刻在内存中有三个空闲区,它们的首地址和大小分别是空闲区1(100KB,10KB)、空闲区2(200KB,30KB)、空闲区3(300KB,15KB)。 现有如下作业序列作业1要求15KB、作业2要求16KB、作业3要求10KB。 要求 (1)画出该时刻内存分布图; (2)用首次适应算法和最佳适应算法画出此时的自由主存队列结构; (3)哪种算法能将该作业装入内存(给出简要的分配过程)。 例题:(华中科技大学xx)某系统采用动态分区存储管理技术。 某时刻在内存中有三个空闲区,它们的首地址和大小分别是空闲区1(100KB,10KB)、空闲区2(200KB,30KB)、空闲区3(300KB,15KB)。 现有如下作业序列作业1要求15KB、作业2要求16KB、作业3要求10KB。 要求 (1)画出该时刻内存分布图; (2)用首次适应算法和最佳适应算法画出此时的自由主存队列结构; (3)哪种算法能将该作业装入内存(给出简要的分配过程)。 例题:(华中科技大学xx)某操作系统采用可变分区分配存储管理方法,用户区大小为512K且初始值为0,用空闲分区表管理空闲分区。 若分配时采用分配空闲区低地址部分的方案,且初始时用户区的512K空间空闲,对于下列申请序列申请300K,申请100K,释放300K,申请150K,申请30K,申请40K,申请60K,释放30K回答下列问题 (1)请分别画出采用首次适应算法、最佳适应算法进行内存分配和回收后的内存使用状态。 (2)如果再申请100K,针对上述两种算法会有什么结果?4.碎片问题内部碎片指分配给作业的存储空间中未被利用的部分。 如固定分区中存在的碎片。 外部碎片指系统中无法利用的小的空闲分区。 如动态分区中存在的碎片交换技术:是指先将内存某部分的程序或数据写入外存交换区,再从外存交换区中调入指定的程序或数据到内存中来,并让其执行的一种内存扩充技术。 (解决内存不足的问题)5.分页管理5.1页:把用户程序的地址空间划分成若干大小相等的区域,每个区域称作页面或页。 每个页都有一个编号,叫做页号。 页号一般从0开始编号(以页为单位进行内存分配,并按作业的页数多少来分配。 逻辑上相邻的页,物理上不一定相邻以页为单位进行内存分配,并按作业的页数多少来分配。 逻辑上相邻的页,物理上不一定相邻)5.2帧:把内存空间划分成若干和页大小相同的物理块,这些物理块叫“帧”(frame)或内存块5.3页表的作用:在分页系统中,页面的大小是由硬件的地址结构所决定的。 机器确定、页面大小便确定了?如果给定的逻辑地址是A,页面的大小为L,则页号p和页内地址(页内偏移量)w可按下式求得可按下式求得p=INTA/L,w=AMOD L页号P=逻辑地址%页大小页内位移W=逻辑地址mod页大小?页表的作用就是实现页号到物理块号的地址映射。 5.4例题5.4.1例例1设有8页的逻辑地址空间,每页有1024个字节,它们被映射到32块的的物理存储区,那么逻辑地址的有效位是多少,物理地址至少多少位?5.4.2例例2在一分页系统中,逻辑地址的长度为16位,页面大小为4096字节,现有一逻辑地址2F6AH,且第 0、 1、2页依次存放在物理块 5、 10、11中,问相应的物理地址是多少?5.4.3例例3在某分页系统,主存的容量为64K,页面的大小为1K,对于一个4页大的作业,其 0、 1、 2、3页分别被分配到主存的 2、 4、 6、7块中,试将十进制的逻辑地址 1023、 2500、3500和4500转化成物理地址。 5.4.4页表分析:由于页表是驻留在内存的某个固定区域中,而取数据或指令又必须经过页表变换才能得到实际物理地址。 因此,取一个数据或指令至少要访问内存两次以上。 取一个数据或指令至少要访问内存两次以上。 一次访问页表以确定所取数据或指令的物理地址,另一次是根据地址取数据或指令,这比通常执行指令的速度慢了一倍。 解决这个问题的一种方法是把页表放在一组快速存储器中(Cache),从而加快访问内存的速度。 我们把这种快速存储器组成的页表称为快表,把存放在内存中的页表称为慢表。 快表又叫相联(联想)存储器5.4.5例题:假定访问主存时间为100毫微秒,访问相联存储器时间为20毫微秒,相联存储器为32个单元时快表命中率可达90%,按逻辑地址存取的平均时间为(10020)90%(100+100+20)(1-90%)130毫微秒,比两次访问主存的时间100毫微秒2200毫微秒下降了四成多。 5.5分段存储管理的基本原理5.5.1段的共享是通过不同进程段表中的项指向同一基址来实现的5.5.2分段和分页的比较 (1)页是信息的物理单位,而段是信息的逻辑单位。 分页时为了实现离散分配方式,以减少内存碎片,提高内存利用率。 或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。 段则是信息的逻辑单位,它含有一组其意义相对完整的信息。 分段的目的是为了能更好地满足用户的需要。 (2)页的大小是由系统确定的,由系统把逻辑地址划分成页号和页内地址两部分,整个系统只能有一种大小的页面;而段的长度却不固定,决定于用户的程序。 通常由编译程序在对源码进行编译时,根据信息的性质来划分。 (3)分页的进程地址空间是一维的,即单一的线性空间;而分段的进程地址空间是二维的,有段号和段内地址两部分组成。 5.5.3作业的逻辑地址包括3个部分段号、页号和页内位移。 5.5.45.6请求分页技术5.6.1页表的扩充 (1)状态位P指示该页是否已调入内存。 (2)访问字段A记录本页在一段时间内被访问的次数或最近未被访问的时间。 (3位)修改位M表示该页在调入内存后是否被修改过。 若修改过,则换出时需重写至外存。 (4)外存地址指出该页在外存上的地址。 5.6.2缺页中断5.6.2.1程序在执行时,首先检查页表,当状态位指示该页不在主存时,则引起一个缺页中断发生,相应的中断处理程序把控制转向缺页中断子程序。 执行此子程序,即把所缺页面装入主存。 然后处理机重新执行缺页时打断的指令。 这时,就将顺利形成物理地址。 5.6.2.2缺页中断的处理过程是由硬件和软件共同实现的。 5.6.2.3缺页中断同一般中断都是中断,相同点是保护现场中断处理恢复现场不同点一般中断是一条指令完成后中断,缺页中断是一条指令执行时中断一条指令执行时可能产生多个缺页中断。 如指令可能访问多个内存地址,这些地址在不同的页中。 5.6.3页面置换算法5.6.3.1页面置换的过程 (1)找出所需页面在磁盘上的位置; (2)找出可用空闲内存块。 如果有,就立即使用,否则,就进行页面置页号块号状态位访问字段修改位外存地址换,选择一个老的页面置换到外存磁盘。 (3)将所需页面装入内存,修改相应的数据结构。 (4)继续执行用户进程。 5.6.4选择置换算法的原则是保证系统的缺页次数最少。 5.6.5置换算法5.6.5.1最佳置换算法局部置换,适用于固定分配其所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。 采用最佳置换算法,通常可保证获得最低的缺页率。 (不可行,不能确定序列,这只是理想状态)也就是说每次都要看看不远的将来那个页面最晚再次被加入5.6.5.2先进先出(FIFO)页面置换算法局部置换,适用于固定分配FIFO算法是最早出现的页面置换算法。 该算法总是淘汰最先进入内存的页面,即选择在内存中停留时间最长(年龄最老)的一页予以淘汰出现Belady异常现象,即缺页次数随内存块增加而增加。 不管你是不是最新又加入的,只要你存在的时间最长,那么就把你置换出来那么就把你置换出来(可以画图,然后看那个数字持续显示的次数最多就将那个置换出来然后看那个数字持续

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论