os练习题4

高级程序设计语言的编译器是一类应用软件,是高级程序设计语言低级程序设计语言之间的桥梁,将我们容易理解和用的高级程序设计语言写成的代码翻译成目标机器所能识别和运行的机器语言代码。故,D项不是操作系统的作用。


CPU发出一条通道命令,然后由通道和外设交换数据,之后CPU就做其它的事情,通道和外设交换完数据后再向CPU汇报,CPU再处理 通道与CPU分时使用内存,就可以实现CPU与外设的并行工作。



管道是 单向的、先进先出的 它把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道的 尾部写入数据 ,另一个进程(读进程)从管道的 头部读出数据 

管道通信,是指用于连接一个读进程和一个写进程,以实现它们之间通信的一个文件,又称为pipe文件。向管道(共享文件)提供输入的发送进程(即写进程),以字符流形式将大量的数据送入管道;而接收管道输出的接收进程(读进程),则从管道中接收数据。由于发送进程和接收进程是利用管道进行通信的,故又称为管道通信。

为了协调双方的通信,管道进程必须提供以下三方的协调能力:

  • 互斥:当一个进程正在对pipe进行读/写操作时,其它进程必须等待。
  • 同步:当写进程把一定量数据写入pipe时,便去睡眠等待,直到读进程取走数据后,唤醒写进程。读进程读一空pipe时,也应该睡眠等待,直到写进程将数据写入管道,才将之唤醒。
  • 确定对方是否存在,只有确定了对方已经存在时,才能进行通信。


错,保存在任务栈中,系统栈要给下一个要运行的进程用


虚拟存储器的最大容量=min(计算机字长,内存容量和硬盘容量之和)


引入线程的系统中,一个进程中的各个线程可以共享其隶属进程的资源,包括一个进程的代码段数据段及所拥有系统资源,如已打开的文件、I/O设备等。而为了保证线程的独立运行,每个线程都应该包含独立的堆栈和CPU寄存器状态,这些是不能共享的。


高响应比优先算法特点:

①当等待时间相同时,短进程的优先权高;

②当需要运行时间相同时,作业的优先权又取决于等待时间,相当于先到先服务;

③长作业的优先级可以随着等待时间的增加而提高,因此长作业等待一段时间后仍能得到调度。


三个并发进程分别需要3、4、5台设备,当系统只有(3-1)+(4-1)+(5-1)=9台设备时,第一个进程分配2台,第二个进程分配3台,第三个进程分配4台。这种情况下,三个进程均无法继续执行下去,发生死锁。当系统中再增加1台设备,也就是总共10台设备时,这最后1台设备分配给任意一个进程都可以顺利执行完成,因此保证系统不发生死锁的最小设备数为10。


操作系统可以管理系统的各种资源,包括所有硬件资源,如CPU、存储器、输入输出设备和软件资源等,如程序和数据等。 中断是指CPU对系统发生的某个事件作出的一种反应,即CPU暂停正在执行的程序,保留现场后自动转去执行相应的处理程序,处理完该事件后再返回断点继续执行被“打断”的程序。


文件分区表是将大表的数据分成称为分区的许多小的子集,类型有FAT32,NTFST32,NTFS。另外,分区表的种类划分主要有:range,list,和hash分区。划分依据主要是根据其表内部属性。同时,分区表可以创建其独特的分区索引。倘若硬盘丢失了分区表,数据就无法按顺序读取和写入,导致无法操作。


inode是保存文件元信息的区域

一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。

这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)


D选项错误。应该是按照操作码的规定,对指令进行相应的操作


死锁产生的原因及四个必要条件

产生死锁的原因主要是:
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则
就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。
产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3) 不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。


猜你喜欢

转载自blog.csdn.net/qq_39368007/article/details/89052460