当前位置:文档之家› 操作系统练习题

操作系统练习题

四十一、在UNIX系统中运行下面程序,最多可产生多少个进程?画出进程家族树。P249 main() { fork(); fork(); fork(); } [分析及相关知识] 系统调用fork的功能是创建一个新进程,新进程运行与其创建者一样的程序,新创建的进程称为子进程,调用fork的进程称为父进程,父子进程都从fork调用后的那条语句开始执行。 当程序执行时,若所有进程都能成功地执行系统调用fork,则会产生最多数目的进程。为了描述方便起见,将开始执行时的进程称为A进程,此时程序计数器PC,指向第一个fork调用。 main() { fork(); /* ←PC,进程A*/ fork(): fork(); } 当进程A成功地执行完第一个fork调用时,它创建了一个子进程,将此子进程称 为进程B。此时,进程A、B的程序计数器PC指向第二个fork调用,进程A派生 了1个子孙进程. main() { fork(): fork(); /* ←PC,进程A*/ fork(); } main() { fork(); fork(); /* ←PC,进程B*/ fork(); } 当进程A、B成功地执行完第二个fork调用时,它们分别创建了一个子进程,将 这些子进程分别称为进程C、D.此时,进程A、B、C、D的程序计数器PC指向第 三个fork调用,进程A派生了3个子孙进程。 main() { fork(); fork(); fork(); /* ←PC,进程A*/ } main() {

fork(); fork(); fork(); /* ←PC,进程B*/ } main() { fork(); fork(); fork(); /* ←PC,进程C*/ ) main() { fork(); fork(); fork(); /* ←PC,进程D*/ ) 当进程A、B、C、D成功地执行完第三个fork调用时,它们分别创建了一个子进 程,将这些子进程分别称为进程E、F、C、H.此时,进程A、B、C、D、E、F、G、 H的程序计数器PC指向程序结束处,进程A派生了7个子孙进程。 main() { fork(); fork(); fork(); } /* ←PC,进程A*/ main() { fork(); fork(); fork(); ) /* ←PC,进程B*/ main() { fork(); fork(): fork(); } /* ←PC,进程C*/ main() { fork(); fork(); fork(); } /* ←PC,进程D*/ main() { fork(); fork(); fork(): } /* ←PC,进程E*/ main() { fork(); fork(); fork(); } /* ←PC,进程F*/ main() { fork(); fork(); fork(); ) /* ←PC,进程G*/ main() { fork(); fork(); fork(); } /* ←PC,进程H*/ 进程家族树是一棵有向树,有向树的节点代表进程,由进程P指向进程Q的边表示由进程P创建了进程Q.我们称进程P是进程Q的父进程,进程Q是进程P的子进程,这样便形成了进程树。 解:从上面的分析过程可以看出,执行第一个fork调用时,进程A创建了进程B;执 行第二个fork调用时,进程A创建了进程C,进程B创建了进程D:执行第三个fork调用 时,进程A创建了进程E,进程B创建了进程F,进程C创建了进程G,进程D创建了进程H。因此,在UNIX系统中运行题目中的程序,最多可产生7个进程,其进程家族树如图所示。

1、 进程调度又称为低级调度,其主要功能是() A 选择一个作业调入内存 B 选择一个主存中的进程调出到外存 C 选择一个外存中的进程调入到主存 D 将一个就绪的进程投入运行 2、 下列进程调度算法中,进程可能会长期得不到调度的情况是() A 先来先服务调度算法 B 抢占式静态优先权法 C 时间片轮转调度算法 D 非抢占式动态优先权法 ❖ 下列属于预防死锁的方法是() A 剥夺资源法 B 资源分配图简化法 C 资源互斥使用 D 银行家算法 ❖ 下列属于检测死锁的方法是() A 银行家算法 B 撤销进程法 C 资源静态分配法 D 资源分配图简化法

❖ 为了照顾紧迫性作业,应采用() A 先来先服务调度算法 B 短作业优先调度算法 C 时间片轮转调度算法 D 优先权调度算法

