zoukankan      html  css  js  c++  java
  • 华为内部面试题库(11)

    1.关于I/O的体系结构说法错误的是(单选):(参考:深入理解LINUX内核,第三版,第十三章,I/O体系结构和设备驱动程序,I/O体系结构小节)
    A.PC
    I/O体系结构包含的硬件组织层次:I/O端口、接口和设备控制器
    B.
    I/O端口中,可以把两个连续的8位端口看成一个16位端口,但是这必须从偶数地址开始
    C.
    I/O端口中,可以把两个连续的16位端口看成一个32位端口,但是这必须是从4的整数倍地址开始
    D.I/O
    接口分为:专用I/O接口和通用I/O接口;网络接口属于通用的I/O接口
    答案:D
      试题解析:专用I/O接口是专门用于一个特定的硬件设备。连接到专用I/O接口上的设备可以是内部设备,也可以是外部设备

      通用I/O接口是用来连接多个不同的硬件设备。连接到通用I/O接口上的设备通常都是外部设备
      专用的I/O接口包括:键盘接口、图形接口、磁盘接口、总线鼠标接口、网络接口等
      通用的I/O接口包括:并口、串口、PCMCIA接口、SCSI接口、通用串行总线(USB)等

     

    2.sysfs文件系统的目标是要展现设备驱动程序模型组件的层次关系,该文件系统的相应高层目录包括(多选):(参考:深入理解LINUX内核,第三版,第十三章,I/O体系结构和设备驱动程序,设备驱动程序模型小节)
    A.block
    devices
    B.bus
    drivers
    C.class
    net
    D.firmware
    power
    答案:AB
    D
      试题解析:block:块设备,它们独立于所连接的总线

       devices:所有被内核识别的硬件设备,依照连接它们的总线对其进行组织
       bus:系统中用于连接设备的总线
       drivers:在内核中注册的设备驱动程序
       class:系统中设备的类型(声卡、网卡、显卡等等)
       power:处理一些硬件设备电源状态的文件
       firmware:处理一些硬件设备的固件的文件

       netlinux系统根目录下的目录,不包含在sysfs文件系统中

     

    3.Linux 2.6中增加了设备号的编码大小是(单选):(参考:深入理解LINUX内核,第三版,第十三章,I/O体系结构和设备驱动程序,设备文件小节)
    A.
    主设备号的编码为8位,次设备号的编码为8
    B.
    主设备号的编码为12位,次设备号的编码为12
    C.
    主设备号的编码为12位,次设备号的编码为20
    D.
    主设备号的编码为20位,次设备号的编码为12
    答案:C
      试题解析:Linux的早期版本中,设备文件的主设备号和次设备号都是8位长;但是如今各种不同的硬件设备数量惊人,几乎分配了所有的设备号,导致设备号远远不够用。

      设备号如果要进行扩展,需要改变内核源代码,使得系统难以维护;
      为了解决这个问题,Linux 2.6 增加了设备号的编码大小:目前主设备号的编码为12位,次设备号编码为20

     

    4.对于设备驱动程序,描述正确是(多选):(参考:深入理解LINUX内核,第三版,第十三章,I/O体系结构和设备驱动程序,设备驱动程序小节)
    A.
    初始化驱动程序意味着分配宝贵的系统资源,这些资源因此就对其他驱动程序不可用了
    B.
    监控I/O操作结束的两种可用技术分别称为轮询模式和中断模式
    C.
    设备驱动程序采用两种方式使用DMA:同步DMA和异步DMA。声卡就是采用异步DMA传送的
    D.
    不同的总线具有相同的总线地址大小
    答案:AB
      试题解析:同步DMA方式,数据的传送是由进程触发的;异步DMA方式,数据的传送是由硬件设备触发的。声卡是采用同步DMA传送的,网卡是采用异步DMA传送的。

      不同的总线具有不同的总线地址大小。例如:ISA的总线地址是24位长;原来的PCI标准定义了32位的总线地址;新的PCI-X采用了64位的总线地址

     

    5.对于标准I/O库提供的缓冲,描述错误是(单选):(参考:UNIX环境高级编程,第2版,5.4缓存小节)
    A.
    标准I/O提供三种类型的缓冲:全缓冲、行缓冲、不带缓冲
    B.
    当且仅当标准输入和标准输入并不涉及交互式设备时,它们才是全缓冲
    C.
    行缓冲只有在写了一行之后才进行实际I/O操作,没有其它限制
    D.
    如若是涉及终端设备的其他流,则它们是行缓冲;否则是全缓冲
    答案:C
      试题解析:对于行缓冲有两个限制。第一,因为标准I/O库用来收集每一行的缓冲区的长度是固定的,所有只要填满了缓冲区,那么即使还没有写一个换行符,也可以进行I/O操作。

      第二,任何时候只要通过标准I/O库要求从(a)一个不带缓冲的流,或者(b)一个行缓冲的流(要求从内核得到数据)得到输入数据,那么就会造成冲洗所有行缓冲输出流

  • 相关阅读:
    集成方法-概念理解
    k-近邻算法-手写识别系统
    k-近邻算法-优化约会网站的配对效果
    支持向量机-手写识别问题
    支持向量机-在复杂数据上应用核函数
    支持向量机-完整Platt-SMO算法加速优化
    支持向量机-SMO算法简化版
    支持向量机-引入及原理
    hdu4123-Bob’s Race(树形dp+rmq+尺取)
    hdu4436-str2int(后缀数组 or 后缀自动机)
  • 原文地址:https://www.cnblogs.com/hehehaha/p/6332759.html
Copyright © 2011-2022 走看看