操作系统测试题

第一章 操作系统引论

第一讲

从白纸到图灵机的计算过程是一样的()

A. 对

B. 错

正确答案: B

学操作系统的目标是()

A. 会使用OS

B. 会使用OS的接口

C. 能理解真实操作系统的运转

D. 写一个操作系统

正确答案: C

操作系统管理哪些硬件())

A. CPU

B. 内存

C. 网卡

D. 键盘

E. 其他

正确答案: ABCD

你的作答: ABCDE

printf()这一句的执行涉及到内存,总线还有显示器等,是一个复杂的过程

A. 对

B. 错

正确答案: A

printf()这一句的执行涉及到内存,总线还有显示器等,是一个复杂的过程

A. 对

B. 错

正确答案: A

通过命令使用计算机不属于操作系统的接口

A. 对

B. 错

正确答案: B

显卡不属于操作系统管理()

A. 对

B. 错

正确答案: B

操作系统的服务员角色指的是能给用户提供一种接口,开发人员可以直接调用

A. 对

B. 错

正确答案: A

操作系统是一种应用软件

A. 对

B. 错

正确答案: B

Unix和Linux是兄弟关系

A. 对

B. 错

正确答案: A

机制与策略分离的设计理念是操作系统的基本理念

A. 对

B. 错

正确答案: A

学了操作系统就能搞定并发性 (*)

A. 对

B. 错

正确答案: A

操作系统是与硬件相关与应用无关的()

A. 对

B. 错

正确答案: A

操作系统课程是一门专业基础课()

A. 对

B. 错

正确答案: B

计算机的工作方式

A. 放程序放在内存

B. 取指执行

C. 放数据放在内存

D. 在屏幕上显示

正确答案: B

第二讲

哪个是操作系统分层结构设计的特点(   )

A. 每一层只可以使用底层的功能和服务

B. 调试和验证容易

C. 结构变得清晰

D. 以上都是

正确答案: D

具有易维护和易扩展性,采用客户机/服务器模式的通信方式,进程间通信代价大特点的操作系统设计结构是(    )

A. 分层结构

B. 模块结构

C. 微内核结构

正确答案: C

Linux操作系统设计时使用的结构是(   )

A. 分层结构

B. 模块结构

C. 微内核结构

正确答案: B

引入单道批处理系统之后还要引入多道批处理系统的原因(   )

A. 为了进一步提高系统资源的利用率和增加系统吞吐量

B. 为了能让更多的作业放入内存

C. 为了让用户能与作业进行交互

D. 为了提高系统的可靠性

正确答案: A

在分时系统中,时间片一定,(  ),响应时间越长。

A. 内存越多

B. 用户数越多

C. 内存越少

D. 用户数越少

正确答案: B

由多个计算机组成的一个系统,这些计算机之间可以通信来交换信息,互相之间无主次之分,它们共享系统资源,程序由系统中的全部或部分计算机协同执行,管理上述计算机系统的操作系统是(   )

A. 分时OS

B. 实时OS

C. 分布式OS

D. 网络OS

正确答案: C

多个用户在终端设备上的交互方式输入、排错和控制其程序的运行是(   )

A. 分时OS

B. 实时OS

C. 分布式OS

D. 网络OS

正确答案: A

把一个程序划分成若干个宏观同时执行的程序模块的设计方法是(   )

A. 分时OS

B. 实时OS

C. 多道程序设计

D. 并发程序设计

正确答案: D

为了提高计算机的处理机和外部设备的利用率,把多个程序同时放入主存,在宏观上并发运行是 (    )

A. 分时OS

B. 实时OS

C. 多道程序设计

D. 并发程序设计

正确答案: C

在设计批处理系统时,首先要考虑的是 (     )

A. 灵活性和可适应性;

B. 交互性和响应时间;

C. 周转时间和系统吞吐量;

D. 实时性和可靠性。

正确答案: C

批处理系统的主要特点是可以自动地批量执行多个作业任务,系统可以获得较高的吞吐量和较低的周转时间。

在设计实时操作系统时,首先要考虑的是(    )

A. 灵活性和可适应性;

B. 交互性和响应时间;

C. 周转时间和系统吞吐量;

D. 实时性和可靠性。

正确答案: D

实时系统最主要的特征是将时间作为关键参数,它必须对所接收到的某些信号,及时或实时的反应。实时系统是指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。如工业控制系统、信息查询系统、多媒体系统和嵌入式系统。

在设计分时操作系统时,首先要考虑的是(    )

A. 灵活性和可适应性

B. 交互性和响应时间;

C. 周转时间和系统吞吐量;

D. 实时性和可靠性。

正确答案: B

分时系统出现的原因是为了满足多用户可以通过终端设备共享昂贵的主机,进行交互,用户发出的命令能得到快速的响应。

第三讲

CPU在每个时钟周期都检查是否有中断。

A. 对

B. 错

正确答案: B

中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是(    )

A. 程序计数器

B. 程序状态字寄存器

C. 通用数据寄存器     

D. 通用地址寄存器

正确答案: B

当系统有中断信号产生时,CPU立即响应并开始执行中断处理程序。中断处理程序执行完后,返回程序断点处继续执行。为了保证程序的正确执行,在中断处理前后必须保存和恢复被中断的程序现场。需要保存和恢复的现场信息包括:程序计数器、通用寄存器以及程序状态字寄存器等关键寄存器的内容。

一般子程序被调用时,不需要保存程序状态字寄存器的内容,只需要将局部变量、参数以及返回地址压入堆栈。

程序状态字一般包括条件码、中断允许/禁止位、内核/用户态位。程序状态字的内容在进入中断处理程序时可能会发生改变,而在子程序调用时不会发生改变。所以为了能够恢复现场,进入中断处理程序前必须保存程序状态字,而且一般由硬件保存。

中断模型是一种C/S结构。

A. 对

B. 错

正确答案: A

中断的引入是为了为了支持设备和设备之间的并行操作。

A. 对

B. 错

正确答案: B

对系统调用进行优化,是因为系统调用的实现从用户态切换到内核态,执行完系统调用程序后又从内核态切换回用户态,代价很大。

A. 对

B. 错

正确答案: A

Linux的内核模块不属于Linux的几个子系统。

A. 对

B. 错

正确答案: A

Linux内核模块的插入和运行必须用root权限。

A. 对

B. 错

正确答案: A

Linux内核模块运行在用户空间。

A. 对

B. 错

正确答案: B

可加装的内核模块在内核运行时候可加载和卸载,是开发一个新的文件系统,驱动程序的基本机制。

A. 对

B. 错

正确答案: A

从哪个角度会使用到操作系统的系统调用( )

A. 使用者

B. 普通开发者

C. 操作系统设计者

D. 链接程序设计者

正确答案: B

系统调用是(    )。

A. 一条机器指令

B. 中断子程序

C. 用户子程序  

D. 提供编程人员的接口

正确答案: D

系统调用也叫程序接口,是程序级接口,即用户程序可以利用系统提供的一组系统调用去调用操作系统内核中的一个(或一组)过程来完成自己所需的功能。

()是CPU在执行过程中出错了

A. 中断

B. 异常

C. 系统调用

正确答案: B

CPU运行现场指在程序的执行过程中任一时刻状态信息的集合,处理器的状态放在

