1 第一章绪论1什么是操作系统的基本功能答操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源合理地组织计算机工作流程并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括处理机管理、存储管理、设备管理、信息管理文件系统管理和用户接口等。2什么是批处理、分时和实时系统各有什么特征答批处理系统batchprocessingsystem操作员把用户提交的作业分类把一批作业编成一个作业执行序列由专门编制的监督程序monitor自动依次处理。其主要特征是用户脱机使用计算机、成批处理、多道程序运行。分时系统timesharingoperationsystem把处理机的运行时间分成很短的时间片按时间片轮转的方式把处理机分配给各进程使用。其主要特征是交互性、多用户同时性、独立性。实时系统realtimesystem在被控对象允许时间范围内作出响应。其主要特征是对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。3多道程序multiprogramming和多重处理multiprocessing有何区别答多道程序multiprogramming是作业之间自动调度执行、共享系统资源并不是真正地同时值行多个作业而多重处理multiprocessing系统配置多个CPU能真正同时执行多道程序。要有效使用多重处理必须采用多道程序设计技术而多道程序设计原则上不一定要求多重处理系统的支持。4讨论操作系统可以从哪些角度出发如何把它们统一起来答讨论操作系统可以从以下角度出发1操作系统是计算机资源的管理者2操作系统为用户提供使用计算机的界面3用进程管理观点研究操作系统即围绕进程运行过程来讨论操作系统。上述这些观点彼此并不矛盾只不过代表了同一事物操作系统站在不同的角度来看待。每一种观点都有助于理解、分析和设计操作系统。第二章作业管理和用户接口1. 什么是作业作业步答把在一次应用业务处理过程中从输入开始到输出结束用户要求计算机所做的有关该次业务处理的全部工作称为一个作
业。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中计算机所做的相对独立的工作。如编辑输入是一个作业步它产生源程序文件编译也是一个作业步它产生目标代码文件。2. 作业由哪几部分组成各有什么功能答作业由三部分组成程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作作业说明书则体现用户的控制意图。3作业的输入方式有哪几种各有何特点答作业的输入方式有5种联机输入方式、脱机输入方式、直接耦合方式、SPOOLING Simultaneous Peripheral OperationsOnline系统和网络输入方式各有如下特点1联机输入方式用户和系统通过交互式会话来输入作业。
2 2脱机输入方式又称预输入方式利用低档个人计算机作为外围处理机进行输入处理存储在后备存储器上然后将此后援存储器连接到高速外围设备上和主机相连从而在较短的时间内完成作业的输入工作。3直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来从而省去了在脱机输入中那种依靠人工干预宋传递后援存储器的过程。4SPOOLING系统可译为外围设备同时联机操作。在SPOOLING系统中多台外围设备通过通道或DMA器件和主机与外存连接起来作业的输入输出过程由主机中的操作系统控制。5网络输入方式网络输入方式以上述几种输入方式为基础当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时就构成了网络输入方式。4试述SPOOLING系统的工作原理。答在SPOOLING系统中多台外围设备通过通道或DMA器件和主机与外存连接起来作业的输入输出过程由主机中的操作系统控制。操作系统中的输入程序包含两个独立的过程一个过程负责从外部设备把
信息读入缓冲区另一个过程是写过程负责把缓冲区中的信息送入到外存输入井中。在系统输入模块收到作业输入请求后输入管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时由写过程将信息从缓冲区写到外存输入井中。读过程和写过程反复循环直到一个作业输入完毕。当读过程读到一个硬件结束标志后系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后系统为该作业建立作业控制块JCB从而使输入井中的作业进入作业等待队列等待作业调度程序选中后进入内存。5作业说明书和作业控制块有何异同答作业说明书主要包含三方面内容作业的基本描述、作业控制描述和资源要求描述。作业基本描述主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等。而作业控制描述则大致包括作业在执行过程中的控制方式例如是脱机控制还是联机控制、各作业步的操作顺序以及作业不能正常执行时的处理等。资源要求描述包括要求内存大小、外设种类和台数、处理机优先级、所需处理时间、所需库函数或实用程序等。而作业控制块是作业说明书在系统中生成的一张表格该表格登记该作业所要求的资源情况、预计执行时间和执行优先级等。从而操作系统通过该表了解到作业要求并分配资源和控制作业中程序和数据的编译、链接、装入和执行等。6操作系统为用户提供哪些接口它们的区别是什么答操作系统为用户提供两个接口一个是系统为用户提供的各种命令接口用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用编程人员使用系统调用来请求操作系统提供服务例如申请和释放外设等类资源、控制程序的执行速度等。7作业控制方式有哪几种调查你周围的计算机的作业控制方式。答作业控制的主要方式有两种脱机方式和联机方式。脱机控制方式利用作业控制语言来编写表示用户控制意图的作
业控制程序也就是作业说明书。作业控制语言的语句就是作业控制命令。不同的批处理系统提供不同的作业控制语言。联机控制方式不同于脱机控制方式它不要求用户填写作业说明书系统只为用户提供一组键盘或其他操作方式的命令。用户使用操作系统提供的操作命令和系统会话交互地控制程序执行和管理计算机系统。3 8什么是系统调用系统调用与一般用户程序有什么区别与库函数和实用程序又有什么区别答系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用在源程序一级动态请求和释放系统资源调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。因此系统调用像一个黑箱子那样对用户屏蔽了操作系统的具体动作而只提供有关的功能。它与一般用户程序、库函数和实用程序的区别是系统调用程序是在核心态执行调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。9简述系统调用的实现过程。答用户在程序中使用系统调用给出系统凋用名和函数后即产生一条相应的陷入指令通过陷入处理机制调用服务引起处理机中断然后保护处理机现场取系统调用功能号并寻子程序入口通过入口地址表来调用系统子程序然后返回用户程序继续执行。10.为什么说分时系统没有作业的概念答因为在分时系统中每个用户得到的时间片有限用户的程序和数据信息直接输入到内存工作区中和其他程序一起抢占系统资源投入执行而不必进入外存输入井等待作业调度程序选择。因此分时系统没有作业控制表也没有作业调度程序。11.试述UNIX的主要特点。答UNIX的主要特点是1UNIX系统是一个可供多用户同时操作的交互式分时操作系统2为了向用户提供交互式功能和使得用户可以利用UNIX系统的功能UNIX系统向用户提供了两种友好的界面或接口系统调用
和命令3UNIX系统具有一个可装卸的分层树型结构文件系统该文件系统使用方便、搜索简单4UNIX系统把所有外部设备都当成文件并分别赋予它们对应的文件名。从而用户可以像使用文件那样使用任一设备而不必了解该设备的内部特性这既简化了系统设计又方便了用户5UNIX系统核心程序的绝大部分源代码和系统上的支持软件都用C语言编写。且UNIX系统是一个开放式系统即具有统一的用户接口使得UNIX用户的应用程序可在不同的执行环境下运行。正是由于UNIX具有上述这些特点使得UNIX系统得到了广泛的应用和发展。12UNIX操作系统为用户提供哪些接口试举例说明。答UNIX系统为用户提供两个接口即面向操作命令的接口Shell和面向编程用户的接口系统调用。常见的Shell命令如loginlogoutviemacs印rmlscclink adduserchowndbxdate等常见的系统调用如ioctlreadwriteopenclose createxeclflockstatmountforkwaitexitsocket等。13在你周围装有UNIX系统的计算机上练习使用后台命令、管道命令等Shell的基本命令。答例1用Shell语言编制一Shell
程序该程序在用户输入年、月之后自动打印输出该年该月的日历echoquotPlease input the month” 4 read month echoPlease input the year” read year 第三章用户管理
和配置管理1有A说一个进程是由伪处理机执行的一个程序这话对吗为什么答对。因为伪处理机的概念只有在执行时才存在它表示多个进程在单处理机上并发执行的二个调度单位。因此尽管进程是动态概念是程序的执行过程但是在多个进程并行执行时仍然只有一个进程占据处理机执行而其他并发进程则处于就绪或等待状态。这些并发进程就相当于由伪处理机执行的程序。2试比较进程和程序的区别。答
1进程是一个动态概念而程序是一个静态概念程序是指令的有序集合无执行含义进程则强调执行的过程。2进程具有并行特征独立性异步性程序则没有。3不同的进程可以包含同一个程序同一程序在执行中也可以产生多个进程。3我们说程序的并发执行将导致最终结果失去封闭性广这话对所有的程序都成立吗举例说明. 答并非所有程序均成立。如Begin local“ Z K10 printx End 上述程序中x是内部变量不可能被外部程序访问因此这段程序的运行不会受外部环境影响。4试比较作业和进程的区别。答一个进程是一个程序对某个数据集的执行过程是分配资源的基本单位。作业是用于需要计算机完成某项任务而要求计算机所做工作的集合。一个作业的完成要经过作业提交作业收容、作业执行和作业完成4个阶段。而进程是已提交完毕的程序所执行过程的描述足资源分配的基本单位。其主要区别关系如下1作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后系统将存储在外存中的作业等待队列中等待执行。而进程则是完成用户任务的执行实体是向系统申请分配资源的基本单位。任一进程只要它被创建总有相应的部分存在于内存中。2一个作业可由多个进程组成。且必须至少由一个进程组成但反过来不成立。3作业的概念主要用在批处理系统中。像Unix这样的分时系统中则没有作业概念。而进程的概念则用在几乎所有的多道程序系统中。5UNIXSystem V中系统程序所对应的正文段未被考虑成进程上下文的一部分为什么答因为系统程序的代码被用户程序所共享因此如果每个进程在保存进程上下文时都将系统程序代码放到其进程上下文中则大大浪费了资源。因此系统程序的代码不放在进程上下文中而是统一放在核心程序所处的内存中。6什么是临界区试举一临界区的例子。5 答临界区是指不允许多个并发进程交叉执行的一段程序。它是由于不同并发进程的程序段共享公用数据或公用数据变量而引起的。所以它又被称为访问公用数据的那段程序。例如getspace Begin local g
toptop-1 End releasead Begin top’top十1 stacktopad End 7并发进程间的制约有哪两种引起制约的原因是什么答并发进程所受的制约有两种直接制约和间接制约。直接制约是由并发进程互相共享对方的私有资源所引起的。间接制约是由竞争共有资源而引起的。8什么是进程间的互斥什么是进程间同步答进程间的互斥是指一组并发进程中的一个或多个程序段因共享某一公有资源而导致它们必须以一个不许交叉执行的单位执行即不允许两个以上的共享该资源的并发进程同时进入临界区。进程间的同步是指异步环境下的一组并发进程因直接制约互相发送消息而进行互相合作、互相等待各进程按一定的速度执行的过程。9试比较PV原语法和加锁法实现进程间互斥的区别。答互斥的加锁实现是这样的当某个进程进入临界区之后它将锁上临界区直到它退出临界区时为止。并发进程在申请进入临界区时首先测试该临界区是否是上锁的如果该临界区已被锁住则该进程要等到该临界区开锁之后才有可能获得临界区。但是加锁法存在如下弊端1循环测试锁定位将损耗较多的CPU计算时间2产生不公平现象。为此PV原语法采用信号量管?硐嘤α俳缜 墓 凶试葱藕帕康氖 到瞿苡蒔V原语操作改变而PV原语执行期间不允许中断发生。其过程是这样的当某个进程正在临界区内执行时其他进程如果执行了P原语则该进程并不像lock时那样因进不了临界区而返回到lock的起点等以后重新执行测试而是在等待队列中等待由其他进程做V原语操作释放资源后进入临界区这时P原语才算真正结束。若有多个进程做P原语操作而进入等待状态之后一旦有V原语释放资源则等待进程中的一个进入临界区其余的继续等待。总之加锁法是采用反复测试lock而实现互斥的存在CPU浪费和不公平现像PV原语使用了信号量克服了加锁法的弊端。14.设有5个哲学家共享一张放有五把椅子的桌子每人分得一把椅子。但是桌子上总共只有5支筷子在每
人两边分开各放一支。哲学家们在肚子饥饿时才试图分两次从两边拾起筷子就餐。条件1 只有拿到两支筷子时哲学家才能吃饭。2 如果筷子已在他人手上则该哲学家必须等待到他人吃完之后才能拿到筷6 子。 3 任一哲学家在自己未拿到两支筷子吃饭之前决不放下自己手中的筷子。试: 1 描述一个保证不会出现两个邻座同时要求吃饭的通信算法。2 描述一个既没有两邻座同时吃饭又没有人饿死永远拿不到筷子的算法。 3 在什么情况下5 个哲学家全部吃不上饭解答1、设信号量c0c4初始值均为1分别表示i号筷子被拿i01234 sendi:第i个哲学家要吃饭begin Pci Pci1 mod 5 eat Vci1 mod 5 Vci End 该过程能保证两邻座不同时吃饭但会出现5个哲学家一人拿一只筷子谁也吃不上饭的死锁情况. 2、解决的思路如下:让奇数号的哲学家先取右手边的筷子让偶数号?恼苎Ъ蚁热∽笫直叩目曜?这样任何一个哲学家拿到一只筷子之后就已经阻止了他邻座的一个哲学家吃饭的企图除非某个哲学家一直吃下去否则不会有人会饿死. sendi:第i个哲学家要吃饭Begin If i mod 20 then PciPci1 mod 5 eat Vcici1 mod 5 Else Pci1 mod 5 Pci Eat Vci1 mod 5 Vci End 15什么是线程试述线程与进程的区别答线程是在进程内用于调度和占有处理机的基本单位它由线程控制表、存储线程上下文的用户栈以及核心栈组成。线程可分为用户级线程、核心级线程以及用户核心混合型线程等类型。其中用户级线程在用户态下执行CPU调度算7 法和各线程优先级都由用户设置与操作系统内核无关。核心级线程的调度算法及线程优先级的控制权在操作系统内核。混合型线程的控制权则在用户和操作系统内核二者。线程与进程的主要区别有1进程是资源管理的基本单位它拥有自己的地址空间和各种资源例如内存空间、外部设备等线程只是处理机调度的基本单位它只和
其他线程一起共享进程资源但自己没有任何资源。2以进程为单位进行处理机切换和调度时由于涉及到资源转移以及现场保护等问题将导致处理机切换时间变长资源利用率降低。以线程为单位进行处理机切换和调度时由于不发生资源变化特别是地址空间的变化处理机切换的时间较短从而处理机效率也较高。3对用户来说多线程可减少用户的等待时间。提高系统的响应速度。例如当一个进程需要对两个不同的服务器进行远程过程凋用时对于无线程系统的操作系统来说需要顺序等待两个不同调用返回结果后才能继续执行且在等待中容易发生进程调度。对于多线程系统而言则可以在同一进程中使用不同的线程同时进行远程过程调用从而缩短进程的等待时间。4线程和进程一样都有自己的状态也有相应的同步机制不过由于线程没有单独的数据和程序空间因此线程不能像进程的数据与程序那样交换到外存存储空间。从而线程没有挂起状态。5进程的调度、同步等控制大多由操作系统内核完成而线程的控制既可以由操作系统内核进行也可以由用户控制进行。第四章进程管理1什么是分级调度分时系统中有作业调度的概念吗如果没有为什么答处理机调度问题实际上也是处理机的分配问题。显然只有那些参与竞争处理及所必需的资源都已得到满足的进程才能享有竞争处理机的资格。这时它们处于内存就绪状态。这些必需的资源包括内存、外设及有关数据结构等。从而在进程有资格竞争处理机之前作业调度程序必须先调用存储管理、外设管理程序并按一定的选择顺序和策略从输入井中选择出几个处于后备状态的作业为它们分配资源和创建进程使它们获得竞争处理机的资格。另外由于处于执行状态下的作业一般包括多个进程而在单机系统中每一时刻只能有一个进程占有处理机这样在外存中除了处于后备状态的作业外还存在处于就绪状态而等待得到内存的作业。我们需要有一定的方法和策略为这部分作
shell命令属于什么语言业分配空间。因此处理机调度需要分级。一般来说处理机调度可分为4级1作业调度: 又称宏观调度或高级调度。2交换调度又称中级调度。其主要任务是按照给定的原则和策略将处于外存交换区中的就绪态或等待状态或内存等待状态的进程交换到外存交换区。交换调度主要涉及到内存管理与扩充。因此在有些书本中也把它归入内存管理部分。3进程调度又称微观调度或低级调度。其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。在确立了占用处理机的进程之后系统必须进行进程上下文切换以建立与占用处理机进程相适应的执行环境。4线程调度进程中相关堆栈和控制表等的调度。在分时系统中一般不存在作业调度而只有线程调度、进程调度和交换调度。这是因为在分时系统中为了缩短响应时间作业不是建立在外存而是直接建立在内存中。在分时系统中一旦用户和系统的交互开始用户马上要进行控制。8 因此分时系统中没有作业提交状态和后备状态。分时系统的输入信息经过终端缓冲区为系统直接接收或立即处理或经交换调度暂存外存中。2试述作业调度的主要功能。答: 作业调度的主要功能是按一定的原则对外存输入井上的大量后备作业进行选择给选出的作业分配内存、输入输出设备等必要的资源并建立相应进程使该作业的相关进程获得竞争处理机的权利。另外当作业执行完毕时还负责回收系统资源。3作业调度的性能评价标准有哪些这些性能评价标准在任何情况下都能反映调度策略的优劣吗答对于批处理系统由于主要用于计算因而对于作业的周转时间要求较高。从而作业的平均周转时间或平均带权周转时间被用来衡量调度程序的优劣。但对于分时系统来说平均响应时间又被用来衡量调度策略的优劣。对于分时系统除了要保证系统吞吐量大、资源利用率高之外还应保证用户能够容忍
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论