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. 《Pro Git》轻松学习版本控制

    转自 https://kindlefere.com/post/333.html 什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在 ...

  2. datediff

    DateDiff()是计算机函数. 中文名 日期比较函数 外文名 DateDiff() 作    用 得 出两个日期之间的间隔 用    途 返回两个日期之间的差值 允许数据类型 timeinterv ...

  3. python基础_类型_list

    #list 类似数组array,以[]扩起来逗号分隔 a = ['a','b','c'] #常用函数 a.append('c') #在list最后增加一个元素,结果是['a','b','c','c'] ...

  4. POST请求的forHTTPHeaderField

    POST请求的forHTTPHeaderField 也许你的iOS项目中使用了AFNetworking2.0,或者是ASIHTTPRequest,对于http中POST请求的操作,你用了他们提供的现成 ...

  5. 远程计算机 进程/服务 启动停止(WMI)

    WMI的远程管理需要其计算机的本地管理员组权限,例:gwmi win32_computersystem -computer win08r2d #在远程计算机上启动 notepad.exe 进程invo ...

  6. lua调用c++函数返回值作用

    2015/05/28 lua调用c++接口,返回给lua函数的是压入栈的内容,可以有多个返回值.但是c++接口本身也是有返回值的,这个返回值也非常的重要,会决定最后返回到lua函数的值的个数. (1) ...

  7. 加速安装 Sharepoint 2013 SP1

    第一次安装把人吓了一跳,居然花了5个半小时.想想有一大堆服务器要升级,不得不想想有什么加速的办法. 试了好几种方法,以下的办法最为简单 1:停止 IIS ADMIN,WWW 服务 2:停止所有 sha ...

  8. September 07th 2017 Week 36th Thursday

    With the most true of yourself, can you meet the most suitable one. 用最真实的自己,才能遇见最合适的那个人. You are alw ...

  9. UserUI程序详解

    重要内容放前面:https://blog.csdn.net/yizhou2010/article/details/52837944 作者可关注 1.进行初始化,会用到AfxWinmain函数:创建当前 ...

  10. SDN2017 第一次实验作业

    1. 安装mininet 从github上获取Mininet源码并运行安装脚本 $ git clone git://github.com/mininet/mininet $ ./mininet/uti ...