A. 程序计数器

B. 指令寄存器

C. 程序状态寄存器(PSW寄存器)

D. 其他各种 寄存器

正确答案: C

特权指令既能运行在用户态也能运行在运行在内核态,非特权指令只能运行在用户态

A. 对

B. 错

正确答案: A

第四讲 操作系统接口

如果你想知道你编写的程序hello到底调用哪些系统调用,可以使用(   )命令实现。

A. top ./hello

B. strace

C. top 

D. strace ./hello

正确答案: D

Linux系统的系统调用是通过(   )中断实现的。

A. 0x21

B. 0x80 

C. 0x81

D. 0x20

正确答案: B

DOS系统的系统调用,通过(  )中断号实现的

A. 20H

B. 21H

C. 22H

D. 23H

正确答案: B

系统调用与一般函数调用的最大不同是(   )?

A. 系统调用递归调用层次受限,而一般函数调用递归调用层次不受限

B. 系统调用不能再调用另一个系统调用,而函数调用可以

C. 系统调用存在用户态和内核态的转换,而一般函数没有

D. 系统调用不是函数

正确答案: C

以fwirte函数调用为例,它的实现过程是:在用户态fwrite函数在glibc库中调用系统调用write(),然后在用户态,查找系统调用表syscall table,找到对应的系统调用服务例程为sys_write,然后在内核执行该例程。这句话是否正确?( )

A. 对

B. 错

正确答案: B

C语言的库函数其实是对(   )的封装。

A. 基础函数

B. 系统调用

正确答案: B

操作系统的接口有哪些类型?(  )

A. 图形接口

B. 命令级接口

C. 程序接口

D. 以上都是

正确答案: D

各种类Unix的操作系统,他们都要遵循(   )标准设计接口,这样可以保证使用这些接口的应用程序可以方便移植到不同的类Unix操作系统上运行。

A. IEEE

B. Unix

C. POSIX

D. GUN

正确答案: C

与硬件直接打交道的是谁?用户想要用硬件资源如何使用?(   )

A. 操作系统 , 系统调用

B. 操作系统,普通函数

C. CPU、系统调用

D. CPU、普通函数

正确答案: A

磁盘的驱动驱动磁盘读数据,得到数据后交给文件系统,用户通过文件系统的read()函数得到数据,read函数就是服务员的角色,大厨相当于OS。()

A. 错

B. 对

正确答案: B

第二章

进程引入

在单处理机系统中,处于运行状态的进程( )。

A. 最多只有一个

B. 可以有多个

C. 不能被挂起

D. 必须在执行完后才能被撤下

正确答案: A

下列进程状态的转换中,不正确的是( )。

A. 就绪到运行

B. 运行到就绪

C. 就绪到阻塞

D. 阻塞到就绪

正确答案: C

某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态转换是( )。

A. 从就绪变为运行

B. 从运行变为就绪

C. 从运行变为阻塞

D. 从阻塞变为就绪

正确答案: C

原语是( )。

A. 一条机器指令

B. 若干条机器指令组成,不可被中断

C. 一条特定指令

D. 中途能打断的指令

正确答案: B

支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中( ) 不是引起操作系统选择新进程的直接原因。

A. 运行进程的时间片用完

B. 运行进程出错

C. 运行进程要等待某—事件的发生

D. 有新进程进入就绪状态

正确答案: D

下面对进程的描述中,错误的是( ) 。

A. 进程是动态的概念

B. 进程执行需要处理机

C. 进程是有生命期的

D. 进程是指令的集合

正确答案: D

下列的进程状态变化中, ( )变化是不可能发生的。

A. 运行—就绪

B. 运行—等待

C. 等待一运行

D. 等待一就绪

正确答案: C

一个运行的进程用完了分配给它的时间片后还没运行完,它的状态变为 ( )。

A. 就绪

B. 等待

C. 运行

D. 由用户自己确定

正确答案: A

多道程序环境下,操作系统分配资源以( )为基本单位。

A. 程序

B. 指令

C. 进程

D. 作业

正确答案: C

操作系统通过( )对进程进行管理。

A. FCB

B. PCB

C. DCB

D. DBC

正确答案: B

进程控制

在支持多线程的系统中,进程P创建的若干个线程不能共享的是(   )。

A. 进程P的代码段

B. 进程P中打开的文件

C. 进程P的全局变量

D. 进程P中某线程的栈指针

正确答案: D

线程控制块TCB中不应拥有的内容是(  )。

A. 内存地址空间   

B. 指令计数器PC

C. 用户栈指针

D. 线程状态

正确答案: A

一般TCB中的内容较少,因为有关资源分配等多数信息已经记录于所属进程的PCB中。TCB中的主要信息包括线程标识、线程状态、调度参数、现场、链接指针,其中现场信息主要包括通用寄存器、指令计数器PC以及用户栈指针,对于操作系统支持的线程,TCB中还应包含系统栈指针。

容器就是一个进程。

A. 对

B. 错

正确答案: A

进程上下文是指进程的执行环境。

A. 对

B. 错

正确答案: A

进程处于浅深度睡眠状态不可由其他进程通过信号和时钟中断唤醒。

A. 对

B. 错

正确答案: B

一个进程一旦创建就可以为其分配CPU,并运行。

A. 对

B. 错

正确答案: B

进程代表程序的执行过程,它是一个动态的实体,随着程序中指令的执行不断地变化。

A. 对

B. 错

正确答案: A

创建进程属于一种策略而不是机制。

A. 对

B. 错

正确答案: B

在创建进程时,(  )不是创建进程所必须的步骤。

A. 由调度程序为进程分配CPU

B. 建立一个PCB

C. 为进程分配内存

D. 将进程插入就绪队列

正确答案: A

一旦操作系统发现了要求创建新进程的事件后,便调用进程创建原语来创建一个新进程,创建的过程是:申请空白PCB,为新进程分配资源,初始化进程控制块,将新进程插入就绪队列。不会创建进程的时候就为它分配CPU。

哪个命令可以查看进程的动态情况( )

A. ps

B. top

C. ls

D. cd

正确答案: B

进程同步机制

对于临界区,进程之间可同时进行修改操作。

A. 对

B. 错

正确答案: B

为了避免对临界区进行并发访问,编程者必须保证临界区代码被原子地执行。

A. 对

B. 错

正确答案: A

临界资源是访问和操作共享数据的代码段。

A. 对

B. 错

正确答案: B

我们把在一段时间内,只允许一个进程访问的资源,称为临界资源,因此,我们可以得出下列论述,正确的论述为(  )。

A. 对临界资源是不能实现资源共享的。

B. 只要能使程序并发执行,这些并发执行的程序便可对临界资源实现共享。

C. 为临界资源配上相应的设备控制块后,便能被共享。

D. 对临界资源,应采取互斥访问方式,来实现共享。

正确答案: D

设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是( )。

A. 0、1

B. 1、0

C. 1、2

D. 2、0

正确答案: B

进程的等待队列不是共享队列,因此不需要保护。

A. 对

B. 错

正确答案: B

两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的(  )关系。

A. 同步

B. 互斥

C. 竞争

D. 合作

正确答案: A

有两个并发执行的进程 P1 和 P2,共享初值为 1 的变量 x。P1 对 x 加 1,P2 对 x 减 1。加1 和减 1 操作的指令序列分别如下所示。
 

