IO进程测试题

合集下载

操作系统原理试题题库含答案 7

操作系统原理试题题库含答案 7

操作系统原理试题题库含答案(7)1、在I/O子系统中,I/O请求的排队时间为10ms,而请求的服务时间为40ms,则I/O请求的总响应时间为()A、 10msB、 50msC、 30msD、 40ms正确答案: B2、下列哪项不是进行存储管理的目的( )。

A、提高存储利用率B、防止用户破坏操作系统C、防止用户相互干扰D、为了使用Spooling正确答案: D3、进程的基本状态转换中,哪一种是不可能发生。

A、就绪态变为阻塞态B、就绪态变为执行态C、阻塞态变为就绪态D、执行态变为阻塞态正确答案: A4、进程的动态、并发等特征是利用____________表现出来的。

A、程序B、数据C、程序和数据D、进程控制块正确答案: D5、要求进程一次性申请所需的全部资源,是破坏了死锁必要条件中的____条件。

A、不可剥夺B、互斥C、请求与保持D、环路等待正确答案: C6、在下面的I/O控制方式中,需要CPU干预最少的方式是()A、程序I/O控制方式B、中断驱动I/O控制方式C、直接存储器访问(DMA)控制方式D、 I/O通道控制方式正确答案: D7、在操作系统中,只能在系统态下运行的指令是()。

A、读时钟指令B、置时钟指令C、取数指令D、寄存器清零指令正确答案: D8、下列选项中,导致创建新进程的操作是()I.用户登录成功 II.设备分配 III.启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、 I、II和III正确答案: B9、某一作业8:00到达系统,估计运行时间为2小时,若11:00开始执行该作业,其响应比是()。

A、 3.5B、 3C、 2.5D、 2正确答案: C10、在外围设备和内存之间开辟直接的数据通道的是()。

A、程序直接控制B、 DMAC、通道控制D、中断正确答案: B11、在请求分页存储管理中,若采用FIFO页面淘汰算法,则当分配的页面数增加时,缺页中断的次数( )。

A、减少B、增加C、无影响D、可能增加也可能减少正确答案: D12、哪个属于抢占式调度___A、时间片轮转法;B、短作业优先调度;C、先来先服务;D、高响应比优先调度;正确答案: A13、在存储管理中,采用地址变换机构的目的是()A、加快进程空间寻址B、提高CPU效率C、进程空间保护和内存共享D、便于有效分配内存正确答案: A14、MS-DOS中的文件物理结构采用_________。

java的io面试题

java的io面试题

java的io面试题在Java编程中,IO(Input/Output)是一个非常重要的概念,用于处理与输入和输出相关的任务。

在面试中,考官通常会问及关于JavaIO的问题,以评估应聘者对Java基础知识的了解程度。

以下是一些常见的Java IO面试题及其答案:1. 什么是流(Stream)?回答:流是Java中处理IO操作的抽象概念。

它代表了数据的传输,可以是从源(输入流)到目标(输出流)的传输。

流分为字节流和字符流两种类型。

2. 字节流和字符流有什么区别?回答:字节流以字节为单位进行数据传输,适用于处理二进制数据或者字节流形式的文本数据。

字符流以字符为单位进行数据传输,适用于处理字符数据。

3. 什么是缓冲流(Buffered Stream)?回答:缓冲流是对字节流和字符流的包装,提供了缓冲功能以提高数据读写的效率。

它通过减少与磁盘之间的实际访问次数来改善性能。

4. 文件读写常用的类有哪些?回答:Java提供了多个类用于文件读写,常见的有File、FileInputStream、FileOutputStream、FileReader、FileWriter等。

5. 如何读取文件内容?回答:可以使用FileInputStream或FileReader来读取文件内容。

首先,通过创建相应的流对象,并指定要读取的文件路径。

然后,使用read方法读取数据,并将其存储到变量中,直到读取完整个文件。

6. 如何写入文件?回答:可以使用FileOutputStream或FileWriter来写入文件。

首先,通过创建相应的流对象,并指定要写入的文件路径。

然后,使用write 方法将要写入的数据以字节或字符的形式传递给流对象。

7. 如何在文件中查找特定内容?回答:可以读取文件的每一行,逐行进行匹配搜索。

可以使用BufferedReader的readLine方法来逐行读取文件内容,并使用String的contains方法判断是否包含目标内容。

计算机系统基础:I、O与系统总线单元测试与答案

计算机系统基础:I、O与系统总线单元测试与答案

一、单选题1、与计算机系统一样,I/O子系统也采用层次结构,从最上层提出I/O请求的应用程序到最下层的I/O硬件之间的顺序是()。

A.应用程序→设备驱动程序→中断服务程序→与设备无关的I/O软件→I/O硬件B.应用程序→与设备无关的I/O软件→中断服务程序→设备驱动程序→I/O硬件C.应用程序→中断服务程序→与设备无关的I/O软件→设备驱动程序→I/O硬件D.应用程序→与设备无关的I/O软件→设备驱动程序→中断服务程序→I/O硬件正确答案:D2、操作系统在I/O子系统中承担极其重要的作用,这主要是由于I/O子系统的三个特性决定的。

以下选项中,不属于I/O子系统特性的是()。

A.共享性:I/O资源被所有进程共享,需由专门的程序统一调度和管理I/O资源B.复杂性:I/O设备控制复杂,应由专门程序来控制I/O设备,从而对应用程序员屏蔽细节C.异步性:I/O设备速度较慢,CPU等待I/O期间需由专门的程序调度其他进程使用CPUD.独占性:应用程序在运行期间只能独占使用某个I/O设备,OS应保证I/O设备被独占使用正确答案:D3、以下选项给出的程序中,不在内核态运行的是()。

A.系统调用服务例程B.设备驱动程序C.中断服务程序D.命令行解释程序正确答案:D4、以下选项给出了几个在Linux系统的程序中使用的函数,其中在内核态运行的是()。

A.sys_read()B.fread()C._fillbuf()D.read()正确答案:A解析: A、在给出的几个函数中,fread()是C语言标准库函数,在用户编写的C语言程序中使用,因而不是在内核态运行的函数。

read()函数是对read系统调用进行封装的函数,其中包含若干条用于传递系统调用参数的mov指令和int $0x80指令等,该函数在用户态执行,当执行到int $0x80指令时从用户态陷入内核态。

sys_read()函数是read系统调用服务例程,是内核中专门用于进行read系统调用处理的函数,因而是在内核态执行的函数。

(完整版)IO流题目

(完整版)IO流题目