设某多道系统,有磁带机2台,打印机1台,采用资源的静态分配法(假设作业获得资源后才允许进入内存)以及短作业优先调度算法和先来先服务进程调度算法。忽略I/O时间,现有作业序列如下,求5个作业完成的时间 作业名 到达时间 计算时间 需磁带机 需打印机 J1 8:00 25分钟 1台 1台 J2 8:20 15分钟 0台 1台 J3 8:20 20分钟 1台 0台 J4 8:30 20分钟 1台 0台 J5 8:35 10分钟 1台 1台

设某多道系统,有供用户使用的内存空间为200K,磁带机2台,打印机1台,系统采用可变分区管理方式,对磁带机、打印机采用静态分配,并忽略I/O时间,现有一作业序列如下: 作业 到达时间 计算时间 要求主存量 申请磁带机数 申请打印机数 J1 8:00 25分钟 30K 1台 1台 J2 8:20 15分钟 60K 0台 1台 J3 8:20 20分钟 120K 1台 0台 J4 8:30 20分钟 40K 1台 0台 J5 8:35 10分钟 20K 1台 1台 设作业调度采用短作业优先,且优先分配主存低地址区域,且不能移动内存中的作业,内存中的作业采用平分CPU时间,则作业调度的次序是:J1->j3->j4->j5->j2 作业 开始时间 结束时间 J1 8:00 8:30 J3 8:20 9:00 J4 8:30 9:10 J5 8:35 9:15 J2 8:20 9:30

设某任务被分为大小相等的4段,系统为每段建立了一个由8个页表项的页表,设页面大小为2KB,问 (1)每段最大尺寸为多少? (2)逻辑地址空间多大? (3)逻辑地址格式是什么? (4)设该任务访问到物理单元为00021ABCH中的一个数据,则该系统的物理地址空间最大为多少? 解:(1)2*8=16KB (2)16*4=64KB (3) ❖ 判断:请求分页管理系统,若把页面大小增加一倍,则缺页中断次数会减少一半 ❖ 判断:虚地址即程序执行时所要访问的内存地址 ❖ 在请求分页存储管理系统中,地址变换过程可能会因为( )原因而发生中断 ❖ 虚存的理论基础是( )

❖ 虚存中LRU算法,分配3页,每页存200个整数,其中第一页存放程序,程序已在内存,数组A按先行后列存储,求程序A和B的缺页次数分别为多少? 程序A: 程序B: For i:=1 to 100 do For j:=1 to 100 do For j:=1 to 100 do For i:=1 to 100 do A[i,j]:=0 A[i,j]:=0

1.设备管理的()功能来实现用户程序与实际的物理设备无关。 A 设备分配 B 设备独立性 C 缓冲管理 D 虚拟设备 技术可以实现设备的() A 独占分配 B 共享分配 C 虚拟分配 D 物理分配 3.以下()是磁盘寻道调度算法 A 时间片轮转法 B 优先级调度算法 C 最近最久未使用算法 D 先来先服务算法 4.缓冲技术中的缓冲池是在() A ROM B cache C 内存 D 外存 5.为了使系统中多个进程同时处理输入输出,最好使用( )技术。 A 缓冲池 B 循环缓冲 C 双缓冲 D 单缓冲 中以下( ) 是硬件机制? A spooling B 通道 C 文件 D 虚拟设备 7.以下关于缓冲的描述正确的是() A 以空间换时间 B 以时间换空间 C 提高外设的处理速度 D 提高CPU的处理速度 8.在Spooling系统中,用户输出数据首先送入() A 内存固定区域 B 打印机 C 磁盘固定区域 D 输出设备 9.中断处理中,I/O中断是指() A 设备出错 B 数据传输结束 C 数据传输开始 D 数据传输结束或设备出错 10.磁盘请求以10,22,20,2,40,6,38柱面的次序到达磁盘驱动器,寻道时每个柱面的移动需要6ms,计算以下算法的寻道时间是多少?(假设磁头由20号柱面向柱面号大的方向移动) FCFS,SSTF,SCAN,CSCAN

相关主题