jia.png


两个操作完成后,x 的值A.可能为

A. 可能为-1 或 3

B. 只能为 1

C. 可能为 0、1 或 2

D. 可能为-1、0、1 或 2

正确答案: C

关于wait()和signal()操作,下面哪个说法是对的( )

A. wait()申请一个资源,资源不够,则阻塞,signal()操作释放一个资源,若有进程等待在唤醒

B. wait()申请一个资源,signal()操作释放一个资源,若有进程等待在唤醒

C. wait()申请一个资源,资源不够,则阻塞,signal()操作释放一个资源

D. wait()申请一个资源,signal()操作释放一个资源

正确答案: A

哲学家就餐

关于哲学家就餐问题,下列叙述错误的是()

A. 5个叉子表示5个临界资源,因此设5个信号量,每个的初值为1

B. 每个哲学家必须获得两个资源才能吃通心粉,因此可以通过AND信号量解决同步问题。

C. 当每个哲学家拿到一个叉子时,谁也吃不到通心粉,这就出现死锁了。

D. 用AND信号量信号量解决哲学家就餐问题,依然会出现死锁。

E. 当5个哲学家线程同时运行时,可能出现死锁,也可能不出现死锁

正确答案: D

读者写者

关于读者和写者问题,下列说法错误的是( )

A. 如果有一个读者在读,其他读者也可以读,因此读者与读者之间不需要互斥。

B. 如果有一个读者读,其他写者就不能写,因此,读者和写者之间需要互斥。

C. 只要有一个写者写,其他写者就不能写,因此,写者和写者之间需要互斥。

D. 如果有多个读者,需要设一个共享变量来计数,这个共享变量是临界区

正确答案: D

进程间通信(IPC)

关于消息通信,以下说法错误的是()

A. 当发送消息时,发送原语就陷入到内核态,然后申请消息缓冲区,消息被从用户态缓冲区拷贝到这个消息缓冲区中,接着要找到接收者进程的pcb,并将消息挂到该PCB消息队列队列的末尾。

B. 因为消息队列是临界资源,因此插入操作要用wait-signal的操作,确保它们互斥的进行。

C. 消息队列是临界资源,应该对其进行互斥的访问,不存在同步问题。

D. 当发送者进程把消息放到消息队列离开的时,要进行一个signal操作,就是要唤醒接收者进程,告诉接收者进程,队列中有消息了。

正确答案: C

共享内存通信两个进程共享同一块区域,因为这块区域两个进程都可以访问,因此,必须互斥的进行,这种说法( )

A. 对

B. 错

正确答案: A

一般管道通信用于父子进程之间 ,当我们通过fork( )创建了父子进程,那么父子进程的管道都有两个文件描述符,必须关闭其中的一个读端和一个写端,建立一条“父进程写入子进程读取”的通道,或者“子进程写入父进程读取”的通道,这种说法()

A. 对

B. 错

正确答案: A

进程之间是通过( )进行通信的

A. 内核

B. 进程

C. 线程

D. 协程

正确答案: A

管道通信有读端和写端,这个模型是( )

A. 读者-写者

B. 生产者消费者

C. 哲学家就餐

D. 爸爸妈妈儿子女儿吃苹果和橘子

正确答案: B

进程调度

不适宜采用不可抢占处理机的优先数调度算法的系统是( )。

A. 实时系统   

B. 分时系统   

C. 单道批处理系统

D. 多道批处理系统

正确答案: A

在采用等长时间片轮转处理机调度算法的分时操作系统中,各终端用户所占有处理机的时间总量是( )。

A. 与终端进程数有关的

B. 相同的

C. 与终端数有关的

D. 以上都不对

正确答案: A

解析:处理机是分配给进程(线程)的,而不同终端用户可能有不同数量的进程,一个拥有较多数量进程的终端显然比拥有较少数量进程的终端获得CPU的时间要多。

在分时系统中,进程调度除了采用时间片轮转算法,还可以结合( )调度算法。

A. 可剥夺CPU的动态优先数调度算法

B. 先来先服务调度算法

C. 短作业优先调度算法

D. 高响应比优先调度算法

正确答案: A

在非剥夺调度方式下,运行进程执行V原语后,其状态(  )。

A. 不变

B. 要变

C. 可能要变

D. 可能不变

正确答案: A

解析:运行进程执行V原语后,有可能唤醒等待队列上的进程,但是在非剥夺调度方式下,不会抢夺正在运行进程对CPU的控制权,当前运行的进城会继续运行下去,因此,其状态不变

作业从进入后备作业队列到被调度程序选中的时间间隔称为(  )。

A. 响应时间

B. 等待时间

C. 周转时间

D. 运行时间

正确答案: B

解析:响应时间是用于评价分时系统的性能的,是从用户提交一个请求开始,直至系统首次产生响应为止的时间;周转时间是用于评价批处理系统的系统的,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔;运行时间是指CPU真正给进城服务的时间。因此,作业进入后备队列到等待被调度程序选中的这段时间间隔应该是等待时间。

若在T1时刻进程P1运行,T2时刻进程P2运行,且P1≠P2,则在时刻T1和时刻T2期间之内是否发生过中断( )。

A. 一定发生过

B. 不一定发生过

C. 可能发生过

D. 一定没发生过

正确答案: A

解析:如果在时刻T1进程P1在运行,在时刻T2进程P2在运行,且P1≠P2,则说明在时刻T1和时刻T2之间发生了进程切换。这说明在时刻T1和时刻T2之间执行了处理机调度程序,而处理机调度程序是操作系统低层中的一个模块,在系统运行的过程中,除非显式地调用到该模块,否则系统不会由运行一个进程转去运行另外一个进程,就是说不会发生进程切换。只有进入操作系统,即处于系统态,才有可能调用到处理机调度, 因为处于用户态运行的用户程序不可能直接调用操作系统中的任何模块。中断是系统由用户态转换为系统态的必要条件。据此,假如在时刻T1与时刻T2之间发生了进程切换,则在时刻T1与时刻T2之间一定发生过中断。例如:一个进程执行一个系统调用命令将一个消息发给另外一个进程,该命令的执行将通过中断进入操作系统,操作系统处理完消息的发送工作后可能返回原调用进程,此时中断未导致进程切换;也可能选择一个新的进程,此时中断导致了进程切换。

有两个程序:A程序按顺序使用CPU 10s,使用设备甲5s,使用CPU 5s,使用设备乙10s,最后使用CPU 10s;B程序顺序使用设备甲10s,使用CPU 10s,使用设备乙5s,使用CPU 5s,使用设备乙10s,在顺序环境下执行A程序和B程序,CPU的利用率为(  )。

A. 30%

B. 40%

C. 50%

D. 60%

正确答案: C

解析:A程序和B程序使用CPU共10s+5s+10s+10s+5s=40s,总共的运行时间为10s+5s+5s+10s+10s+10s+10s+5s+5s+10s=80s,故CPU的利用率为40s/80s=50%。

假设就绪队列中有10个进程,系统将时间片设为400ms,CPU进行进程切换要花费20ms。则系统开销所占的比率约为(  )。

A. 1%

B. 5%

C. 10%

D. 20%

正确答案: B