狂翔IT工作室IO流章节题目一.选择题1.java语言提供处理不同类型流的类的包是(D)a)java.sql b) java.util c) java.math d) java.io2.不属于java.io包中的接口的一项是(c)a)DataInput b) DataOutput c) DataInputStream d) ObjectInput3.java.io包中提供的用于筛选文件名的接口是(d)a)DataInput b) DataOutputStream c)RandomAccessFile d) FileNameFilter4.下列中,哪一个是filterInputStream类构造方法的有效参数ca)无参数b)OutputStream对象c) InputStream对象d)RandomAccessFile对象5. ByteArrayOutputStream将下列哪一项作为输出流 ca) 字符b)字节c)字节数组D)对象6. 下列流中哪一个使用了缓冲区技术AA.BuffereOutputStream B. FileInputStreamC. DataOutputStreamD.FileReader7. 下列哪个包中含有压缩文件输入流ZipInputStream类BA.java.ioB. java.util.zipC.java.util.jarD.java.awt8. 要在磁盘上创建一个文件,可以使用哪些类的实例A.FileB.FileOutputStreamC.RandomAccessFileD.以上都对9.下列字节输入流中,哪一个不能够被实例化BA.FileInputStreamB.FilterInputStreamC.ByteArrayInputStreamD.ObjectInputStream10. 能对读入字节数据进行java基本数据类型判断过滤的类是(C)A. PrintStreamB.DataOutputStreamC.DataInputStreamD.BuffereInputStream11. 使用下列哪一个类可以实现在文件的任意一个位置读写一个记录A.RandomAccessFileB.FileReaderC.FileWriterD.FileInputStream12.通常情况下,下列哪一个类的对象可以作为BufferedReader类的构造函数的参数A.InputStreamReaderB.PrintStreamC.OutputStreamReaderD.PrintWriter13. 若要创建一个新的含有父目录的目录,应该使用下列哪一个类的实例A.RandomAccessFileB.FileOutputStreamC.FileD.以上都对14. 流的概念是由以下哪个语言最先引的A.CB.C++C.JavaD.Basic15. 下列哪一个不属于计算机常用的外部设备A.显示器B.网络C.内存D.键盘16. 与InputStream流相对应的Java系统的标准输入对象是A.System.inB.System.outC.System.errD.System.exit()17. 下列File类的方法中,哪一个用于返回文件的相对的文件名A.getCanonicalPath()B.getAbsolutePath()C.getCanonicalFile()D.getAbsoluteFile()18. 下列哪个不属于j2sdk1.4 提供的新I/O功能A.内存映射B.文件锁定C.字符及编码D.阻塞I/O19.下列选项中,哪一个属于输出流A.从打印机流向控制器的数据流B.从键盘流向内存的数据流C.从内在流向控制器的数据流D.从内存流向网络的数据流20.FileOutputStream类的父类是()A.FileB.FileOutputC.OutputStreamD.InputStream 二.填空题1. Java的I/O流包括字节流、字符流、文件流、对象流和管道流2. 按照流的方向来分,I/O流包括输入和输出流3. 流是一个流动的数据从流向4. FileInputStream实现对磁盘文件的读取操作,在读取字符的时候,它一般与InputStreamReader 和BufferedReader 一起5. 向DataOutputStream对象dos 的当前集团处写入一个保存在变量f中的浮点数的语句是dos.writeDouble(f)6. java通过过滤流对I/O访问提供同步处理机制7. FileChannel类为磁盘文件映射入内存提供了一个通道8. 输入输出在计算机中有两个主要作用:采集数据和提供数据处理结果。

进程单元测试题及答案

进程单元测试题及答案

一、选择题(每题2分)1. 下列不是用户进程的组成部分的是( D )[A] 正文段 [B] 用户数据段 [C] 系统数据段[D] elf段2. 以下哪种不是进程的类型 (B )[A] 批处理进程 [B] 管理进程 [C] 交互进程 [D]守护进程3. 以下哪种方法无法查看进程的信息 ( C )[A] ps [B] 查看/proc目录[C] kill [D] top4. fork()的返回值不可能是( C )[A] -1 [B] 0 [C] 1 [D] 大于10000的正整数5. 可以改变正在运行的进程优先级的命令是()[A] nice [B] renice [C] kill [D] set6. 下列哪个函数无法传递进程结束时的状态 ( A )[A]close [B] exit [C] _exit [D] return7. 以下哪种用法可以等待接收进程号为pid的子进程的退出状态 ( A )[A] waitpid(pid, &status, 0) [B] waitpid(pid, &status, WNOHANG)[C] waitpid(-1, &status, 0) [D] waitpid(-1, &status, WNOHANG)8. 函数waitpid的返回值等于0时表示的含义是 ( B )[A] 等待的子进程退出 [B] 使用选项WNOHANG且没有子进程退出 [C] 调用出错 [D] 不确定9. 下列对无名管道描述错误的是 ( C )[A] 半双工的通信模式[B] 有固定的读端和写端[C] 可以使用lseek函数[D] 只存在于内存中10.下列对于有名管道描述错误的是 ( D )[A] 可以用于互不相关的进程间[B] 通过路径名来打开有名管道[C] 在文件系统中可见[D] 管道内容保存在磁盘上11. 下列不属于用户进程对信号的响应方式的是 (B)[A] 忽略信号 [B] 保存信号 [C] 捕捉信号 [D] 按缺省方式处理12. 不能被用户进程屏蔽的信号是 ( B )[A] SIGINT [B] SIGSTOP [C] SIGQUIT [D] SIGILL13. 默认情况下,不会终止进程的信号是 ( D )[A] SIGINT [B] SIGKILL [C] SIGALRM [D]SIGCHLD14. 下列不属于IPC对象的是 ( A )[A] 管道 [B] 共享内存 [C] 消息队列 [D] 信号灯15. 下列哪种机制可以用于线程之间的同步 ( D )[A] 信号 [B] IPC信号灯[C] POSIX有名信号量 [D] POSIX无名信号量二、判断题(每题1分)1.Linux下进程的模式分为用户态,内核态和系统态 ( F )2.每个进程的进程号和父进程号在进程执行期间不会改变 ( F )3.子进程被创建后从fork()的下一条语句开始执行 ( T )4.子进程的进程号等于父进程的进程号加1 ( F )5.执行_exit()函数时不会清理IO缓冲 ( T )6.exec函数族可以创建一个新的进程来执行指定的程序 ( F )7.wait函数无法接收子进程退出的状态 ( F )8.无名管道只能用于父子进程 ( T )9.对命名管道的读写严格遵循先进先出的规则 ( T )10.信号既可以发给前台进程也可以发给后台进程 ( T )11.可以用signal()向指定的进程发信号(F)12.无法用信号实现进程间的同步 ( F )13.消息队列可以按照消息类型读取消息 ( T )14.消息队列的读写只能采用阻塞的方式 ( F )15.共享内存是一种最为高效的进程间通信方式 ( T )三、简答题(30分)1.请描述进程和程序的区别 (6分)进程和程序的区别程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念进程是一个动态的概念,它是程序执行的过程,包括创建、调度和消亡进程是一个独立的可调度的任务进程是一个抽象实体。

