操作系统习题

操作系统习题

1、

线程是进程内一个相对独立的执行单元,但并不能单独运行,只能在程序中运行

2、

A.文件只是文件而已,并不能起到逻辑组织的作用
B.不太清楚,链接文件的最大好处是安全、
C.链接文件不适合随机存取。链式存储结构,又叫链接存储结构。在计算机中用一组任意的 存储单元 存储线性表的 数据元素 (这组存储单元可以是连续的 , 也可以是不连续的 ). 它不要求逻辑上相邻的元素在物理位置上也相邻 . 因此它没有 顺序存储结构 所具有的弱点, 但也同时失去了 顺序表 可 随机存取 的优点.
举个栗子: 数组在内存中是按顺序存放的,可以通过下标直接定位到某一个元素,这是随机存到

链表在内存中不是按顺序存放的,而是通过指针连在一起,为了访问某一元素,必须从链头开始顺着指针才能找到某一个元素,是顺序存取

D.对于软链接。链接文件其实是路径信息, 而不是索引节点。对于硬链接,链接文件应该也是文件,索引节点只不过指向这个文件而已。
 
3、

每块索引地址占4B,物理块大小为2KB,则一个索引物理块可存放512个物理块的索引,两级索引则可存放512*512个物理块的索引,每个物理块大小为2KB,则文件的最大尺寸为512*512*2KB=512MB。

 4、
  • 多次性,是指无需在作业运行时一次性地全部装入内存,而是允许被分成多次调入内存运行。
  • 对换性,是指无需在作业运行时一直常驻内存,而是允许在作业的运行过程中,进行换进和换出。
  • 虚拟性,是指从逻辑上扩充内存的容量,使用户所看到的内存容量,远大于实际的内存容量。
 
5、
 
 

这道题终于会做了。是这样的原理,磁盘会一直朝某个方向旋转,不会因为处理数据而停止。本题要求顺序处理R1到R10,起始位置在R1,一周是20ms,共10个记录,所以每个记录的读取时间为2ms。首先读R1并处理R1,读R1花2ms,读好后磁盘处于R1的末尾或R2的开头,此时处理R1,需要4ms,因为磁盘一直旋转,所以R1处理好了后磁盘已经转到R4的开始了,这时花的时间为2+4=6ms。这时候要处理R2,需要等待磁盘从R5一直转到R2的开始才行,磁盘转动不可反向,所以要经过8*2ms才能转到R1的末尾,读取R2需要2ms,再处理R2需要4ms,处理结束后磁盘已经转到R5的开头了,这时花的时间为2*8+2+4=22ms。等待磁盘再转到R3又要8*2ms,加上R3自身2ms的读取时间和4ms的处理时间,花的时间也为22ms,此时磁盘已经转到R6的开头了,写到这里,大家已经可以看到规律了,读取并处理后序记录都为22ms,所以总时间为6+22*9=204ms。

 
 6、

用户级线程的管理由用户应用程序来完成,内核是不知道用户线程的。

不论什么进程(系统或用户),它们都是在操作系统内核的支持下完成的,与内核紧密相关,不能离开内核。
进程中可以包括内核支持线程和用户级线程。其中,
内核支持线程:它就是在内核的支持下运行的,离不开内核,系统在内核空间为每一个内核支持线程设置一个线程控制块,内核通过此块来感知线程存在,并加以控制它。
用户级线程   : 它仅存在于用户空间,对于这种线程的创建、撤消、线程之间的同步与通信等功能,都无须利用系同调用来实现(无须内核支持控制)。一般为一个应用进程创建较多的用户线程,线程之间的切换和调用比进程要快和简单,这些线程的任务控制块都存在用户空间,内核完全不知道用户级线程的存在。
 
7、

Windows中进程间通信方式有:File, 管道(Pipe),命名管道(named pipe),信号(Signal),消息队列(Message queue),共享内存(shared memory),内存映射(memory –mapped file),信号量(semaphore),套接口(Socket),命名事件。临界区事实上应该算是由信号量来保证的。

临界区与事件是windows线程间通信的方式。管道,共享内存,消息队列,信号量,socket则是windows进程间通信的方式。

 
8、
对于A:进程被唤醒,并不代表该进程一定会上CPU执行
对于B:进程被唤醒,也就是说该进程从阻塞态转换为就绪态
对于C:优先权可能会改变,可能不改变,一般来说是不会改变的
对于D:好像OS没有做这项功能
 
 9、
进程间的通信形式有7种:
pipe,named pipe,semophore,message queue,signal,shared memory,socket
进程间通信: 1,管道(Pipe)及命名管道(Named pipe) 2,信号(Signal) 3,消息队列(Message queue) 4,共享内存(Shared memory) 5,套接字(Socket) 6,信号量(Semaphore)
 
10、
产生死锁的原因主要是:

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

一不满足,就不会发生死锁。
D选项:共享型设备是指在一段时间内允许多个进程同时访问的设备
 
 11、
A,进程与程序不是一一对应的,一个程序可以启动多个进程 
B, 执行一个作业可能会运行多个进程
C,进程是动态的 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/7623130.html