解析:系统没选中一个进程,进行一次进程切换,10个进程需要切换10次,切换开销为10*20ms=200ms;每个进程运行时间片为400ms,10个进程共10*400ms=4000ms。故系统开销所占比率为200ms/(4000+200)ms,约为5%。

当一个位于后备队列中的作业被选中调入内存的时候,按照其作业步的顺序,依次为每个作业建立对应的主进程,并为它分配必要的资源,然后提交给进程管理模块由(  )管理。

A. 进程调度程序  

B. 作业调度程序

C. I/O管理程序

D. 内存管理程序

正确答案: A

为作业创建进程后进入就绪队列,等待进程调度程序的调度

当一个作业的作业控制块等表格填写完毕后,任务作业的JCB就连成一串而形成了一个排队队列,该队列称为作业(  )。

A. 阻塞队列

B. 后备队列

C. 就绪队列

D. 运行队列

正确答案: B

作业创建好进入系统,完成了一些表格的填写后,排在外存的后备队列里。

死锁

有三个进程P1,P2和P3并发工作。进程P1需用资源S1和S2;进程P2需用资源S2和S3;进程P3需用资源S3和S1。会产生死锁吗?如果会是什么原因?()

A. 不会,进程资源请求顺序合理

B. 会,当P1、P2、P3对资源请求保持形成循环等待

C. 可能会,当P1、P2、P3对资源请求保持形成循环等待

D. 不会,资源充足不会产生死锁

正确答案: C

以下哪些是死锁的起因()

A. 竞争不可抢占性资源

B. 竞争可消耗性资源

C. 进程推进顺序不当

D. ABC都是

正确答案: D

某系统中有13台打印机,N个进程共享打印机资源,每个进程要求3台。当N的取值不超过(  )时,系统不会发生死锁。

A. 4

B. 5

C. 6

D. 7

正确答案: C

下面关于安全状态和不安全状态说法正确的是(  )。

A. 系统处于安全状态,系统不会进入死锁状态;系统处于不安全状态,系统有可能进入死锁状态。

B. 系统处于安全状态,系统不会进入死锁状态;系统处于不安全状态,系统会进入死锁的状态。

C. 安全状态是没有死锁的状态,不安全状态是有死锁的状态。

D. 安全状态是可能有死锁的状态,不安全状态是一定有死锁状态。

正确答案: A

发生死锁的必要条件为四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏(  )条件是不太实际的

A. 不可剥夺

B. 互斥

C. 部分等待

D. 循环等待

正确答案: B

可以通过破坏死锁的四个必要条件来预防死锁。可以破坏不可剥夺条件,规定进程在提出新的资源请求而不能立即满足时,必须释放已经保持的所有资源;破坏部分分配条件,规定所有进程在开始运行之前,必须一次性的申请到所需的全部资源,否则,一个也不分配;破坏循环等待条件,规定将系统中所有的资源进行编号,进程在申请资源时必须严格按照资源序号递增的次序,这样就不可能出向环流。而互斥条件是由设备的固有条件所决定的,不仅不能改变,还应加以保证。

可避免死锁的算法是()。

A. 轮询算法

B. 银行家算法

C. 预测算法

D. 电梯梯度算法

正确答案: B

连续内存管理

在多用户环境中为了实现多用户之间的隔离,必须采取(    )措施。

A. 存储管理

B. 存储扩充

C. 存储保护

D. 存储共享

正确答案: C

在多用户环境中,系统中多个程序均存放在主存中,如何保证一道程序在执行过程中不会有意或无意破坏另外一道程序在内存中的代码和数据,这是存储保护要实现的功能。多用户之间的隔离,要求必须对程序和数据有完善的保护,因此必须采取存储保护的措施。

下列对重定位的叙述中,正确的选项是:(    )。

A. 经过重定位后,指令代码并不发生变化

B. 经过重定位后,只是数据地址发生了变化

C. 经过重定位后,指令代码中的操作码和操作数地址都要发生变化

D. 经过重定位后,只是数据地址和指令代码中的操作数发生了变化

正确答案: A

经过重定位后,指令代码并不发生变化,即指令代码中的操作码和操作数都不发生变化,变化的是指令代码的地址和数据地址。

设三个目标模块A、B、C,起始地址都是0,长度分别是L、M、N,这三个模块按A、B、C顺序采用静态链接方式链接在一起后,则模块C的起始地址变换为(    )。

A. L+M+N

B. L+M

C. L+M-1

D. M+N

正确答案: B

静态链接是在程序运行之前,将各目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开。采用静态链接方式链接在一起后,模块C的相对地址只要加上前面模块的大小就行了,即L+M。由于整体的起始地址是0,因此模块结尾地址是长度减1,即模块C结尾地址是L+M+N-1。

在可变分区存储管理系统中,某一个作业完成后,系统回收其主存空间,并与相邻空间合并,为此需要修改空闲区表,造成空闲区数减1的情况是(    )。

A. 无上邻接空闲区,也无下邻接空闲区

B. 有上邻接空闲区,但无下邻接空闲区

C. 无上邻接空闲区,但有下邻接空闲区

D. 有上邻接空闲区,也有下邻接空闲区

正确答案: D

对于回收的内存区,.如果该内存分区不与原有任何空白区相邻,空闲分区个数增加1;如果该内存分区与原有的一个空白区相邻,空闲分区个数保持不变;如果该内存分区跟原有的两个空白区相邻,空闲分区个数减1。

某系统采用固定分区分配存储管理,内存空间为640K,其中地址0到40K被系统占用,其它空间按分区大小相等的方法划为4个分区,则当有大小分别为7 KB、90KB、30KB、20KB的作业进入内存时,浪费的内存为(    )。

A. 3KD

B. 450KB

C. 453KB

D. 147KB

正确答案: C

由于是采用固定分区分配存储管理,且空间按分区大小相等的方法划为4个分区,所以每个分区大小都是150KB,四个作业进入内存后分别占据4个分区,剩余空间不能被其它作业利用,即造成浪费。浪费的内存=600-7-90-30-20=453KB

可通过界限寄存器进行存储保护的存储器管理方法是(    )。

A. 分区式分配存储管理

B. 分页存储管理

C. 分段存储管理

D. 段页式存储管理

正确答案: A

为防止一个作业有意或无意地破坏操作系统或其它作业,应采取存储保护措施。分区分配中通常采用界限寄存器的方法,因此分区分配亦称界限存储管理。可通过界限寄存器进行存储保护的存储器管理方法还有单一连续分配方式存储管理。存储保护管理方法的采用和存储器管理中的地址变换原理直接有关。

某动态分区分配存储管理系统,某时刻内存中空闲分区情况如表2-7所示,有一个作业申请50 KB内存,系统把第4个空闲分区分配给了该作业,则该系统采用的分区分配算法是(    )。内存空闲分区情况:序号1的分区大小是80KB,分区始址是60KB;序号2的分区大小是75KB,分区始址是150KB;序号3的分区大小是55KB,分区始址是250KB;序号4的分区大小是90KB,分区始址是350KB.

A. 最佳适应算法

B. 最坏适应算法

C. 首次适应算法

D. 循环首次适应算法

正确答案: B

界限寄存器存储保护方法(    )。

A. 在“基址寄存器值≤访问地址≤基址寄存器值+限长寄存器值”时不允许访问,产生错误中断