IO智商测试题(3篇)

IO智商测试题(3篇)

第1篇前言本测试旨在评估您的创新思维(I)和操作能力(O)水平。

创新思维(I)是指您在解决问题时展现的创造性、独特性和想象力;操作能力(O)则是指您在执行任务时的精确度、效率和处理复杂情况的能力。

请您认真作答,以便我们更全面地了解您的IO智商。

第一部分:创新思维(I)1. 创意设计- 您被要求设计一款可以用于户外运动的便携式设备。

这款设备需要具备以下特点:- 重量轻,易于携带。

- 功能多样,能满足多种户外活动需求。

- 安全可靠,易于操作。

- 设计独特,具有吸引力。

- 请用不超过200字描述您的创意设计。

2. 故事续写- 请根据以下故事开头,续写一个结局。

字数不超过300字。

- 故事开头:“在一个遥远的星球上,有一个名叫‘希望之城’的地方。

这里的居民生活和谐,科技高度发达。

然而,有一天,一场突如其来的灾难打破了这份宁静……”3. 解决方案- 假设您是一名环保志愿者,负责解决城市垃圾问题。

请提出至少三个创新方案,以减少城市垃圾的产生和污染。

每个方案需简要说明其原理和实施方法。

4. 思维导图- 请用思维导图的形式,展示您对“未来城市”的理解。

包括但不限于以下元素:交通、能源、居住、教育、娱乐等。

5. 逆向思维- 请尝试用逆向思维回答以下问题:- 如果地球上的资源耗尽,人类将如何生存?- 如果人类失去了语言能力,社会将如何发展?第二部分:操作能力(O)6. 数据整理- 以下是一组关于某城市居民消费数据的表格。

请根据表格内容,回答以下问题:- 该城市居民月均消费总额是多少?- 哪个消费类别占总消费的比例最高?- 与上个月相比,哪个消费类别增长最快?7. 逻辑推理- 根据以下信息,判断以下陈述的正确性:- 信息1:甲、乙、丙三人参加数学竞赛,甲得100分,乙得80分,丙得70分。

- 信息2:甲、乙、丙三人参加物理竞赛,甲得90分,乙得80分,丙得70分。

- 陈述:甲在数学竞赛中的成绩比物理竞赛中的成绩好。

8. 问题解决- 以下是一个关于物流配送的问题。

IO流习题

IO流习题

I/O流习题一、选择题1.下列类中( )不是输入输出流类iostream的派生类。

(a) fstream (b) ofstream(c) strstream (d) ostrstream2.在下列选项中()是ostream类的对象。

(a) cin (b) cerr (c) clog (d) cout3.read函数的功能是从输入流中读取()。

(a)一个字符(b)当前字符(c)一行字符(d)指定若干个字节4.下列选项中,用于清除基数格式位设置以十六进制输出的语句是()。

(a)cout<<setf(ios::dec,ios::basefield);(b)cout<<setf(ios::hex,ios::basefield);(c)cout<<setf(ios::oct,ios::basefield);5.下列格式控制符,在iostream.h中定义的是(),在iomanip.h中定义的是()。

(a)endl (b) setfill (c) setw (d) oct6.下列串流类,在strstream.h中定义的是(),在iomanip.h中定义的是()。

(a)istringstream (b) istrstream (c) ostringstream (d) ostrstream 7.包含类fstream定义的头文件是()。

(a)fstream.h (b) ofstream.h (c) ifstream.h (d) iostream.h 8.要求可打开文件“D:\file.dat”写入数,错误的语句是()。

(a)ifstream infile(“D:\file.dat”,ios::in);(b)ifstream infile(“D:\\file.dat”,ios::in);(c)ofstream infile(“D:\file.dat”,ios::out);(d)fstream infile(“D:\ \file.dat”,ios::in | ios::out);9.假定已定义浮点型变量data ,以二进制方式把data 的值写入输出文件对象outfile中去,正确的语句是()。

linux io练习题

linux io练习题

linux io练习题Linux操作系统是一个开源的、基于UNIX的操作系统,被广泛应用于各种计算机设备和服务器上。

在Linux系统中,IO(Input/Output)是一个重要的概念,涉及到文件读写、设备操作等方面。

为了加深对Linux IO的理解,下面将提供一些练习题供读者练习。

1. 写一个程序,在终端上输出一个字符串。

```c#include <stdio.h>int main(){printf("Hello, World!");return 0;}```2. 输入一个整数n,输出1到n之间的所有奇数。

```c#include <stdio.h>int main(){int n, i;printf("请输入一个整数:");scanf("%d", &n);printf("1到%d之间的所有奇数为:", n);for(i=1; i<=n; i+=2){printf("%d ", i);}return 0;}```3. 输入一个整数n,计算1到n之间所有偶数的和。

```c#include <stdio.h>int main(){int n, i, sum=0;printf("请输入一个整数:");scanf("%d", &n);for(i=2; i<=n; i+=2){sum += i;}printf("1到%d之间所有偶数的和为:%d", n, sum);return 0;}```4. 从文件中读取一段文本并显示在屏幕上。

```c#include <stdio.h>int main(){FILE *fp;char ch;fp = fopen("filename.txt", "r");if(fp == NULL){printf("文件打开失败");return 1;}while((ch = fgetc(fp)) != EOF){putchar(ch);}fclose(fp);return 0;```5. 将一个字符串写入文件中。

(完整版)io流课后练习题

(完整版)io流课后练习题

