minix操作系统的复习题.doc_第1页
minix操作系统的复习题.doc_第2页
minix操作系统的复习题.doc_第3页
minix操作系统的复习题.doc_第4页
minix操作系统的复习题.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1. 操作系统的主要功能有哪些?现代操作系统具有什么特征? 用户接口和资源管理(处理器管理,进程管理,存储管理,文件管理,设备管理);共享、并发、虚拟、异步性,共享为最基本特征。2. 操作系统提供给用户的接口有哪几种? 命令接口、图像接口、系统调用接口。3. 操作系统的内部结构有哪几种?MINIX操作系统的内部结构包含了哪两种方式? 整体式结构、层次式结构、微内核结构、虚拟机式结构;层次,微内核。 4. MINIX操作系统可被分成四个层次,每个层次主要完成哪些工作? 第1层:内核(内核、时钟任务、系统任务),支持I/O端口的访问、完成进程调度、进程状态间转换、中断处理、消息通信等。 第2层:驱动程序(磁盘驱动程序、终端驱动程序、以太网驱动程序),管理设备I/O。 第3层:服务器进程(进程管理器、文件系统、信息服务器、网络服务器),提供进程创建、撤消,以及内存管理等功能的进程管理器,提供文件管理功能的文件服务器等。 第4层:用户进程,如shell、编译器、编辑器和用户的a.out程序等。5. Intel 80X86的CPU特权有四个级别,MINIX的各个层分别是运行在哪个特权级别的? 内核0级,时钟任务和系统任务1级,第2层第4层为3级6. 下面的各个功能有MINIX的哪一层完成?1) 进程调度; 第1层2) 消息通信; 第1层3) I/O中断处理程序;第1层4) 设备驱动程序;第2层5) 内存的分配和回收;第3层6) 磁盘缓冲区的管理;第3层7) 文件的读写; 第3层8) 用户编写的数据库管理软件;第4层7. 引入进程的主要目的是什么?引入线程的主要目的是什么?MINIX提供对线程的支持吗? 使程序能够并发执行;减少程序并发执行时所付出的时空开销;不支持。8. 进程的内存映像由哪几个部分组成? 进程由进程控制块PCB、程序段、数据段(包括堆栈)三部分组成,这三部分也叫进程映像。9. 在MINIX3中,与一个普通的用户进程相关的信息包括哪几个部分? 内存空间(用户进程的代码段和数据段)、内核(prock, priv0)、文件管理器(fproci),进程管理器(mproci)10. 你觉得进程和程序之间的有什么联系和区别?联系: 进程是程序在一个数据集合上的一次执行;程序是指令的集合。程与程序不一一对应。在某个时刻一个进程对应一个程序,但在其生命周期内,可以对应多个程序;同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程。区别:(1)每个进程实体中包含程序段和数据段,进程与程序是紧密相关的。但从结构上看,进程实体还必须包含进程控制块PCB。 (2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建而产生、由调度而执行、由撤消而消亡,即它具有一定的生命周期。而程序则只是一组指令的有序集合,并可永久地存放在某种介质上,因此是静态的。 (3)多个进程实体可同时存放在内存中并发地执行,而程序不能正确地并发执行。(4) 进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位,而程序不能在多道程序环境下独立运行的。11. 在MINIX中,进程被分成哪几种类型? 系统任务进程(运行在1级)、设备驱动程序进程(3)、服务器进程(3)、用户进程(3)。12. 进程控制块的主要作用是什么? MINIX的进程控制块又是如何实现的? 进程控制块是进程存在的唯一标志,其主要作用是描述进程,控制和管理进程的信息。MINIX的进程控制块分成四个部分,分别属于kernel(proc)、mm(mproc)、fs(fproc)、特权表项,它们是一一对应。13. MINIX中下列信息被存放在哪里?1) 进程的CPU现场信息; proc2) 进程的调度优先权信息;proc3) 文件描述符表; fproc4) 进程的局部描述符表; proc5) 进程的代码段、数据段的物理地址和长度;proc和mproc6) 进程的全程变量; 用户进程的数据区7) 进程的自动型局部变量; 用户进程的堆栈区8) 函数调用的参数。 用户进程的堆栈区14. 画图说明进程的基本状态及其转换过程。并简单说明MINIX系统中进程有哪些状态,它们是如何表示的。 就绪 进行 阻塞15. 从临界资源的角度考虑,记录型信号量的值及其wait、signal操作有什么含义?记录型信号量S:初值S.Value = 资源数,为正表示可用临界资源的数目,为负则其绝对值表示等待临界资源的进程数目。 Wait:即P操作,申请资源,信号量值减一,如果信号量的值=0,则获得一个临界资源,否则进程阻塞。Signal:即V操作,释放资源,信号量值加一,如果信号量的值=1,则唤醒一个阻塞的进程。16. 请说明MINIX在进程调度时,老进程的现场保存和新进程的现场恢复是如何进行的。 老进程的现场保存是在中断发生进行系统调用时,从用户态转到核心态的那一刻进行的,保存在老进程proc的低端地址p_reg现场保存区;新进程的现场恢复是在中断返回时,从新进程的proc的现场保存区进行恢复,执行iretd指令恢复现场。17. MINIX的CPU分派发生在什么时候?是通过什么函数完成的?老进程的CPU现场信息被保存在什么地方? (1) CPU调度时,先选择一个新进程,由pick_proc()完成,全程变量proc_ptr将指向选中的新进程的proc。Pick_proc()后,虽然proc_ptr指向新进程,但当前正在执行的仍是老进程。 但要等到中断返回或者系统调用返回,从核心态返回用户态后,通过_restart函数,才将CPU分派给新进程。(2)老进程的CPU现场信息被保存在其proc表项的p_reg中。18. 进程调度的方式有哪几种? 抢占式与非抢占式。19. 进程调度的算法:先来先服务、短进程优先、时间片轮转、高优先权优先。先来先服务:有利于长作业,不利于短作业短作业优先:有利于减少平均周转时间,提高系统吞吐量时间片轮转:公平,能及时相应用户的请求,用于分时系统中高优先权优先:批处理系统,实时系统20. MINIX进程调度的调度算法是怎么样的?MINIX采用“多级反馈”队列算法,共有16个就绪队列,队列0的优先权最高,队列15的优先权最低。第1层的系统任务和时钟任务获得最高的优先级;第2层的设备驱动程序获得低一些的优先级,但它们相互之间的优先级不完全相同;用户进程启动时优先级比所有系统进程都低,并且初始值相等(优先数为7);优先级最低的是IDLE进程,其优先数为15。 调度时选择优先级最高的队列的队首进程投入执行。任务队列中的任务进程采用非抢占的FCFS方式进行调度。其他队列中的进程均采用时间片轮转方式,时间片用完则插入队尾等下一轮调度。如果某个进程连续用了两个或以上的时间片,则将它插到下一级队列的队尾,直到最低优先级队列的上一级队列(即第14#队列)为止;被降级的进程只要不连续占用时间片,则时间片用完后,可回到前一级队列的队尾,直到它自身的最高优先级队列(该队列即它创建时进入的队列)为止。当没有可调度的其他进程时,系统便将最低优先级队列上的IDLE进程投入执行。 21. 进程通信有哪几种类型?MINIX采用了其中的哪些类型,分别用在什么场合? 进程通信分为共享存储器、消息通信、管道通信;MINIX采用了消息通信和管道,如PM向系统任务发送消息、PM向FS发送消息都是消息通信;管道提供用户进程之间进行通信。22. 动态分区分配方式:FF,BF。 首次适应算法FF:空闲分区链以地址递增的次序链接(MINIX选用)最佳适应算法BF:空闲分区链以大小递增顺序形成空闲分区链首次适应分配算法(FF):对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。 最佳适应分配算法(BF):是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记在空闲区表中,分配时,顺序查找。23. 何谓死锁?死锁产生的原因和必要条件是什么?死锁是指多个进程因竞争资源而造成的一种僵局,若无有外力作用,这些进程都将无法向前推进。引起死锁的原因主要有两点:(1)竞争资源:当系统中供多个进程所共享的资源不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁。(2)进程的并发执行的顺序不当:进程在运行过程中,请求和释放资源的顺序不当,导致死锁。产生死锁的必要条件:1.互斥,一次只有一个进程可以使用一个资源;2.占有并等待,一个至少持有一个资源的进程等待获得额外的由其他进程所持有的资源;3.不可抢占,一个资源只有当持有它的进程完成任务后,自由的释放;4.循环等待,等待资源的进程之间存在环。24. 系统调用fork()是如何实现的?fork系统调用是用来创建一个与父进程相似的进程,并且是创建进程的唯一途径。实际上是做一个调用它的进程的精确拷贝。调用结束后,原进程和所得的拷贝各自执行,互不相关,其中任一进程中变量值的改变不会对另一个进程产生任何影响。父进程与子进程可以通过fork的返回值区分开来。1. 首先,用户在自己的程序中调用系统功能调用库函数fork()。2. 在fork()函数中调用_syscall(MM,FORK,&m),由它向MM发类型为FORK的消息。 成功时,父进返回子进程pid,子进程返回0,失败则返回-1。3. 在_syscall(MM,FORK,&m)这个函数中,向PM发送FORK消息的操作主要是由_sendrec(who, msgptr)来完成的。通过INT 33,陷入内核,行执行中断服务程序_s_call。(而当中断返回时,有可能原调用进程阻塞,其现场信息在进入_s_call时被保存在其proc中)4. 执行中断处理程序_s_call,并由其中的sys_call()函数完成系统功能调用的任务。5. 执行sys_call(BOTH,MM,m_ptr)(用来接收或发送消息)。 进入sys_call系统调用后,将分为发送进程和接受进程两种情况来处理: 如果是发送进程则调用mini_send(rp, src_dest, m_ptr)函数,发送者向接收者发送消息;如果是接收进程则调用mini_rec(rp, src_dest, m_ptr),接收者rp接收发送者src_dest发来的消息m_ptr。自此,FORK消息的发送就完成了。由于父进程rp已发送消息,处于阻塞状态等待应答,因此接着执行_restart将把CPU分派给新进程PM,转入存储管理器主函数中的循环,来处理来自用户的有关内存管理的系统功能调用。 在存储管理器主函数中的循环中,调用get_work来接收由系统调用库发来的消息FORK,并根据收到的系统功能调用号调用相应的处理程序do_fork()。6. PM得到CPU后,将对发来的FORK消息进行处理,即执行do_fork()。PM执行完do_fork()后返回值为子进程的pid,最后执行reply()向父进程发送应答消息,并唤醒等待应答的父进程。父子进程被唤醒后,均从_sendrec()的int 33的下一行开始执行。25. 分段存储管理的原理和地址变换过程。分段存储管理的基本原理是:按程序的逻辑结构,以段为单位划分,各个段的长度因程序而异。为了说明逻辑段的各种属性,系统为每一个段建立一个段表(驻留在内存),记录段的若干信息,如段号、段起点、段长度和段装入情况等。CPU通过访问段表,判断该段是否已调入主存,并完成逻辑地址与物理地址之间的转换。分段地址转换如右图所示。逻辑地址由段号S和段内地址W组成,段号S相当于逻辑段的段名,它表示该逻辑段的起始地址。在进行地址转换时,操作系统用S检索段表,段表中记录的信息1表明该段已调入主存,b是S段装入主存的起始地址,因此该逻辑地址对应的物理地址为bW。 26. 请求调页的基本原理。请求调页策略是指当进程在运行中需要访问某部分程序和数据时,若发现其所在的页面不在内存,便立刻发出缺页中断,请求OS将所需页面调入内存。单纯采用请求调页策略的系统,在进程刚启动时,缺页中断会发生得比较频繁,由于程序访问的局部性,一段时间后,缺页率会降至较低。对一个被整体换出的进程重新开始执行时,也具有上述情况。请求段页式是目前虚拟存储器最常见的方式。27. MINIX的内存管理采用什么方式?具体使用什么分配算法?内存管理采用分段管理方式,采用首次适应算法。28. 为什么要引入动态重定位?MINIX中的重定位是如何实现的?静态重定位是在链接装入时一次集中完成的地址转换,但它要求连续的一片区域,且重定位后不能移动,不利于内存空间的有效使用。所以要引入动态重定位,它是靠硬件地址变换部分实现的。通常采用重定位寄存器等实现。MINIX的逻辑地址由段选择符(16位)和偏移量(32位)组成,段选择符存放在段寄存器中。通过段选择符的T1位确定该段的段描述符存放在GDT或LDT中。然后根据该段的段描述符得到该段的基址与限长。根据段的基址和偏移量完成到物理地址的映射。29. 什么是内存保护?它有哪些实现方式?MINIX是如何进行内存保护的?在多道程序系统中,内存中既有操作系统,又有许多用户程序。为使系统正常运行,避免内存中各程序相互干扰,必须对内存中的程序和数据进行保护。主要有以下内容: 1)防止地址越界。对进程所产生的地址必须加以检查,发生越界时产生中断,由操作系统进行相应处理。2)防止操作越权。例如:对属于自己区域的信息,可读可写;对公共区域中允许共享的信息或获得授权可使用的信息,可读而不可修改;对未获授权使用的信息,不可读、不可写。存储保护一般以硬件保护机制为主,软件为辅,因为完全用软件实现系统开销太大, 速度成倍降低。当发生越界或非法操作时,硬件产生中断,进入操作系统处理。在minix中内存保存包括:地址越界保护,特权保护(环保护),存取权限保护。30. 虚拟存储器实现的理论基础是什么?MINIX是否支持虚拟存储技术?理论基础是程序的局部性原理。应用程序在运行之前,没有必要全部装入内存,仅须将那些当前要运行的部分页面或段先装入内存便可运行,其余部分暂时留在盘上,在在运行如果所需部分不在内存中,则将其调入内存。MINIX不支持虚拟存储技术。31. 页面置换算法主要有哪些? 最优算法(OPT算法):从内存中移出以后不再使用的页面;如无这样的页面,则选择以后最长时间内不需要访问的页。先进先出算法(FIFO算法):总是先淘汰那些驻留在内存时间最长的页面,即先进入内存的页面先被置换掉。最久未使用页面置换算法(LRU算法):选择最近最久未使用的页面予以淘汰。32. 请较详细地说明,设计一个好的文件系统应该做哪几方面的工作?1文件存储空间的管理:对存储空间管理最基本的功能,是令各个文件“各得其所”,所追求的主要目标是提高存储空间的利用率。2目录管理:对目录管理所需的基本功能是使用户利用文件名,通过查找目录,能对文件进行存取,即实现按名存取。目录管理所追求的主要目标,是提高对文件的检索速度,为此,需对目录加以有效地组织。此外,在目录管理中还必须解决文件的命名冲突问题以实现多个用户共享文件的问题。3文件读、写管理:读、写管理最基本的功能,是根据用户的要求从磁盘中读出数据或将数据写入磁盘,该功能需借助于设备管理功能才能实现。文件读、写所追求的主要目标是提高对文件的读写速度,为此,需对磁盘缓冲区加以有效地组织,对从向磁盘的读写请求进行合理的调度。4文件安全性管理:文件安全性管理的基本任务,是防止文件被盗窃或被破坏。可采取多级保护措施达到这一目的:(1) 系统级安全性管理:通常是通过使用口令来限制非法用户进入系统; (2) 用户安全级管理:为用户分配适当的“文件访问权限”;(3) 目录级管理:为目录指定“访问权限”;(4) 文件级安全管理:通过设置文件属性的办法,来限制用户对文件的访问。5向用户提供接口:为方便用户使用文件系统所提供的服务,称为接口。文件系统向用户提供了两种接口:命令接口和程序接口。它们所提供的服务分两类:(1) 文件存取服务:这是以一组系统调用或命令的形式提供给用户程序或用户,以实现按名存取; (2) 文件管理服务:为用户提供建立新文件、删除名文件以及修改已存文件等服务。33. MINIX的文件分为哪几种类型?目录文件,正规文件,管道文件,设备文件(块设备文件和字符设备文件)。引导块 超级块 i-结点区 一个磁盘块i-结点位图 区段位图 数据区 34. MINIX的文件卷是如何布局的? MINIX文件系统的块号从0开始编号,即引导块为第0块,超级块为第1块,等等。l 引导块,即引导程序。在启动计算机时,硬件会从引导设备将引导块读入内存,转而执行引导块中的代码。l 超级块,也叫卷资源表。其中给出文件系统的布局信息,如:块大小、I结点数等。l i结点位图,用来描述I结点的情况,即哪些I结点是已分配出去的,哪些是空闲的。l 区段位图,MINIX的文件存储器是以区段为单位进行分配的,而区段位图是用来描述文件存储空间的使用情况的,即哪些空间是空闲的。l i结点区,MINIX文件系统中,每个文件有一个对应的磁盘索引结点,用来存放该文件的属性信息。所有的磁盘索引结点均存放在I结点区内。l 数据区,用来存放文件的具体信息。35. MINIX的文件存储空间分配以什么为单位?空闲空间采用什么方式进行管理? 分配以区段为单位。空闲空间采用位示图进行管理。36. MINIX文件系统中,一个未打开的文件在磁盘上将占用哪些资源?一个被打开的文件在内存中将占用哪些资源?一个未打开的文件在磁盘上占用数据区的若干区段,磁盘索引节点和目录项。一个被打开的文件在内存中占用文件描述符表项,系统打开文件表项,内存索引结点,内存缓冲区(读写文件时)。37. 打开文件的主

温馨提示

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

评论

0/150

提交评论