2018年五邑大学计算机学院408计算机学科专业基础综合之计算机操作系统考研核心题库
● 摘要
一、综合题
1. 某操作系统的文件管理采用直接索引和多级索引混合方式,文件索引表共有10项,其中前8项是直接索引项,第9项是一次间接索引项,第10项是二次间接索引项,假定物理块的大小是2KB ,每个索引项占用4字节,试问:
(1)该文件系统中最大的文件可以达到多大?
(2)假定一个文件的实际大小是128MB ,该文件实际占用磁盘空间多大(包括间接索引块)?
【答案】(1)8个直接索引项的文件长度是
一次间址情况下,可以有512个索引,可寻址的最大文件长度是二次间址情况下,可以有512X512个索引,可寻址的最大文件长度是
故最大文件长度是16KB+1MB+512MB。
(2)文件本身占用128M/2K=64K块。
一级间接索引块占用1块; 二级间接索引块占用
故答案应该是 应取127块。
2. 在IPC 软件包中包含哪几种通信机制? 在每种通信机制中设置了哪些系统调用?
【答案】为了实现进程间的通信,在UNIX 系统中提供了一个用于进程间通信的软件包,简称IPC 。它由消息机制、共享存储器机制和信号量机制三部分组成。在每一种通信机制中,都提供了相应的系统调用供用户程序进行进程间的同步与通信之用。
(1)消息机制。用户(进程)在利用消息机制进行通信时,必须先利用msgget 系统调用来建立一个消息队列。若成功,便返回消息队列描述符msgid , 以后用户便可利用msgid 去访问该消息队列。用户(进程)可利用发送消息的系统调用msgsend 向用户指定的消息队列发送消息;利用msgrcv 系统调用从指定的消息队列中接收指定类型的消息;
(2)共享存储器机制。当用户(进程)要利用共享存储器机制进行通信时,必须先利用shmget 系统调用来建立一个共享存储区,若成功,便返回该共享存储区描述符shmid 。以后,用户便可利用shmid 去访问该共享存储区。进程在建立了共享存储区之后,还必须再利用shmat 将该共享存储区连接到本进程的虚拟地址空间上。以后,在进程之间便可利用该共享存储区进行通信。当进程不再需要该共享存储区时,可利用shmdt 系统调用来拆除进程与共享存储区间的连接;
(3)信号量机制。在UNIX 系统中所采用的信号量机制,与一般信号量机制相似,允许将一组信号量形成一个信号量集,并对这组信号量施以原子操作。
3. 目前常用的磁盘调度算法有哪几种? 每种算法优先考虑的问题是什么?
【答案】(1)磁盘调度算法的分类
目前常用的磁盘调度算法有先来先服务、最短寻道时间优先、扫描循环扫,循环扫描、NStepSCAN 和FSCAN 调度等算法。
(2)磁盘调度算法需考虑的问题
①先来先服务算法优先根据进程请求访问磁盘的先后次序进行调度,公平,简单;
②最短寻道时间算法要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短;
③扫描算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头当前的移动方向;
④循环扫描算法规定磁头单向移动,防止磁头刚刚经过位置的请求被延迟;
⑤NStepSCAN 算法将磁盘请求队列分成若干个长度为N 的子队列,磁盘调度将按FCFS 算法依次处理这些子队列,可避免出现粘着现象;
⑥FSCAN 算法只将磁盘请求队列分成两个子队列。
4. 计算机病毒的特征是什么?它与一般的程序有何区别?
【答案】计算机病毒与一般的程序有着明显的区别,其特征主要包括:
(1)寄生性。病毒程序通常不是一个独立的程序,经常是寄生在某个文件中或是磁盘的系统区中,寄生于文件中的病毒称为文件型病毒,而侵入到磁盘系统区中的则称为系统型病毒。还有一种综合型病毒,它既寄生于文件中,又能侵占磁盘系统区;
(2)传染性。计算机病毒在运行过程中将进行自我复制,并将复制品放置在其它文件中或盘上的某个系统区中,文件被感染后便含有了该病毒的一个克隆体,而这个克隆体也同样会传染给其它的文件,如此不断地传染,使病毒迅速蔓延开来;
(3)隐蔽性。为了逃避反病毒软件的检测,计算机病毒的设计者通过伪装,隐藏,变态等手段,将病毒隐藏起来,以逃避反病毒软件的检测,使病毒能在系统中长期生存;
(4)破坏性。表现在占用系统空间,占用处理机时间,对系统中的文件造成破坏,使机器运行产生异常情况。
它与一般程序的区别:病毒程序通常不是独立的程序,具有自我复制和迅速传播的传染性,想方设法隐藏自身,其存在的基本目标就是破坏。
5. 在撤消一个进程时所要完成的主要工作是什么?
【答案】如果系统中发生了要求终止进程的某事件,OS 便调用进程终止原语,按下述过程去终止指定的进程:
(1)根据被终止进程标识符,从PCB 集中检索出进程PCB ,从中读出该进程的状态;
(2)若被终止进程正处于执行状态,立即终止该进程的执行,并置调度标志为真,指示该进
程被终止后可以被重新调度;
(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程;
(4)将被终止进程拥有的全部资源,或者归还给父进程,或者归还给系统;
(5)将被终止进程PCB 从所在队列或链表中移出,等待其它程序搜集信息。
6. 试归纳出在操作系统中引起进程调度可能有的原因有哪些?
【答案】引起进程调度的原因与操作系统的类型有关,大体可归结为以下几种:
(1)正在执行的进程运行完毕;
(2)正在执行的进程提出I/O请求;
(3)正在执行的进程执行某种原语操作(如P 操作)导致进程阻塞;
(4)在分时系统中时间片用完。
以上都是CPU 为不可剥夺方式下引起进程调度的原因。在CPU 是可剥夺方式时,还有下面的原因:
(5)就绪队列中的某个进程的优先级变得高于当前运行进程的优先级时。
7. 为何要引入与设备的无关性? 如何实现设备的独立性?
【答案】(1)引入设备无关系的目的
引入设备独立性,可使应用程序独立于具体的物理设备,显著改善资源的利用率及可适应性;还可以使用户独立于设备的类型。
(2)实现设备独立性的方法
在应用程序中应使用逻辑设备名称来请求使用某类设备,当应用程序用逻辑设备名请求分配I/0设备时,系统必须为它分配相应的物理设备,关在逻辑设备表LUT 中建立一个表目。
8. 何谓缓冲区溢出?攻击者如何利用缓冲区溢出进行攻击?
【答案】缓冲区溢出是指计算机对接收的输入数据没有进行有效的检测,向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。
通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。
9. 何谓UMA 多处理机结构?它又可进一步分为哪几种结构? 【答案】即统一内存访问(也称一致性内存访问)。在这种结构的多处理机系统中,各处理器单元(CPU )在功能和结构上都是相同的,在处理上没有主从之分(即属于SMP 系统),每个处理机可以访问不同模块中的存储器单元,并且对于每个存储器单元的读写速度是相同的。
根据处理机与存储器模块的连接方式的不同,可以具体分为以下三种结构:(1)基于单总线
相关内容
相关标签