第十一章io流练习题一、选择题1. 以下关于File 类说法正确的是( B.C ):A: 一个File 对象代表了操作系统中的一个文件或者文件夹B: 可以使用File 对象创建和删除一个文件C: 可以使用File 对象创建和删除一个文件夹D: 当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除2. 有如下代码,正确答案是(D ):public class TestFile{public static void main(String args[]){File file = new File(“chp13/corejava.txt”);}}A. corejava.txt 文件在系统中被创建B. 在windows 系统上运行出错,因为路径分隔符不正确C. corejava.txt 文件在系统中没有被创建D. 如果corejava.txt 文件已存在,则抛出一个异常3. 文件输出流的构造方法是public FileOutputStream(String name,Boolean append) throws FileNotFoundException,当参数append的值为true时,表示( B )A: 创建一个新文件B: 在原文件的尾部添加数据C: 覆盖原文件的内容D: 在原文件的指定位置添加数据4. 下面的程序段的功能是( B )File file1=new File("e:\\xxx\\yyy");file1.mkdir();A: 在当前目录下生成子目录:\xxx\yyy B: 生成目录:e:\xxx\yyyC: 在当前目录下生成文件xxx.yyy D: 以上说法都不对5.下列不是java的输入输出流的是(A.D )A: 文本流B: 字节流C: 字符流D: 文件流3.凡是从中央处理器或者是内存流向外部设备的数据流称为(C)A: 文件流B: 字符流C: 输入流D: 输出流4.下列属于文件输入输出类的是()A: FileInputStream和FileOutputStreamB: BufferInputStream和BufferOutputStreamC: PipedInputStream和PipedOutputStreamD. 以上都是5.下列叙述中,错误的是( )A: File类能够存储文件B: File类能够读写文件C: File类能够建立文件D: File类能够获取文件目录信息6.下列叙述中,正确的是( )A: Reader是一个读取字符文件的接口B: Reader是读取数据文件的抽象类C: Reader是一个读取字符文件的抽象类D: Reader是读取字节文件的一般类7.字符输出流类都是( )抽象类的子类A: FilterWriter B: FileWrite C: Writer D: OutputStreamWrite 8. 下面关于FileInputStream 类型说法正确的是():A: 创建FileInputStream 对象是为了读取硬盘上的文件B: 创建FileInputStream 对象时,如果硬盘上对应的文件不存在,则抛出异常C: 利用FileInputStream 对象可以创建文件D: 以上说法都不对二、简答题:1.简述什么是流2.简述Java IO流层次结构3.Java中的IO流桥接器类有哪些4.使用字符流的优势是什么5.简述对象的序列化与反序列化6.要想从某个文件中获得一个字符输出流,则至少有以下三种方式分别是:利用FileWriter 类、利用PrintWriter 类、利用FileOutputStream 类,并通过OutputStreamWriter 类获得Writer,请简述这三种方式获得Writer 的区别。

Java_IO知识测试B卷

Java_IO知识测试B卷

集合部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.所有异常和错误的父类是(D)a)Throwable类b)Error类c)Exception类d)RuntimeException类2.下列关键字必须和try一起使用的有(CD)a)finalb)finalizec)finally3.实现下列哪个接口,可以启用序列化功能(B)a)Runnable接口b)Serializable接口c)Comparable接口d)Comparator接口4.当方法遇到异常(编译时异常)又不知如何处理时,下列哪种说法是正确的(A)a)捕获异常(try{…}catch{…})b)抛出异常(throw 异常对象)c)声明异常(throws 异常类型)d)嵌套异常5.如何自定义一个异常类(B )a)让这个类继承Exceptionb)让这个类继承RuntimeExceptionc)让这个类继承Comparatord)让这个类继承Comparable6.可以用来描述文件或者文件夹的类是(A)b)FileStreamc)OutputStreamd)FileReader7.File类中,创建多级目录,可以通过以下那个方法(D)1a)create()b)createNewFile()c)mkdir()d)mkdirs()8.下列哪一个import命令可以使我们在程序中创建输入/输出流对象(B)1a)import .*;b)import .*;c)import .*;d)import .*;9.下列关于Java中文件输入输出的说法正确的是(AB)1a)在Java中,文件的输入输出功能是通过流来实现的b)如果要把数据写入一个文件中,需要创建一个输出流对象c)字符流在某些方面比如图片的处理,比字节流更方便d)可以通过Reader r = new Reader(“c:\\”);创建一个输入流对象10.获取指定目录下所有的文件,可以通过哪个方法实现:()1a)list()b)getDir();c)listFile()d)listFiles()11.下面用字符流能成功拷贝的文件有(C)a)java基础自测题.docb)学生考试答案.xmlc) xlsx12.看下面程序,加入里面有一个文字”a”,请问该程序输出结果是(C)public static void demo1() throws FileNotFoundException, IOException {13.InputStream is = new InputStream(""); vi 这个文件有20Gb 的大小,复制该文件最快的方式是(B)a)FileInputStream fis = new FileInputStream("双元.jpg");FileOutputStream fos = new FileOutputStream("");int b;while((b = ()) != -1) {(b);}();();b)FileInputStream fis = new FileInputStream("致青春.mp3");FileOutputStream fos = new FileOutputStream("");byte[] arr = new byte[()];(arr);(arr);();();c)FileInputStream fis = new FileInputStream("");FileOutputStream fos = new FileOutputStream("");byte[] arr = new byte[1024];int len;while((len = (arr)) != -1) {(arr,0,len);}();();d)FileInputStream fis = new FileInputStream("");FileOutputStream fos = new FileOutputStream("");byte[] arr = new byte[1024*8];int len;while((len = (arr)) != -1) {(arr,0,len);}();();14.BufferedInputStream这个类是哪个设计模式的体现(B)!a)单例设计模式b)装饰设计模式c)工厂设计模式d)适配器模式15.下面说法正确的是(D)!a)OutputStream是个接口//抽象类b)Writer是个接口//抽象类集合的顶层才是接口c)BufferedOutputStream是FileOutputStream的父类d)Reader是InputStreamReader的父类16.下列关于Java I/O中字符输入流Reader类中的read方法描述错误的是(A)!a)read()方法的返回值类型为char类型b)read()方法的返回值类型为int类型c)read()方法的返回值如果为-1,表示到流的末尾d)read(char[] cbuf)方法表示将读到的多个字符存入字符数组cbuf中17.下列是哪些方法是可以让FileWriter类的对象调用的(ABCD)a)write(char[] cbuf)写入字符数组b)write(char[] cbuf, int off, int len)写入字符数组的某一部分c)write(int c)写入单个字符d)write(String str)写入字符串18.假设存在文件,内容为”大家好”,以下代码运行的结果为(A)public class Test {public static void main(String[] args) throws IOException { FileReader fr = new FileReader("");FileWriter fw = new FileWriter("");int c;while((c = ()) != -1) {(); //没有写东西应该把C传进去}();();}}a)编译报错b)程序正常运行,文件中的内容为”大家好”c)程序正常运行,但是没有生成文件d)程序正常运行,但是文件中是乱码19.FileWriter类直接继承哪个类(A)!a)OutputStreamWriterb)Writerc)BufferedWriterd)InputStreamReader20.关于自定义字符数组拷贝文件的说法错误的是(AC)a)自定义的数组越大越好 //不能超过内存,要看拷贝内存的大小b)自定义的数组既不能太大,也不能太小c)可以使用FileReader类的available()方法的返回值作为数组的大小 //这个类里没有这个方法d)建议定义为1024的整数倍,但不能太大,防止内存溢出21.假设文件中存了2000个汉字,下列程序运行后输出的结果是(A)public class Test {public static void main(String[] args) throws IOException { FileReader fr = new FileReader("");FileWriter fw = new FileWriter("");int count = 0;char[] arr = new char[1024];int len;while((len = (arr)) != -1) {count++;(arr,0,len);}();();}}a)1b)2c)3d)422.下面哪个是字符流通向字节流的桥梁(B)!a)InputStreamReaderb)OutputStreamWriterc)FileReaderd)BufferedReader23.BufferedReader读取一行时,判断该行是否结束的标志是什么(D)a)\tb) -2c) -1d)\r\n24.缓冲流是否需要关闭(B)a)否b)是c)关不关都可以d)以上答案都不对25.以下代码运行后输出的结果是(A)public class Test {public static void main(String[] args) throws IOException { }public static int fun(int num) {if(num == 1) {return 1;}else {return num * fun(num - 1);}}}a)120b)720c)24d)626.以下代码运行后输出的结果是(C)public class Demo8_Digui {public static void main(String[] args) {}public static int fun(int num) {if(num == 1 || num == 2) {return 1;}else {return fun(num - 2) + fun(num - 1);}}}a)34b)13c)21d)527.为了提高读写性能,用下面的哪些流(ABCD)a)BufferedInputStreamb)BufferedOutputStreamc)BufferedReaderd)BufferedWriter28.下列关于Java I/O中哪个流可以将多个文件中的内容合并到一个文件中(序列流)( C )a)SequenceOutputStreamb)InputStreamReaderc)SequenceInputStreamd)OutputStreamWriter29.下面的哪个流表示内存输出流( A )a)ByteArrayOutputStreamb)ByteArrayInputStreamc)ObjectInputStreamd)ObjectOutputStream30.下面说法正确的是( A)a)可以通过ByteArrayOutputStream和ByteArrayInputStream实现文件的复制b)不可以通过ByteArrayOutputStream和ByteArrayInputStream实现文件的复制c)用ByteArrayOutputStream和ByteArrayInputStream实现文件的复制,会出现乱码//不会d)用ByteArrayOutputStream可以解决字节流读取中文到程序中出现的乱码问题31.下面说法错误的是( D )a)ByteArrayOutputStream内部封装了字节数组b)new ByteArrayOutputStream()利用空参构造创建对象时,内部的数组的大小为32c)toByteArray()以字节数组的形式返回数据d)以上说法都不对32.关于对象操作流的描述正确的是(AD )a)ObjectOutputStream流是将对象以Object类型写入到文件中b)ObjectOutputStream流是将内容写入到Object对象中c)ObjectInputStream流是读取Object对象里的内容d)ObjectInputStream是从文件中读取一个对象出来,读出来是Object类型的,需要进行强制类型转换33.ObjectOputStream类中的哪个方法可以将对象写入到文件中( C )a)write(Object obj)b)append(Object obj)c)writeObject(Object obj)d)objectWrite(Object obj)34.下列选项中哪个不属于I/O流( C)a)FileWriterb)FileReaderc)Propertiesd)PrintStream35.下列说法不正确的是( D )a)Properties 类表示了一个持久的属性集b)Properties 可保存在流中或从流中加载 //store方法c)属性列表中每个键及其对应值都是一个字符串d)以上说法都不对36.以下代码运行后输出的结果是( C )public class Test {public static void main(String[] args) throws IOException { Properties prop = new Properties();("name", "张三");("tel", "");Enumeration<String> en = (Enumeration<String>) ();while()) {String key = ();String value = (key);+ ":");}}}a)name:telb)tel:namec)张三::d):张三37.关于Properties类中的load和store方法说法正确的是( AB)a)load方法从流中读取属性列表,键值对,加载到Properties对象中b)store方法将Properties对象中的键值对,写入到流中c)load方法将Properties (Properties)对象中的内容加载到文件中//反了d)以上说法都不对。

