第2章操作系统用户界面。
page 36
2.1 什么是作业?什么是作业步?
答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
而且,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。作业由不同的顺序相连的作业步组成。
作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标**文件。
2.2 作业由哪几部分组成?各有什么功能?
答:作业由三部分组成:程序、数据和作业说明书。程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
2.3 作业的输入方式有哪几种?各有什么特点?
答:作业的输入方式有5种:
1) 联机输入方式:用户和系统通过交互式会话来输入作业。
2) 脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。
3) 直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。
4) spooling系统:spooling又可译作外围设备同时联机操作。 在spooling系统中,多台外围设备通过通道或dma器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制。
5) 网络输入方式:网络输入方式以上述几种输入方式为基础。当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式。
2.4 试述 spooling 系统的工作原理。
答:在spooling系统中,多台外围设备通过通道或dma器件和主机与外存连接起来。作业的输入输出过程由主机中的操作系统控制。
操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另一个是写过程, 负责把缓冲区的信息送到外存输入井中。
在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。读过程和写过程反复循环,直到一个作业输入完毕。
当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。然后,系统为该作业建立作业控制块 jcb,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。
2.5 操作系统为用户提供哪些接口?它们的区别是什么?
答:操作系统为用户提供两个接口界面。一个是系统为用户提供的各种命令接口界面。
用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。另一个接口是系统调用。编程人员使用系统调用来请求操作系统提供服务。
操作系统的命令控制界面就是用来组织和控制作业运行的。
2.6 作业控制方式有哪几种?调查你周围的计算机的作业控制方式。
答:作业控制的主要方式有两种:联机和脱机方式。
脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。作业控制语言的语句就是作业控制命令。不同的批处理系统提供不同的作业控制语言。
联机控制方式不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。用户使用系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。
2.7 什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序有什么区别?
答: 系统调用是操作系统提供给编程人员的唯一接口。编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。
因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。
区别:系统调用是在核心层执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。
2.8 简述系统调用的实现过程。
答:用户在程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。
2.9 为什么说分时系统没有作业的概念?
答:因为在分时系统中,每个用户得到的时间片有限,用户的程序和数据信息直接输入到内存工作区中和其他程序一起抢占系统资源投入运行,而不必进入外存输入井等待作业调度程序选择。因此,分时系统没有作业控制表,也没有作业调度程序。
2.10 linux操作系统为用户提供哪些接口?试举例说明。
答:操作系统为用户提供两种接口,即面向操作命令的借口shell和面向编程用户的接口,即系统调用。常见的shell命令如:
login,logout,vi,emacs,cp,rm,ls,cc,link,adduser,chowm,chmod,service,pgrep等;常见的系统调用如:read,write,openg,close,creat,mount,fork,wait,exit,socket等。
2.11 编写一个简单的 shell 程序,完成一个已有数据文件的复制和打印。
答xt\02\
# copy file
cat >
# print file
cat > dev/lp
2.12 用linux文件读写的相关系统调用,编写一个copy程序。
答:/ \home\os\xt\02\
/ usage copy src dst
#include
#include
#include <>
#include <>
#include <>
#include <>
#define bufsize 8192
int main(int argc,char* ar**)
int src,dst;
char buf[bufsize];
int n;
src = open(ar**[1],o_rdonly);
dst = open(ar**[2],o_rdwr | o_creat | o_trunc,s_irusr | s_iwusr | s_ixusr);
while ((n=read(src,buf,bufsize)) 0 )
if (n<0)
printf("read error !"
close(src);
close(dst);
printf("success !!n");
exit(0);
2.13 略。
第3章进程管理。
page 8.3
3.10 设在书 3.6节中所描述的生产者-消费者问题中,其缓冲部分为m个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度,以及生产者和消费者可对缓冲区同时操作。
重新描述发送过程deposit(data)和接收过程remove(data)。
答:1:设第i块缓冲区的公用信号量为mutex[i],保证生产者进程和消费者进程对同一块缓冲区操作的互斥,初始值为1。
2:设信号量 **ail 为生产者进程的私有信号量,初始值为m。
3: 设信号量 full 为消费者进程的私有信号量,初始值为0。
deposit(data)
beginp(**ail)
选择一个空缓冲区 buf[i]
p(mutex[i])
buf[i] ←data
v(full)
v(mutex[i])
endremove(data)
beginp(full)
选择一个满缓冲区 buf[i]
p(mutex[i])
data ← buf[i]
v(**ail)
v(mutex[i])
end3.11 两进程pa,pb通过两fifo缓冲区队列连接(如图),每个缓冲区长度等于传送消息长度。进程pa,pb之间的通信满足如下条件:
1) 至少有一个空缓冲区存在时,相应的发送进程才能发送一个。
消息。2) 当缓冲队列中至少存在一个非空缓冲区时,相应的接收进程才能接收一个消息。
3) 接受与发送进程可以同时操作缓冲区队列。
试描述发送过程send(i,data)和接收过程receive(i,data)。这里i代表缓冲队列。
答:1:定义数组 buf[0](图中上面的缓冲区),buf[1](图中下面的缓冲区)
2:设 bufempty[0],buffull[1] 为pa的私有信号量,初始值分别为n,0
3:设 bufempty[1],buffull[0] 为pb的私有信号量,初始值分别为n,0
send(i,data)
beginp(bufempty[i])
按fifo方式选择一个空缓冲区 buf[i][j]
buf[i][j] ←data
v(buffull[i]);
endremove(i,data)
beginp(buffull[i])
操作系统第二章作业
第二章作业 第一次作业 1.进程有哪三种基本状态?进程在三种基本状态之间转换的典型原因是什么?2.在linux系统中运行下面程序,最多可产生多少个进程?画出进程家族树。main fork fork fork 3.试从动态性 并发性和独立性上比较进程和程序。4.分析下列 的功能 第二次作业 1.同步机...
操作系统第二章作业
1 一般的处理器由运算器 控制器 一系列的寄存器以及高速缓存构成。运算器实现任何指令中的算术和逻辑运算,是计算机计算的核心 控制器负责控制程序运行的流程,包括取指令 维护cpu状态 cpu与内存的交互等 寄存器是指令在cpu内部作处理的过程中暂存数据 地址以及指令信息的存储设备,在计算机的存储系统中...
操作系统第二章作业
24.在进程调度是抢占式的情形下,书69页图2 24中展示的互斥问题的peterson解法能正常工作吗?如果是非抢占式的情况呢?答 可以正常工作,但如果是非抢占式的情况可能会失败。35.对某系统进行检测后表明,当阻塞在i o之前时,平均每个进程运行时间为t。一次进程切换需要的时间为s,这里s实际上就...