20155211课下测试ch10补交

  • 1.假设下面代码中的foobar.txt中有6个ASCII字母,程序的输出是()

A.c = f

B.c = o

C.c = b

D.c = 随机数

答案:A
解析:p635 此题为练习题10.5,根据p635页图10-13,c应为文件表中最后一个字符,即f

  • 2.下面说法正确的是()

A.Linux内核使用的file table 所有的进程共享的。

B.不同进程打开同一个文件的文件描述符必须一样。

C.使用dup2 把标准输入重定向到描述符7 dup2(7,0)

D.使用dup2 把标准输入重定向到描述符7 dup2(0,7)

E. ls > foo.txt 是输出重定向

F.类型为FILE的流是对文件描述符和流缓冲区的抽象。

答案:ACEF
解析:P637 P638 根据p637图10-15,得出C正确。>称为""右hoinky",即输出重定向。p638原句即F。

  • 3.Linux内核用()表示打开的文件

A.描述符集

B.文件表

C.i-node表

D.v-node表

答案:ABD
解析:P634最后提到内核用三个相关的数据结构来表示打开的文件呢,即描述符表,文件表,v-node表。

  • 4.struct stat的()标识文件的类型。

A.st_size

B.st_type

C.st_mode

D.st_rdev

答案:C

解析:st_mode第一位 p632 st_size成员包含文件的字节数大小,st_mode成员则编码了文件访问许可位和文件类型。

  • struct stat的()与chmod相关

A.st_nlink

B.st_mode

C.st_size

D.st_uid

正确答案: B chmod是文件/目录权限设置命令,st_mode成员编码了文件访问许可位和文件类型。

  • 下面代码的输出是()

A.fd2 = 0

B.fd2 = 1

C.fd2 = 2

D.fd2 = 3

E.fd2 = 4

F.不确定

正确答案: D

解析:本题为课后作业10.6 输出 fd2 = 4
已经有0 1 2被打开,fd1是3,fd2是4,关闭fd2之后再打开,还是4。(怀疑答案错了)

最低可用文件描述符原则(Lowst-Available-fd, LAf),打开文件时,为此文件安排的文件描述符总是最低可用的位置的索引

  • read(fd, buf, 30)执行成功,返回可能不是30的是()

A.读时遇到EOF

B.从终端读文本

C.读磁盘文件,但没遇到EOF

D.读Socket

正确答案: A B D p626中提到不足值不表示有错误,但有可能遇到:读时遇到EOF,从终端读文本行,读和写网络套接字(socket)。

  • write(2)的第一个参数fd可能来自()

A.open(2)

B.create(2)

C.creat(2)

D.close(2)

正确答案: A C 没有create(2)参考write()函数

  • Unix/Linux中,对于代码fd=open("foo",O_WRONLY,0766),umask=022,下面说法正确的是()

A.进程对foo是只写的

B.同组成员能写foo

C.使用者可以执行foo

D.任何人都可以写foo

正确答案: A C

解析:p624,p625 O_WRONLY:只写 022表示默认创建新文件权限为755 也就是 rxwr-xr-x(所有者全部权限,属组读写,其它人读写)

  • 关于open(2),下面说法正确的是( )

A.flag 参数中O_RDONLY,O_WRONLY,O_RDWR至少要有一个

B.O_RDONLY|O_WRONLY == O_RDWR

C.fd=open("foo.txt",O_WRONLY|O_APPEND,0),调用write(fd,buff,n)写入foo.txt的数据不会破坏已有数据。

D.fd=open("foo.txt",O_WRONLY|O_APPEND,0644),必将导致其他人不能写foo.txt

正确答案: A C int open(char *filename, int flags, mode_t mode); flags参数指明了进程打算如何访问这个文件。
O_WRONLY只写

  • 有关Linux系统的目录,下面说法正确的是()

A.目录是一种文件

B.Linux将所有文件组织成目录层次结构

C.home/rocedu/work/who1.c使用的是绝对路径

D.
./a.out使用的是相对路径

E.
.. 表示当前工作目录

F.pwd命令可以查看当前工作目录的绝对路径

正确答案: A B D F p623 p624 ..是到目录层次结构中父目录的链接。

  • 下面()命令可以修改当前工作目录?

A.mkdir

B.cd

C.pwd

D.ls

正确答案: B p624 可以用cd命令来修改shell中的当前工作目录。

  • Linux中下列概念中可以用Unix I/O处理的是()

A.普通文件

B.设备文件

C.目录

D.套接字

正确答案: A B C D p623所有的I/O设备都被模式化为文件,每个文件都有一个类型来表明它在系统中的角色:普通文件,目录,套接字。

  • 相对内核而言,文件分为文本文件和二进制文件。其中文本文件只含有ASCII或Unicode字符。

A.正确

B.错误

C.不确定

正确答案: B p623 对内核而言,文本文件和二进制文件没有任何区别。区别是相对应用程序而言的。

  • 通过以下系统调用()可以获得文件描述符。

A.fopen

B.open

C.creat

D.close

正确答案: B C man 2 open

  • Linux shell创建的每个进程开始都默认打开的文件有()

A.标准输入(fd=0)

B.标准输出(fd=1)

C.标准错误(fd=2)

D.显示器和键盘

正确答案: A B C p622 linux shell创建的每个进程开始时都有三个打开的文件:标准输入,标准输出和标准错误。

  • Unix I/O中标识文件的是()

A.文件名

B.文件指针FILE *

C.文件描述符fd

D.文件目录