IO系统练习题

IO系统练习题

一、单项选择题:1.缓冲技术中的缓冲池设在 A 中。

A、主存B、外存C、ROMD、寄存器2.引入缓冲的主要目的是 A 。

A、改善CPU和Ⅱ/O设备之间速度不匹配的情况B、节省内存C、提高CPU的利用率D、提高I/O设备的效率3.CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用C 。

A、并行技术B、通道技术C、缓冲技术D、虚存技术4.为了使多个进程能有效地同时处理输入和输出,最好使用 A 结构的缓冲技术。

A、缓冲池B、闭缓冲区环C、单缓冲区D、双缓冲区5.通过硬件和软件的功能扩充,把原来独立的设备改造成能为若干用户共享的设备,这种设备称为 D 。

A、存储设备B、系统设备C、用户设备D、虚拟设备6.如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是C 。

A、程序查询B、中断方式C、DMA方式D、无条件存取方式7.在中断处理中,输入/输出中断指的是C。

I.设备出错II.数据传输结束A、I B.Ⅱ C I和ⅡD.I和Ⅱ都不是8.中断矢量是指 A 。

A、中断处理程序入口地址B、中断矢量表起始地址C、中断处理程序入口地址在中断矢量表中的存放地址D、中断断点的地址9.如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。

若要调整中断事件的响应次序,可以利用D。

A、中断向量B、中断嵌套C、中断响应D、中断屏蔽10.设备管理程序对设备的管理是借助一些数据结构来进行的,下面的 A 不属于设备管理数据结构。

A、JCBB、DCTC、COCTD、CHCT 11.大多数低速设备都属于A设备。

A、独占B、共享C、虚拟D、SPOOL12. B 用作连接大量的低速或中速I/O设备。

A、数据选择通道B、字节多路通道C、数组多路通道13.A是直接存取的存储设备。

A、磁盘驱动器B、磁带机C、打印机D、键盘显示终端14.以下叙述中正确的为C。

A、在现代计算机中,只有I/O设备才是有效的中断源B、在中断处理过程中必须屏蔽中断C、同一用户所使用的I/O设备也可能并行工作D、SPOOLING是脱机I/O系统15. A 是操作系统中采用的以空间换取时间的技术。

(完整版)io流课后练习题

(完整版)io流课后练习题

