上海交通大学学位考试卷.docx

上传人:大张伟 文档编号:11488671 上传时间:2021-08-08 格式:DOCX 页数:5 大小:33.22KB
返回 下载 相关 举报
上海交通大学学位考试卷.docx_第1页
第1页 / 共5页
上海交通大学学位考试卷.docx_第2页
第2页 / 共5页
上海交通大学学位考试卷.docx_第3页
第3页 / 共5页
上海交通大学学位考试卷.docx_第4页
第4页 / 共5页
上海交通大学学位考试卷.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《上海交通大学学位考试卷.docx》由会员分享,可在线阅读,更多相关《上海交通大学学位考试卷.docx(5页珍藏版)》请在三一文库上搜索。

1、建筑上海交通大学学位考试卷操作系统 年月日姓名 学号 班级 得分一、选择题:每题只选一个用字母表示的答案1 .根据作业在本次分配到的内存起始地址,将可执行目标代码装到指定的内存地址中,并修改有关地址部分的值的方法称为B 方式。A)固定定位 B)静态重定位 C)动态重定位 D)单一重定位2 .有9条磁带机供4个进程使用,如每个进程最多同时分配C条磁带机,就没有死锁的危险。A) 1B) 2C) 3D) 43 .通道又称I/O处理机,它能完成_B 之间的信息传输。A )主存和外设B) CPU和外设C)外存和外设D) 主存和CPU4 .在下面的shell命令中,A命令与其他命令输出不同。A) echo

2、 $x B) echo $x C) echo $x D) echo $x填充题静态重定1 .由装入程序实施的程序的逻辑地址与物理地址的转换的地址重定位方式称为2 .在进程主要状态转换图中,表示 就绪 状态。53 .进程访问临界资源的那段代码称为临界区(或互斥段)三、 简答题、画图题1 .整个UNIX系统的五层基本结构。Shell 解释程序用户程序 各种应用程序包系统命令 窗口软件 库函数系统调用核心层:存储管理进程管理设备管理文件管理硬件层2 .出进程(不支持线程)的定义。进程是程序处于一个执行环境中在一个数据集上的运行过程,它是系统进行资源分配和调度的一个可并发执行的独立单位。2.简述可变分

3、区存储管理算法中的首次适应算法(包括分配和释放算法)。(一)分配算法采用首次适应法为作业分配大小为size的内存空间时,总是从表的始端的低地址部分开始查找,当第一次找到大于或等于申请大小的空闲区时,就按所需大小分配给作业。如果分配后原空闲区还有剩余空间, 就修改原存储区表项的 m_size和m_addr,使它记录余下的“零 头”。如果作业所需空间正好等于该空闲区大小,那么该空闲区表项的m_size就成为0,接下来要删除表中这个“空洞”。(二)回收算法释放区与原空闲区相邻情况可归纳为四种情况。(1)仅与前空闲区相连:合并前空闲区和释放区,该空闲区的m_addr仍为原前空闲区的首地址,修改表项的长

4、度域m_size为原m_size与释放区长度之和。(2)与前空闲区和后空闲区都相连:将三块空闲区合并成一块空闲区。修改空闲区表中前空闲区表项,其始地址为原前空闲区始址,其大小 m_size等于三个空闲区长度之和,这块 大的空闲区由前空闲区表项登记。接下来还要在空闲区表中删除后项。(3)仅与后空闲区相连:与后空闲区合并,使后空闲区表项的m_addr为释放区的始址,m_size为释放区与后空闲区的长度之和。(4)与前、后空闲区皆不相连:在前、后空闲区表项中间插入一个新的表项,其m_addr为释放区的始址,m_size为释放区的长度。四、2个信息发送程序a,b不断向向缓冲区存放数据,由进程c取走缓冲

5、区的数据(缓冲区初态为空,容量为无限大)。下面的框图,通过 P、V操作实现三个进程间的互斥和同步。请在 空框内填上适当的 P、V操作,并写出信号灯的初值和意义:data: 初值为0,缓冲区中已存放的数据个数,(半)同步信号灯mutex:初值为0,向缓冲区存放数据和从缓冲区取走数据的互斥信号灯a, b进程P(mutex)send(massage)V(mutex)V(data)五、在下面的程序中,父进程首先创建无名管道,再创建一个子进程;然后从键盘上读入一 个Shell命令串(如ls -l ),并通过无名管道向子进程发送该命令串;父进程等待子进程终 止。子进程通过管道读到命令串并执行该命令后返回。

6、子进程然后打印“ Cmmand Completed.”后终止自己。父进程在子进程完成任务后,显示返回状态后结束运行。 在下面程序的下划线上填写适当的语句。char cmd 100;void main() int pid, status, chan2;pipe ( chan )_;if (_ pid = fork( ) 一) close (chan0);printf(canmand=);gets(cmd);_wMte ( chan1, cmd, strlen (cmd) ) _; close (chan1);sleep(5);_ wait ( &status ) ;printf(status= %dn, status);return; else close (chan1);bzero (cmd, sizeof(cmd);_ read ( chan0, cmd, sizeof (cmd)system ( cmd );printf(Cmmand Completed.n);exit(2);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1