正确答案: C p622
当频繁的使用read和write系统调用读写文件,进程就需要不断的在内核态和用户态之间转换,系统开销太大;因此流(stream)就出现了,流的结构FILE了几个部分:文件描述符fd,指向该流缓冲区指针,缓冲区大小,当前缓冲区中的字符数,出错标志等。

  • Unix/Linux中,所有的I/O设备都被模型化为文件,而所有的输入输出都被当做对相应文件的读和写来执行。

A.正确

B.错误

C.不确定

正确答案: A 623

  • 输入输出是针对()来讲的?

A.CPU

B.主存

C.I/O设备

D.计算机

正确答案: B p623 输入输出是在主存和外部设备之间复制数据的过程。

  • 下面哪个操作系统概念可以对I/O设备进行抽象()?

A.进程

B.虚存

C.文件

D.虚拟机

正确答案: C 所有I/O设备都被模型化为文件。

20155211课下测试ch10补交的更多相关文章

  1. 20155211 课下测试ch11补做

    20155211 课下测试ch11补做 Web服务器的实现基于HTTP协议,有关HTTP协议,下面说法正确的是() A.可以用telnet充当Web服务器的客户端进行调试 B.HTTP请求的GET和P ...

  2. 20155211 课下测试ch12补做

    20155211 课下测试ch12补做 有关线程图,下面说法正确的是() A.图的原点表示没有任何线程完成一条指令的初始状态 B.向右向上是合法的转换 C.向左向下是合法的转换 D.对角线是合法的转换 ...

  3. 课下测试CH01补交

    课下测试CH01补交 ( 单选题 | 1 分) Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比. A . 正确 B . 错误 正确答案: B 你的答案: 未作答 ...

  4. 课下测试补交(ch03 ch08)

    课下测试补交(ch03 ch08) 课下测试 ch03 1.有关gdb调试汇编,下面说法正确的是(ABCE) A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 ...

  5. 课下测试补交(ch01、ch02、ch07)

    课下测试补交(ch01.ch02.ch07) 课下测试ch01 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A . 正确 B . 错误 解析:课本 ...

  6. 课下测试ch01修改补交

    由于当时学习态度有问题,没有注意到第一次的课下测试,虽然在当周的总结中就进行补交,但是当时态度并没有很认真,可能没有引起老师的注意,现在重新修改,望老师谅解. (单选题 | 1 分) Amdahl定律 ...

  7. 2017-2018-1 20155331 课下测试(ch10)

    2017-2018-1 20155331 课下测试(ch10) 假设下面代码中的foobar.txt中有6个ASCII字母,程序的输出是(A) Image 7.png A . c = f B . c ...

  8. # 课下测试补交(ch01)20155337

    课下测试补交(ch01) 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A .正确 B .错误 解析:Amdahl定律,该定律的主要思想是,当我们对 ...

  9. # 第五周课下测试(ch03)补交

    第五周课下测试(ch03)补交 1.( 多选题 | 1 分) 有关gdb调试汇编,下面说法正确的是() A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 pri ...

随机推荐

  1. JVM知识(五):垃圾回收算法

    在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world会在执行某一个垃圾回收算法的时候产生,JVM为了执行垃圾回收,会暂时java应用程序的执行,等 ...

  2. python之系统命令

    subprocess执行系统命令 call:执行命令,返回状态码 #!/usr/bin/env python # _*_ coding:utf-8 _*_ __Author__ = 'KongZhaG ...

  3. VC++下使用ADO操作数据库

    VC++下使用ADO操作数据库主要要用到 _ConnectionPtr,_CommandPtr,_RecordsetPtr三个ADO对象指针,我查找了相关资料,发现网上源码很多,但是都相对凌乱,于是自 ...

  4. 什么是 .live()

    很多开发者都知道jQuery的.live()方法,他们大部分知道这个函数做什么,但是并不知道是怎么实现的,所以用的并不那么舒适.而且他们却从未听过还有解除绑定的.live()事件的.die()方法.即 ...

  5. ZT 用gdb调试core dump文件

    用gdb调试core dump文件 转载自:http://blog.chinaunix.net/u2/83905/showart_2134570.html 在Unix系统下,应用程序崩溃,一般会产生c ...

  6. MyEclipse10.6 myeclipse2013下添加jadClipse反编译插件 .

    jad是一个使用比较广泛的Java反编译软件,jadClipse是jad在eclipse下的插件,下面像大家介绍下如何将jadclipse加入到MyEclipse10.X,9.X,8.X,6.X等各版 ...

  7. 【从源代码看Android】02MessageQueue的epoll原型

    版权声明:本文为博主原创文章,欢迎转载.请注明原文链接 https://blog.csdn.net/ashqal/article/details/31772697 1 开头 上一讲讲到Looper,大 ...

  8. BZOJ4891:[TJOI2017]龙舟(Pollard-Rho,exgcd)

    Description 加里敦大学有一个龙舟队,龙舟队有n支队伍,每只队伍有m个划手,龙舟比赛是一个集体项目,和每个人的能力息息相关,但由于龙舟讲究配合,所以评价队伍的能力的是一个值c = (b1*b ...

  9. Hadoop学习之路(十四)MapReduce的核心运行机制

    概述 一个完整的 MapReduce 程序在分布式运行时有两类实例进程: 1.MRAppMaster:负责整个程序的过程调度及状态协调 2.Yarnchild:负责 map 阶段的整个数据处理流程 3 ...

  10. ES6新特性5:类(Class)和继承(Extends)

    本文摘自ECMAScript6入门,转载请注明出处. 一.类(Class) 1.基本语法 JavaScript语言的传统方法是通过构造函数,定义并生成新对象.下面是一个例子 function Poin ...