第十一章 io 流练习题一、选择题1.以下对于 File 类说法正确的选项是( B.C ):A:一个 File 对象代表了操作系统中的一个文件或许文件夹B:能够使用 File 对象创立和删除一个文件C:能够使用 File 对象创立和删除一个文件夹D:当一个 File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除2. 有以下代码 ,正确答案是( D ):public class TestFile{public static void main(String args[]){File file = new File(“ ” );}}A. corejava.txt 文件在系统中被创立B. 在 windows 系统上运转犯错,由于路径分开符不正确C. corejava.txt 文件在系统中没有被创立D.假如 corejava.txt 文件已存在,则抛出一个异样3. 文件输出流的结构方法是 public FileOutputStream(String name,Boolean append) throws FileNotFoundException ,当参数 append 的值为 true 时,表示( B )A: 创立一个新文件B: 在原文件的尾部增添数据C: 覆盖原文件的内容D: 在原文件的指定地点增添数据4. 下边的程序段的功能是( B )File file1=new File("e:\\xxx\\yyy");file1.mkdir();A: 在目前目录下生成子目录:\xxx\yyy C: 在目前目录下生成文件5.以下不是 java 的输入输出流的是(A: 文本流B: 字节流C: 字符流D:文件流B: 生成目录:e:\xxx\yyy D: 以上说法都不对)3.凡是从中央办理器或许是内存流向外面设施的数据流称为(C)A:文件流B:字符流C:输入流D:输出流4.以下属于文件输入输出类的是()A:FileInputStream 和 FileOutputStreamB:BufferInputStream 和 BufferOutputStreamC:PipedInputStream和 PipedOutputStreamD.以上都是5.以下表达中,错误的选项是()A: File 类能够储存文件C: File 类能够成立文件B: FileD: File类能够读写文件类能够获取文件目录信息6.以下表达中,正确的选项是 ( )A: Reader是一个读取字符文件的接口B: Reader是读取数据文件的抽象类C:Reader是一个读取字符文件的抽象类 D: Reader是读取字节文件的一般类7.字符输出流类都是 ( )抽象类的子类A: FilterWriter B: FileWrite C: Writer D:OutputStreamWrite 8.下边对于 FileInputStream 种类说法正确的选项是():A: 创立 FileInputStream 对象是为了读取硬盘上的文件B: 创立 FileInputStream 对象时,假如硬盘上对应的文件不存在,则抛出异样C:利用 FileInputStream 对象能够创立文件D:以上说法都不对二、简答题:1.简述什么是流2.简述 Java IO 流层次结构3.Java中的 IO 流桥接器类有哪些4.使用字符流的优势是什么5.简述对象的序列化与反序列化6.要想从某个文件中获取一个字符输出流,则起码有以下三种方式分别是:利用 FileWriter 类、利用 PrintWriter 类、利用 FileOutputStream 类,并经过OutputStreamWriter 类获取 Writer,请简述这三种方式获取Writer 的差别。

io进程测试题含答案

io进程测试题含答案

一、选择题(每题2分,共40分)1. 下列哪种打开文件的方式不能修改文件已有的容 ( B )[A] r+ [B] r [C] w+ [D] a+2.以下哪种不是进程的状态 ( B )[A] 运行态 [B] 锁定态 [C] 睡眠态 [D] 停止态3. 以读写方式打开一个已存在的标准I/O流时应指定哪个mode参数( B )[A] r [B] r+ [C] w+ [D] a+4. fork()的返回值不可能是( C )[A] -1 [B] 0 [C] 1 [D] 大于10000的正整数5. 常用来进行多任务同步的机制是( B )[A]管道 [B] 信号量 [C] 信号(异步通信方式,中断机制的模拟) [D] 共享存(本身不提供同步机制,可自行添加信号量实现同步)信号量:解决进程\线程之间的同步与互斥问题的一种通信机制:信号量变量和这个变量的等待队列、两个原子操作(PV).6. 下列哪个函数无法传递进程结束时的状态 ( A )[A]close [B] exit [C] _exit [D] returnvoid exit( int status)7. 以下哪种用法可以等待接收进程号为pid的子进程的退出状态 ( A ) P59[A] waitpid(pid, &status, 0) [B] waitpid(pid, &status, WNOHANG) [C] waitpid(-1, &status, 0) [D] waitpid(-1, &status, WNOHANG)WNOHANG:子进程没结束,不阻塞立即返回,返回值为0。

0:阻塞父进程,直到子进程退出。

