zoukankan      html  css  js  c++  java
  • 20155211课下测试ch10补交

    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设备都被模型化为文件。

  • 相关阅读:
    Kubernetes学习之路(21)之网络模型和网络策略
    Kubernetes学习之路(16)之存储卷
    Kubernetes学习之路(18)之statefulset控制器
    Kubernetes学习之路(28)之镜像仓库Harbor部署
    Kubernetes学习之路(六)之创建K8S应用
    Kubernetes学习之路(十五)之Ingress和Ingress Controller
    nali一款linux下显示IP来源的小工具
    Redis 及RedisBloom 安装
    对java注解与反射的理解
    Java 8 stream的详细用法
  • 原文地址:https://www.cnblogs.com/xxy9712/p/8017693.html
Copyright © 2011-2022 走看看