B. 用户可以修改基址寄存器和限长寄存器的值

C. 基址寄存器和限长寄存器是主存储器的一部分

D. 设置两个寄存器:基址寄存器和限长寄存器

正确答案: D

在界限寄存器存储保护方法中设置了两个寄存器,即基址寄存器和限长寄存器。当“基址寄存器值≤访问地址≤基址寄存器值+限长寄存器值”时访问地址正常,允许访问;否则,不允许访问,产生错误中断。系统不允许用户随意修改基址寄存器和限长寄存器的值,只有操作系统才有权改变它们的值。基址寄存器和限长寄存器是中央处理器的硬件设置,不属于主存储器。

页式管理以及地址转换

在页式存储管理系统中,地址寄存器长度为24位,其中页号占14位,则主存的分块大小为(    )字节。

A. 2^24

B. 2^14

C. 2^10

D. 10

正确答案: C

在分页存储管理系统中,逻辑地址格式为:  页号P  位移量W  。该题中页号占14位,地址总长度占24位,则页内位移量W=地址总长度-页号=10位。所以页面大小为2^10字节。在分页存储管理中,页面大小和块大小相同,因此主存分块大小也为2^10字节。

分页系统中的页面是为( )所感知的。

A. 用户

B. 操作系统

C. 编译系统

D. 连接装配程序

正确答案: B

内存分页管理是在硬件和操作系统层面实现的,对用户、编译系统、连接装配程序等上层是不可见的。

有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、A、5块,试将虚地址1ADDH转换成内存地址。()

A. 10973

B. 1001

C. 10976

D. 1003

正确答案: A

虚地址:1ADDH是十进制数6877   P=6877/2048=3  W=6877mod2048=733     MR=5*2048+733= 10973

在页式存储管理方案中,采用( )实现地址变换

A. 页表

B. 段表

C. 段表和页表

D. 空闲区表

正确答案: A

页表实现从逻辑地址到物理地址的转换

有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、10、5块,试将虚地址7145转换成内存地址。

A. 11241

B. 11341

C. 11242

D. 11342

正确答案: A

虚地址:7145   P=7145/2048=3  W=7145mod2048=1001  MR=5*2048+1001=11241

页面高速缓存是一种硬件机制,专门用来支持地址转换的。

A. 对

B. 错

正确答案: A

分页的原理使得每个进程可以拥有自己独立的虚拟内存空间。

A. 对

B. 错

正确答案: A

某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为: 页目录号  页号  页内偏移量 ,逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是

A. 64

B. 128

C. 256

D. 512

正确答案: B

虚拟内存管理

某计算机,采用Intel80286处理器,内存4MB,硬盘200MB,地址寄存器为24位,则虚拟存储器可管理的空间为(    )。    

A. 4M    

B. 16M

C. 200M    

D. 204M    

正确答案: B

虚拟存储器可管理的空间直接决定于地址寄存器位数,而与内存及辅存的物理容量大小无关。因此地址寄存器为24位的虚拟存储器可管理空间为:224=16M。

在请求分页系统中,凡未装入过内存的页都应从﹎A﹎调入;已运行过的页主要是从﹎B﹎调入,有时也可以从﹎C﹎调入。

 A,B,C:

(1)系统区; (2)文件区;

(3)对换区;    (4)页面缓冲池。

A. 

A-(1)  B-(3)  C-(4)

B. 

A-(2)  B-(3)  C-(1)

C. 

A-(2)  B-(1)  C-(4)

D. 

A-(2)  B-(3)  C-(4)

正确答案: D

在请求分页内存管理的页表表项中,其中状态位供﹎A﹎时参考;修改位供﹎B﹎时参考;访问位供﹎C﹎时参考;外存始址供﹎D﹎时参考。 A,B,C,D:

(l)分配页面; (2)置换算法;

(3)程序访问; (4)换出页面;

(5)调入页面。 

A. 

A-(3)  B-(4)  C-(2)  D-(5)

B. 

A-(1)  B-(4)  C-(2)  D-(5)1

C. 

A-(3)  B-(4)  C-(2)  D-(1)

D. 

A-(3)  B-(1)  C-(2)  D-(5)

正确答案: A

虚拟存贮管理系统的基础是程序的局部性理论。此理论的基本含义是﹎﹎。局部性有两种表现形式:时间局限性和﹎﹎。它们的意义分别为﹎﹎和﹎﹎。

①程序执行时对主存和访问是不均匀的②代码的顺序执行③变量的连续访问④指令的局部性 ⑤数据的局部性 ⑥空间局部性

⑦最近被访问的单元,很可能在不久的将来还要被访问 ⑧最近被访问的单元,很可能在它附近的单元也即将被访问 ⑨结构化程序设计,很少出现转移语句 ⑩程序中循环语句的执行时间一般很长 ⑪程序中使用的数据局部于各子程序。 

A. 

①⑥ ⑦⑨

B. 

①⑥ ⑦⑧

C. 

①③ ⑦⑨

D. 

②③ ⑦⑨

正确答案: B

分页的原理使得每个进程可以拥有自己独立的虚拟内存空间。

A. 对

B. 错

正确答案: A

分页机制是在保护模式下开启的。

A. 对

B. 错

正确答案: A

一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是

A. 2^8字节

B. 2^16字节

C. 2^24字节

D. 2^32字

正确答案: C

CPU访问的是虚拟地址。

A. 对

B. 错

正确答案: A

编译、链接和可执行文件

关于编译,下列说法正确的是:

A. 编译就是展开所有的宏定义并删除 #define。

B. 编译过程就是对预处理完的文件进行一系列的词法分析,语法分析,语义分析及优化后生成相应的汇编代码,

C. 预处理就是对汇编代码进行处理,生成处理器能识别的指令,保存在后缀为.o的目标文件中

D. 编译后生成的文件就是可执行文件

正确答案: B

关于链接,下列说法错误的是()

A. 静态链接是指在编译阶段直接把静态库加入到可执行文件中去,这样可执行文件会比较大。

B. 动态链接则是指链接阶段仅仅只加入一些描述信息,而程序执行时再从系统中把相应动态库加载到内存中去。

C. 为创建可执行文件,链接器必须要完成的主要任务是:符号解析(把目标文件中符号的定义和引用联系起来)和重定位(把符号定义和内存地址对应起来然后修改所有对符号的引用)

D. 由于链接动态库和静态库的路径可能有重合,所以如果在路径中有同名的静态库文件和动态库文件,比如libtest.a和libtest.so,gcc链接时默认优先选择静态库

正确答案: D

关于可执行文件,下列说法错误的是()

A. 可以使用readelf -S查看其各个section的信息。

B. 链接器链接后生成的最终文件为ELF格式可执行文件,一个ELF可执行文件通常被链接为不同的段,常见的段譬如.text、.data、.rodata、.bss等段。

C. 由于ELF文件无法被当做普通文本文件打开,如果希望直接查看一个ELF文件包含的指令和数据,需要使用反汇编的方法。使用objdump -D对其进行反汇编。

D. 未初始化的数据段bss和已初始化的数据段是放在一起的

正确答案: D

页面换入换出及置换算法

在请求分页内存管理的页表表项中,其中状态位供﹎﹎时参考;修改位供﹎﹎时参考;访问位供﹎﹎时参考;外存始址供﹎﹎时参考。 