8. What kind of IPC has the highest efficiency? (B)[A] semaphore[B] sharedmemory[C] fifo[D] message queueE signal9. 下列对无名管道描述错误的是 ( C )[A] 半双工的通信模式[B] 有固定的读端和写端[C] 可以使用lseek函数[D] 只存在于存中10.下列对于有名管道描述错误的是 ( D )[A] 可以用于互不相关的进程间[B] 通过路径名来打开有名管道[C] 在文件系统中可见[D] 管道容保存在磁盘上11. 下列不属于用户进程对信号的响应方式的是 ( B )[A] 忽略信号 [B] 保存信号 [C] 捕捉信号 [D] 按缺省方式处理(1终止SIGINT Ctrl+c,SIGINTQUIT Ctrl+\。

io相关面试题

io相关面试题

io相关面试题以下是一些IO相关的面试题,以及它们的答案:1. 什么是IO操作?IO操作是指输入输出操作,即对数据的读取和写入操作。

在计算机中,IO操作是必不可少的,因为我们需要从外部设备读取数据,同时需要将数据写入到外部设备中。

2. 什么是阻塞IO和非阻塞IO?阻塞IO是指在IO操作未完成时,程序会一直等待直到IO操作完成。

而非阻塞IO是指程序在发起IO操作后不会等待结果,而是继续执行其他任务,当IO操作完成后会通知程序。

3. 什么是IO多路复用?IO多路复用是指一个进程可以同时处理多个IO请求。

通过使用IO多路复用技术,进程可以在等待某个IO操作完成的同时处理其他IO请求。

常见的IO多路复用技术有select、poll和epoll等。

4. 什么是缓冲IO?缓冲IO是指在进行IO操作时,先将数据缓存在内存中,当达到一定大小时再进行实际的IO操作。

这样可以减少实际的IO次数,提高IO操作的效率。

5. 什么是异步IO?异步IO是指程序发起IO请求后不会等待结果,而是继续执行其他任务。

当IO操作完成后会通知程序。

异步IO可以显著提高程序的并发性能和响应能力。

6. 什么是标准IO和自定义IO?标准IO是指使用系统提供的标准库函数进行IO操作,如C语言中的stdio 库。

而自定义IO则是自己实现IO操作的逻辑,可以根据具体需求进行优化和定制。

7. 什么是文件IO和网络IO?文件IO是指对本地文件系统的操作,如读取文件、写入文件等。

而网络IO 是指通过网络进行数据传输的操作,如发送数据、接收数据等。

第6章IO管理作业题参考答案

第6章IO管理作业题参考答案

第6章I/O管理作业题作业题题1 CPU对通道的请求形式是---------。

A. 自陷B. 中断C.通道命令D.转移指令题2环状缓冲区是一种--------。

A.单缓冲区B.双缓冲区C.多缓冲区D.缓冲池题3在配有操作系统的计算机中,用户程序通过--------向操作系统指出使用外部设备的要求。

A. 作业申请B.原语 c.系统调用 D.I/O指令题4下列叙述中,正确的一条是--------。

A.在设备I/O中引人缓冲技术的目的是为了节省内存B.指令中的地址结构和外存容量是决定虚存作业地址空间的两个因素C.处于阻塞状态的进程被唤醒后,可直接进人运行状态D.在请求页式管理中,FIFO置换算法的内存利用率是较高的。

题5用户程序发出磁盘I/O请求后,系统的正确处理流程是______。

A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序D用户程序→设备驱动程序→中断处理程序→系统调用处理程序题6某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送到用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读人缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。

在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是______和________。

A.1500μs, 1000usB.1550μs,1100μsC.1550μs, 1550μs D2000μs ,2000us题7假设一个单处理机系统,以单道批处理方式处理一个作业流,作业流中有两道作业,其占用CPU计算时间、输入卡片数、打印输出行数如表6-1所示。

表6-1单处理机系统数据其中,卡片输人机速度为1000张/分钟;打印机速度为1000行/分钟。

试计算:(1)不采用SPOOLing技术,计算这两道作业的总运行时间(从第一个作业输人开始,到第二个作业输出完成为止)。

操作系统测试题(附答案)

操作系统测试题(附答案)

操作系统测试题(附答案)一、单选题(共IOO题,每题1分,共100分)1、一次中断后可能引起若干个进程状态的变化,因此中断处理后,由()决定哪个进程可占用处理器。

A、进程调度B、移臂调度C、页面调度D、作业调度正确答案:A2、某系统正在执行三个进程P1、P2和P3,各进程的计算时间和I/O时间比进例如下表所示。

为提高系统资源利用率,合理的进程优先级设置应为()o程计算时间I/O时间P190%10%P250%50%P315%85%A、P2>P1=P3B、P1>P2=P3C、P1>P2>P3D、P3>P2>P1正确答案:D3、操作系统采用分页存储管理方式,要求()oA、每个进程拥有一张页表,且进程的页表驻留在内存中B、每个进程拥有一张页表,但只有执行进程的页表驻留在内存中C、所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中D、所有进程共享一张页表,只有页表中当前使用的页面必须驻留在内存中正确答案:A4、分区管理要求为每一个作业都分配()的主存单元。

A、若干地址不连续B、若干连续的页C、若干不连续的帧D、地址连续正确答案:D5、下列关于父进程和子进程的叙述中,正确的是()oA、子进程执行完了,父进程才能执行B、父进程创建了子进程,因此父进程执行完了,子进程才能执行C、撤销子进程时,应该同时撤销父进程D、撤销父进程时,应该同时撤销子进程正确答案:D6、资源的按序分配策略可以破坏()条件。

A、不剥夺B、环路等待C、互斥D、请求和保持正确答案:B7、()用于连接大量的低速和中速I/O设备。

A、数组选择通道B、字节选择通道C、字节多路通道D、数组多路通道正确答案:C8、由磁头进行读写完成信息传送的时间是()oA、优化时间B、查找时间C、传输时间D、等待时间正确答案:C9、wait、SignaI操作是一种()。

A、机器指令B、低级进程通信原语C、作业控制命令D、系统调用命令正确答案:B10、建立多进程的主要目的是提高()的利用率。

io编程题

io编程题

以下是一个简单的Python I/O编程题示例,要求从文件中读取数据并进行处理:
题目:假设有一个文件"input.txt",文件中包含一些数字,每行一个数字。

请编写Python程序,读取这些数字并计算它们的总和,然后将结果输出到另一个文件"output.txt"中。

# 读取文件中的数字并计算总和
input_file = "input.txt"
output_file = "output.txt"
# 读取文件中的数字
with open(input_file, 'r') as file:
numbers = [int(line.strip()) for line in file]
# 计算数字的总和
total = sum(numbers)
# 将结果输出到output.txt文件
with open(output_file, 'w') as file:
file.write(str(total))
print("计算完成,结果已写入output.txt文件。

")
在这个示例中,我们首先使用`open`函数打开"input.txt"文件,并使用`with`语句来确保文件在使用完毕后被正确关闭。

然后我们使用列表推导式读取文件中的数字,并计算它们的总和。

最后,我们再次使用`open`函数打开"output.txt"文件,并将计算结果写入文件中。

这个示例演示了如何使用Python进行简单的文件读取和写入操作,以及如何进行基本的数据处理。

IO练习(无8259)

IO练习(无8259)

输入/输出系统一、自测练习题㈠选择题1.一微机系统有10根地址线用于I/O端口寻址,因而具有I/O空间的范围是( )字节。

A) 1024 B) 10K C) 0.5M D) 1M2.8086CPU读/写一次存储器或I/O端口所需的时间称为一个( )。

A) 总线周期B) 指令周期C) 时钟周期D) 基本指令执行时间3.微型计算机的输入/输出有三种不同的控制方法,其中以( )控制的输入/输出是微机进行I/O的一种最主要的控制方式。

A) 程序控制B) 中断控制C) DMA控制 D) 以上均可4.程序查询I/O方式的工作流程是按( )的次序完成一个字符的传输。

A) 写数据端口,读/写控制端口B) 读状态端口,读/写数据端口C) 写控制端口,读状态端口,写数据端口D) 随I/O接口的具体要求而定5.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是( )。

A) 同步传送B) 查询传送C) 无条件传送D) 中断传送6.在CPU与外设的I/O传送控制方式中,传送速度最快的方式是( )。

A) 无条件传送B) 查询传送C) 中断传送D) DMA传递7.用具有两个状态(“0”和“1”态)的一组开关作简单输入设备时,应采用( )传送方式来输入信息。

A) 无条件B) 查询C) 中断D) DMA8.用一组发光二极管作为简单输出设备时,应采用( )传送方式来输出信息。

A) DMA B) 无条件C) 查询D) 中断9.在微机系统中引入中断技术,可以( )。

A) 提高外设速度B) 减轻主存负担C) 提高处理器的效率D) 增加信息交换的精度10.CPU响应中断请求的时刻是在( )。

A) 执行完成正在执行的程序以后B) 执行完正在执行的指令以后C) 执行完本时钟周期以后D)执行完正在执行的机器周期以后11.8086/8088CPU向应两个硬中断INTR和NMI时,相同的必要条件是( )。

A) 允许中断B) 当前I/O操作执行结束C) 总线空闲D) 当前访问内存操作结束12.在微型计算机系统中,高速外设与内存储器进行批量数据传送时,应采用( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题(每题2分,共40分)1. 下列哪种打开文件的方式不能修改文件已有的内容 ( B )[A] r+ [B] r [C] w+ [D] a+2.以下哪种不是进程的状态 ( B )[A] 运行态 [B] 锁定态 [C] 睡眠态 [D] 停止态3. 以读写方式打开一个已存在的标准I/O流时应指定哪个mode参数( B )[A] r [B] r+ [C] w+ [D] a+4. fork()的返回值不可能是( C )[A] -1 [B] 0 [C] 1 [D] 大于10000的正整数5. 常用来进行多任务同步的机制是( B )[A]管道 [B] 信号量 [C] 信号(异步通信方式,中断机制的模拟)[D] 共享内存(本身不提供同步机制,可自行添加信号量实现同步)信号量:解决进程\线程之间的同步与互斥问题的一种通信机制:信号量变量和这个变量的等待队列、两个原子操作(PV).6. 下列哪个函数无法传递进程结束时的状态 ( A )[A]close [B] exit [C] _exit [D] returnvoid exit( int status)7. 以下哪种用法可以等待接收进程号为pid的子进程的退出状态 ( A ) P59[A] waitpid(pid, &status, 0) [B] waitpid(pid, &status, WNOHANG)[C] waitpid(-1, &status, 0) [D] waitpid(-1, &status, WNOHANG)WNOHANG:子进程没结束,不阻塞立即返回,返回值为0。

0:阻塞父进程,直到子进程退出。

8. What kind of IPC has the highest efficiency? (B)[A] semaphore[B] sharedmemory[C] fifo[D] message queueE signal9. 下列对无名管道描述错误的是 ( C )[A] 半双工的通信模式[B] 有固定的读端和写端[C] 可以使用lseek函数[D] 只存在于内存中10.下列对于有名管道描述错误的是 ( D )[A] 可以用于互不相关的进程间[B] 通过路径名来打开有名管道[C] 在文件系统中可见[D] 管道内容保存在磁盘上11. 下列不属于用户进程对信号的响应方式的是 ( B )[A] 忽略信号 [B] 保存信号 [C] 捕捉信号 [D] 按缺省方式处理(1终止SIGINT Ctrl+c,SIGINTQUIT Ctrl+\。

2暂停SIGSTOP。

3停止SIGTSTP Ctrl+z.。

4忽略 SIGCHILD)12. 不能被用户进程屏蔽的信号是 ( B )[A] SIGINT [B] SIGSTOP/SIGKILL [C] SIGQUIT [D] SIGILL非法指令时发出13. 下列哪个是不带缓存的( C )[A] stdin [B] stdout [C] stderr [D] 都不是14. 下列不属于IPC对象的是 (A )[A] 管道 [B] 共享内存 [C] 消息队列 [D] 信号灯IPC对象通过它的标识符来引用和访问,这个标识符是一个非负整数,它唯一的标识了一个IPC对象,这个IPC对象可以是消息队列或信号量或共享存储器中的任意一种类型15. 如果键盘输入为abcdef,程序如下所示,打印结果应该是( A )char buffer[6];……fgets(buffer, 6, stdin); printf(“%s”, buffer);[A] abcde [B] abcdef [C] abcdef 后出现乱码 [D] 段错误16. 用open( )创建新文件时,若该文件存在则可以返回错误信息的参数是 ( B )[A] O_CREAT (创建新文件) [B] O_EXCL [C] O_TRUNC(删除原有数据) [D] O_NOCTTYint open( const char *pathname, int flags, int perms)17. 下列不是用户进程的组成部分的是( D )[A] 正文段 [B] 用户数据段 [C] 系统数据段 [D] elf段进程是由进程控制块、程序段、数据段三部分组成18. 以下哪种方法无法查看进程的信息 ( C )[A] ps [B] 查看/proc目录 [C] kill [D] topLinux系统中每一个进程都会有/proc文件系统下的与之对应的一个目录( init进程信息存放在/proc/1 目录下)。

19. 默认情况下,不会终止进程的信号是 ( D )[A] SIGINT [B] SIGKILL [C] SIGALRM [D] SIGCHLD20. fread()返回值的含义是 ( B )[A] 读取的字节数 [B] 读取的对象数 [C] 缓冲区的首地址 [D] 0size_t fread (void *ptr, size_t size, size_t nmemb, FILE *stream);二、简答题(30分)1.请描述进程和程序的区别?(5分)进程和程序的区别程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念进程是一个动态的概念,它是程序执行的过程,包括创建、调度和消亡进程是一个独立的可调度的任务进程是一个抽象实体。

当系统在执行某个程序时,分配和释放的各种资源进程是一个程序的一次执行的过程进程是程序执行和资源管理的最小单位2.指出静态库和共享库的区别(使用方法,对程序的影响) (5分)静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,因此体积较大。

动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,因此代码体积较小。

3.写出设置信号处理函数和用户定义的信号处理函数的原型 (5分)void (*signal(int signum, void (*handler)(int)))(int);typedef void (*sighandler_t)(int);sighandler_t signal(int signum, sighandler_t handler);void driver_handler(int signo);void (*handler)(int);handler,一个指向函数的指针,该函数有一个int参数,返回void。

T *signal(int signo, P),P = void (*handler)(int);signal,一个函数,该函数有2个参数(signo, P),返回类型T的指针。

void (T) (int),T = signal(int signo, P)T,一个函数,该函数有一个int参数,返回void。

4.程序代码如下,请按执行顺序写出输出结果 (10分)int main(){ pid_t pid1,pid2;if((pid1=fork()) = = 0) 用文件IO分别实现标准IO中的(r, r+, w, w+, a, a+),文件名由argv[1]传入程序.(O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_TRUNC, O_APPEND)(10分)int open (const char *pathname, int flags, int perms);r: open(argv[1],O_RDONLY);r+: open (argv[1],O_RDWR);w: open(argv[1],O_WRONLY | O_CREAT | O_TRUNC,0666);w+: open(argv[1],O_RDWR | O_CREAT | O_TRUNC,0666);a: open(argv[1],O_WRONLY | O_CREAT | O_APPEND,0666);a+: open(argv[1],O_RDWR | O_CREAT | O_APPEND,0666);4. 编写程序实现如下功能(10分):从argv[1]所指定的文件中读取内容,依次写到管道/home/linux/myfifo中从管道/home/linux/myfifo中读取内容,写到argv[1]所指定的文件中并保存代码中可省略头文件,/home/linux/myfifo无需创建int main(int argc, const char *argv[]){int fd,fd_src;char buf[32];int bytes;if(argc < 2){printf("Usage %s src_file\n",argv[0]);return -1;}if((fd =open("/home/linux/myfifo",O_WRONLY)) < 0){perror("fail to open");return -1;}if((fd_src = open(argv[1],O_RDONLY)) < 0){perror("fail to open");return -1;}while((bytes = read(fd_src,buf,32)) > 0){write(fd,buf,bytes);}close(fd);close(fd_src);return 0;}int main(int argc, const char *argv[]){int fd,fd_dest;char buf[32];int bytes;if(argc < 2){printf("Usage %s dest_file\n",argv[0]);return -1;}if((fd = open("/home/linux/myfifo",O_RDONLY)) < 0){perror("fail to open");return -1;}if((fd_dest = open(argv[1],O_WRONLY | O_CREAT | O_TRUNC,0666)) < 0) {perror("fail to open");return -1;}while((bytes = read(fd,buf,32)) > 0){write(fd_dest,buf, bytes);}close(fd);close(fd_dest);return 0;}。

相关文档
最新文档