①分配页面; ②置换算法;

③程序访问; ④换出页面;

⑤调入页面。 

A. 

③④②⑤

B. 

①④②⑤

C. 

③④②①

D. 

③④①⑤

正确答案: A

在请求分页系统中,凡未装入过内存的页都应从﹎﹎调入;已运行过的页主要是从﹎﹎调入,有时也可以从﹎﹎调入。

 A,B,C:

①系统区; ②文件区;

③对换区; ④页面缓冲池。

A. 

①③④

B. 

②①④

C. 

②③①

D. 

②③④

正确答案: D

一进程已分配到4个页块。如表2-12所示(所有数宇都为10进制数,且以0开始)。
 

置换算法.png


当进程访问第4页时,产生缺页中断,请分别用FIFO(先进先出)、LRU(最近最少使用)、NRU(最近不用)算法,决定缺页中断服务程序选择换出的页面分别为( )

A. (2,1,0)

B. (3,2,1)

C. (2,3,1)

D. (3,1,0)

正确答案: D

设某作业占有 5个页面,如果在主存中只允许装入4个工作页面,作业运行时,实际访问页面的顺序是4,3,2,1,4,3,5,4,3,2,1,5。试用 FIFO与LRU页面置换算法,则其缺页中断次数和缺页率为( )

A. 7和58%

B. 8和67%

C. 9和75%

D. 10和83%

正确答案: B

在请求分页存储管理系统中,凡未装入过的页都应从(    )调入主存。

A. 系统区

B. 文件区

C. 交换区

D. 页面缓冲区

正确答案: B

在段页式存储管理中,当执行一段程序时,至少访问(    )次内存。

A. 1

B. 2

C. 3

D. 4

正确答案: C

通常CLOCK置换算法只有一位访问位,而一种改进的CLOCK置换算法则通过一个访问位A和一个修改位M来选出淘汰的页。如果已访问,则A为1,已修改,则M为1,那么下面四种A和M的组合中,最佳被淘汰页的情况是(    )

A. A为0,M为0

B. A为0,M为1

C. A为1,M为0

D. A为1,M为1

正确答案: A

IO系统入门

关于read()和write(),有下列两句
n=read(0,buf,128);
write(1,buf,n);
 

键盘处理_wps图片.jpg



下列叙述,正确的是()

A. write()是针对tty写设备的,buf加入wirte_q队列

B. read()是针对tty读设备的,buf加入read_q队列

C. wirte_q队列和read_q队列是临界资源,需要同步和互斥

D. 键盘驱动程序需要对read_q队列进行操作

正确答案: C

int fd=open("/dev/XXX",O_RDRW);
for (int i=0;i<10;i++) {
  write(fd,i,sizeof(int));
 }
close(fd);

在这段代码中,下列说法错误的是()

A. 其中的xxx是一个设备文件,有主设备号和次设备号

B. open(),write()和close()是文件系统的函数,在这里会报错

C. 不同设备对应不同的设备文件/dev/xxx

D. 根据设备名的主设备号,可以找到相应的驱动程序,驱动程序进行数据的读写等。

正确答案: B

关于printf()和wirte(),下面说法错误的是()

A. pintf()是标准库函数,write()是系统调用

B. printf()和wirte()都只能在标准输出设备上输出

C. printf()函数的实现要调用write()

D. 不管是printf()还是wirte(),并不是马上写到外设上,而是先写到缓存。

正确答案: B

关于显卡的工作原理,下面叙述错误的是

A. CPU向显卡控制器发出写命令,显卡控制器控制在屏幕上显示

B. CPU发出写命令后,就处理自己的事情了

C. 当显卡显示结束后,向CPU报告中断,CPU执行中断处理程序

D. 显卡的驱动程序中不包含中断处理程序

正确答案: D

I/O输入输出系统测试(二)

CPU对通道的请求形式是(   )。

A. 自陷  

B. 中断

C. 通道命令

D. 转移指令

正确答案: C

下列说法不正确的是(       )

A. 程序直接控制方式耗费大量的的CPU时间,而无法检测发现设备或其他硬件产生的错误,设备和CPU,设备和设备之间不能并行工作 

B. 中断处理方式因为中断次数太多因而消耗大量的CUP时间

C.通道控制方式在CPU发出I/O启动命令后,由通道指令来完成存放数据的内存原始地址以及操作方式和传送字节的长度

D. DMA方式不能直接在外设和内存之间交换数据。

正确答案: D

下列不属于CPU和常用设备传送控制方式的是(      )

A. 程序间接控制方式

B. 中断控制方式 

C. DMA方式 

D. 通道方式

正确答案: A

在DMA方式中,信息的传送方向、信息传送的源地址和目的地址以及传送长度等都是由(   )控制。

A. DMA

B. DMA控制器 

C. 主存 

D. 通道

正确答案: B

通道对CPU的请求形式是(    )。

A. 自陷

B. 中断

C. 通道命令

 D. 跳转指令

正确答案: B

通道是一种(    )

A. 保存I/O信息的部件

B. 传输信息的电子线路

C. 通用处理机

D. 专用处理机

正确答案: D

某系统中,采用中断驱动I/O控制方式,假设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计箕,若系统时钟中断频率为100Hz,则CPU的利用率为(    )。

A. 60% 

B. 70% 

C. 80%   

D. 90%

正确答案: D

时钟周期=1/100=0.01s=10ms

CPU利用率=1-1ms/l0ms=90%

在下面的I/O控制方式中,需要CPU干预最少的方式是(    )。

A. 程序I/O方式 

B. 中断驱动I/O控制方式

C. 直接存储器访向DMA控制方式

D. I/O通道控制方式

正确答案: D

在早期的计算机系统中,采用程序I/O方式;当在系统中引入中断机制后,I/O方式发展为中断驱动控制方式,这种方式在I/O传输每个数据的过程中,无需CPU干预,仅当输完一个数据时,才需CPU花费极短的时间去做这些中断处理;此后,随着DMA控制器的出现,又使I/O方式从以字节为单位的传输扩大到以数据块为单位进行传输,仅在传输一个或多个数据块开始或结束时,才需要CPU干预;而I/O通道可进一步减少CPU的干预,把对一个数据块的读(或写)为单位的干预,减少为对一个数据块的读(或写)及有关的控制和管理为单位的干预

I/O系统结构分为四级:(1)设备控制器(2)I/O设备(3)存储器(4)I/O通道,按级别由高到低的顺序是(    )。

A. 

(2)-(4)-(1)-(3)

B. 

(3)-(1)-(4)-(2) 

C. 

(2)-(1)-(4)-(3)

D. 

(3)-(4)-(1)-(2)

正确答案: D

输入输出系统驱动程序测试题(三)

字符设备驱动程序的注册意味着把一个字符驱动程序加入字符驱动程序表chrdevs中。

A. 对

B. 错

正确答案: A

文件系统操读写的单位是块,驱动程序读写单位为扇区(sector)。

A. 对

B. 错

正确答案: A

Linux设备模型将硬件设备归纳、分类,然后抽象出一套标准的数据结构和接口。驱动的开发,就简化为对内核所规定的数据结构的填充和实现,这也是一种机制与策略分离思想的体现。

A. 对

B. 错

正确答案: A

可以把一个系统划分为应用、文件系统和设备驱动三个层次 。

A. 对

B. 错

正确答案: A

内存文件系统比如proc,并不需要驱动程序

A. 对

B. 错

正确答案: A

内核处理系统调用,根据设备文件类型和主设备号调用相应的设备驱动程序。

A. 对

B. 错

正确答案: B

因为设备驱动程序完全隐藏了设备的工作细节,因此驱动程序的开发人员不需要了解硬件相关的细节。

A. 对

B. 错

正确答案: B

用户程序发出磁盘 I/O 请求后,系统的处理流程是:用户程序→系统调用处理程序→设备驱动程序→中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是()。

A. 用户程序 

B. 系统调用处理程序

C. 设备驱动程序

D. 中断处理程序

正确答案: C

一个计算机系统配置有3台打印机,2台绘图仪。为了正确驱动这些设备,系统应该提供(    )个设备驱动程序。

A. 1

B. 2

C. 3

D. 5

正确答案: B

因为打印机与绘图仪属于两种不同类型的设备,系统只要按照设备类型配置驱动程序即可。

设备驱动程序是系统提供的一种通信程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。下面的选项中不是设备驱动程序功能的是(    )。

A. 

检查用户I/O请求的合法性 

B. 

及时响应由控制器或通道发来的中断请求  

C. 

控制I/O设备的I/O操作  

D. 

了解I/O设备的状态,传递有关参数,设置设备的工作方式

正确答案: C

在计算机系统中,具体I/O设备的I/O操作是在设备控制器的控制下进行的。通常,I/O操作所要完成的工作较多,需要一定的时间,此时驱动程序进程把自己阻塞起来,直至中断到来时才将它唤醒

输入输出系统测试题(五)

下列磁盘调度算法中,会造成磁头随时会改变运动方向的是(    )。①先来先服务磁盘调度算法;②最短寻道时间优先磁盘调度算法;③扫描磁盘调度算法;④循环扫描磁盘调度算法。

A. ①

B. ② 

C. ①和② 

D. ③和④

正确答案: C

③和④规定磁头单向移动,所以磁头不会随时会改变运动方向。

设某磁盘旋转速度为3600r/min,一条磁道上的字节数15K,每次读写1KB字节的数据传输时间为(    )。

A. 1.1ms

B. 83ms 

C. 16.7ms

D. 60ms

正确答案: A

磁盘数据传输时间Tt=b/rN=1K*16.7/15K=1.1ms

其中b为每次读写的字节数,r为磁盘旋转速度,N为一条磁道上的字节数。

A. 33ms

B. 330ms

C. 6ms

D. 32.7ms

正确答案: A

寻道时间Ts:m*n+s=0.3*100+3=33ms

其中m为磁头移动一条磁道所用时间,n为磁头移动磁道条数,s为磁盘启动时间。

设磁盘的转速为3000转/分,盘面被划分为10个扇区,则读取一个扇区的时间为(    )。

A. 1ms

B. 2ms

C. 5ms

D. 20ms

正确答案: B

据题意,磁盘每分钟转3000转,若以秒为单位,则每秒转3000/60=50转。而盘面被分为10个扇区,则每秒磁头读取50×10=500个扇区。因此读取一个扇区花费的时间为1/500=0.002秒,即2ms。

设备驱动程序是系统提供的一种通信程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。下面的选项中不是设备驱动程序功能的是(    )。

A. 检查用户I/O请求的合法性  

B. 及时响应由控制器或通道发来的中断请求 

C. 控制I/O设备的I/O操作 

D. 了解I/O设备的状态,传递有关参数,设置设备的工作方式

正确答案: C

在计算机系统中,具体I/O设备的I/O操作是在设备控制器的控制下进行的。通常,I/O操作所要完成的工作较多,需要一定的时间,此时驱动程序进程把自己阻塞起来,直至中断到来时才将它唤醒

若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是(    )

I.若该文件的数据不在内存,则该进程进入睡眠等待状态

II.请求read系统调用会导致CPU从用户态切换到核心态

III.read系统调用的参数应包含文件的名称

A. 仅I、II

B. 仅I、III

C. 仅II、III

D. I、II和III

正确答案: A

该题考查考生对文件读取操作实现的理解。操作系统为用户提供了通用的文件访问接口,即系统调用。为实现对磁盘文件的读取,需要的主要系统调用如下:

open():需要以文件名作参数,建立进程与文件之间的联系,将文件控制块调入内存。open()返回一个句柄,可以用该句柄直接查找到内存的文件控制块内容,方便文件的读写等操作。

read():在打开文件之后调用,使用open()返回的句柄指定文件,而不用文件名。该系统调用在读取的过程中,如果发现要读取的数据已经在内存,则立即返回给调用者。如果不在内存,则要启动I/O设备,因为I/O操作比较费时,调用进程就要进入睡眠等待状态。

close():关闭文件。在文件不再使用时,用户通过该系统调用释放文件占用的内存空间。

任何一个系统调用的执行都会从用户态切换到核心态,因此,I、II项是正确的,III是错误的,选项A正确。

文件管理测试题1

在文件系统中,若文件的物理结构采用顺序结构,则文件控制块中关于文件的物理位置应包括(   )。

A. 只有首块地址

B. 首块地址和文件长度

C. 首块地址和索引表地址

D. 文件长度和索引表地址

正确答案: B

顺序文件是把逻辑上连续的文件信息依次存放到连续的物理块中,所以,只要在文件控制块 FCB中存放分配给它的第1个物理块块号和分配块的个数即可。

从对文件信息的存取次序考虑,存取方式包括顺序存取和随机存取。下面不属于存取方式选择因素的是(   )。

A.  使用文件的方法

B. 存储介质的特性

C. 存储设备的类型

D. 文件的长度

正确答案: D

文件采用哪种存取方式,主要取决于两个方面的因素:一是与怎样使用文件有关;二是与存储介质的特性有关。而且存储设备的类型直接与存储介质的特性有关。

在有直接存取需求和文件长度动态增长的情况下,宜选择下列哪种文件形式(    )  。

A. 顺序文件

B. 链接文件

C. 索引文件

D. 库文件

正确答案: C

顺序文件不利于文件长度动态增长;链接文件则不具有直接存取的能力;库文件很少有文件长度动态增长的情况,因其往往只允许调用而不允许改动。索引文件可以满足直接存取和文件长度动态增长两个需求。   

下列叙述中正确的是(   )。

A. 在磁带上的顺序文件中插入新的记录时,必须复制整个文件

B. 由于磁带的价格比磁盘便宜,用磁带实现索引文件更经济

C. 在索引顺序文件的最后添加新的记录时,必须复制整个文件

D. 顺序文件是利用磁带的特有性质实现的,因此顺序文件只有存放在磁带上

正确答案: A

磁带是一种典型的顺序存取设备,只有当前面的物理块被存取访问之后,才能存取后续的物理块,所以用磁带实现非顺序文件是很不方便的;另外,对于顺序文件,其中的信息是按顺序依次存放的,中间不留间隙。因此,在磁带上的顺序文件中插入新记录时,必须复制整个文件。而向索引顺序文件的最后添加新记录时,只要将该记录存入任何空闲物理块,并填写相应的索引表即可。顺序文件可以存放在任何存储介质上。

在文件系统中,文件的不同物理结构有不同的优缺点。在下列文件的物理结构中,(   )不具有直接读写文件任意一条记录的能力。

A. 顺序结构

B. 链接结构

C. 索引结构

D. Hash结构

正确答案: B

对于由等长记录所构成的顺序文件,可以使用记录号×记录长度来直接定位该记录的读写位置;而索引和Hash结构文件可分别通过查索引表和Hash变换直接找到记录在文件中的读写位置。只有链接结构的文件需通过搜索记录链表才能定位记录的读/写位置,它不具有直接读写文件位置中任意一条记录的能力。

文件信息的逻辑块号到物理块号的变换方法是由文件的(   )决定的。

A. 逻辑结构

B. 物理结构 

C. 页表

D..分配算法

正确答案: B

文件的物理结构是指文件在存储介质上的存放方法,即存储文件信息的物理块按什么方式组织。它决定了文件信息在存储设备上的存储位置,从而也决定了逻辑地址到物理地址的变换。

有一个顺序文件含有10000个记录,同样记录的索引顺序文件的检索效率大约是该顺序文件检索效率的(    )  。

A. 200倍

B. 100倍

C. 50倍

D. 10倍

正确答案: C

如果一个顺序文件中所含有的记录为N,则为检索到具有指定关键字的记录,平均需要查找个N/2记录;但对于索引顺序文件,因为能检索到具有指定关键字的记录,平均只需要查找SQRT(N)个记录,因而其检索效率约是一般顺序文件的SQRT(N)/2,按上式带入,即50倍。

逻辑文件存放在磁带上应组织成(   )。

A. 顺序文件

B. 链接文件

C. 索引文件

D. 直接文件

正确答案: A

磁带是典型的顺序存储设备,顺序存储设备是严格依赖信息的物理位置进行定位和读/写的存储设备。顺序存储设备只有在前面的物理块被存取访问过之后,才能存取后续的物理块内容,即只有当第5块被存取之后,才能对第6块进行存取操作,因此在其上的逻辑文件必须组织成顺序文件,以便于读取。

下列哪一个文件和其它三种文件在逻辑结构上根本不同(    )  。

A. 库函数文件

B. 数据库文件

C. 可执行程序文件

D. 源程序文件

正确答案: B

选项A、C、D从文件的逻辑结构上说属于无结构文件,而选项B属于有结构文件。

由字符序列组成,文件内的信息不再划分结构,这类文件属于(    )。

A. 流式文件 

B. 记录式文件

C. 顺序文件

D. 有序文件

正确答案: A

流式文件是一组有序字符的集合,是典型的无结构文件;记录式文件是一组有结构的记录集合,在这种文件中,记录是操作的基本单位。而顺序文件和有序文件都有可能属于记录式文件。

文件管理测试题2

设文件索引节点中有7个地址项,其中4个地址项是直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节。若磁盘索引块和磁盘数据块大小均为256字节,则可表示的单个文件最大长度是(    )

A. 33 KB

B. 519 KB

C. 1 057 KB

D. 16 513 KB

正确答案: C

索引分配方式是可同时采用直接地址、一级索引分配、二级索引分配,甚至三级索引分配相结合的一种文件外存分配方式。磁盘数据块的内容是文件数据,磁盘索引块中存放磁盘块号(可能是下一级索引块的磁盘块号,也可能是磁盘数据块的块号)。索引节点中的直接地址项用于存放文件的磁盘数据块号,一级间接地址项存放一级磁盘索引块的磁盘块号,一级磁盘索引块中存放文件的磁盘数据块号。索引节点中的二级间接地址项中存放第一级磁盘索引块的磁盘块号,在第一级磁盘索引块中存放二级磁盘索引块的磁盘块号,在二级磁盘索引块中存放文件的磁盘数据块号,如题13图所示。三次间接地址项及多次间接索引项、索引块的含义以此类推。

image.png

使用这种分配方式时,文件系统中单个文件的最大长度与索引节点支持的用于存放磁盘块号的直接地址项、一次间接地址项、二次间接地址项、三次间接地址项的数量有关。

磁盘索引块和磁盘数据块的大小在该题中均为256字节,每个地址项大小为4字节,每个磁盘索引块中能存放256 / 4 = 64个磁盘块号。4个直接地址项,可存放4个磁盘数据块号,两个一级磁盘索引块共可存放2×64个磁盘数据块号。一个二级间接地址项通过其一级索引块指向的二级索引块中共可存放642个磁盘数据块号。故该文件系统的每个索引节点支持的文件磁盘数据块号的总数为:4 + 2×64 + 642 = 4228个,即可寻址4228个磁盘数据块,题中给出每个磁盘数据块大小为256字节,因此文件系统中单个文件的最大长度为(256×4228/1024) KB=1057 KB。

某软盘容量为1.2M,其文件分配表PAT需要占用多少内存空间()。(假设磁盘块的大小为1K)

A. 1K

B. 1.2K

C. 1.8k

D. 2K

正确答案: C

由磁盘块的大小为1K、软盘容量为1.2M可知:

    软盘共有磁盘块数目=1.2M/1K=1.2*1024K/1K=1.2K(个)

    由于1.2K<4K,所以1.2K个磁盘块要用12位二进制表示,即每个文件分配表的表目为12/8=1.5个字节。文件分配表FAT需要占用的内存空间=1.5*1.2K=1.8K。

下面关于文件的相对路径名和绝对路径名的说法中错误的是(    )。

A. 绝对路径名指出了从根目录开始到指定文件的路径

B. 相对路径名指出了从当前路径出发到指定文件的路径

C. 相对路径名指出了从当前路径出发到指定文件的路径

D. 路径名由文件所属的各级子目录名和文件名中间加分隔符组成

正确答案:B、C

绝对路径名指出了从根目录开始到指定文件的路径,相对路径名指出了从当前路径出发到指定文件的路径,路径名由文件所属的各级子目录名和文件名中间加分隔符组成。

下面关于文件目录组织的说法中错误的是(    )。

A. 文件目录由若干目录项组成,目录项中包括存取控制、文件结构、管理等信息

B. 一级目录结构是最简单的目录结构,所有文件都登记在同一个文件目录中,其结构简单、管理方便、允许重名,适用于微型机单用户系统

C. 一级目录结构是最简单的目录结构,所有文件都登记在同一个文件目录中,其结构简单、管理方便、允许重名,适用于微型机单用户系统

D. 一级目录结构是最简单的目录结构,所有文件都登记在同一个文件目录中,其结构简单、管理方便、允许重名,适用于微型机单用户系统

正确答案: B

一般来说,文件名及属性可以收纳在(    ) 中以便查找

A. 目录 

B. 索引

C. 字典

D. 作业控制块

正确答案: A

在现代操作系统中,通常都要存储大量的文件,为了能有效地管理这些文件,必须对它们加以妥善的组织,以做到用户只需向系统提供所需访问文件的名字,便能快速地、准确地找到制定文件。为此,系统为所有存入系统的文件建立一张登记表,每一个文件在该表中有一个表目,表目的内容至少包括文件名和其所存储的物理地址,这样的表通常称为文件目录,当用户要查找某文件及相关属性时,只要搜索文件目录即可。

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值