雨课堂学堂在线学堂云《Linux 内核分析与应用(西安邮电大学 )》单元测试考核答案_第1页
雨课堂学堂在线学堂云《Linux 内核分析与应用(西安邮电大学 )》单元测试考核答案_第2页
雨课堂学堂在线学堂云《Linux 内核分析与应用(西安邮电大学 )》单元测试考核答案_第3页
雨课堂学堂在线学堂云《Linux 内核分析与应用(西安邮电大学 )》单元测试考核答案_第4页
雨课堂学堂在线学堂云《Linux 内核分析与应用(西安邮电大学 )》单元测试考核答案_第5页
已阅读5页,还剩39页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

注:不含主观题第1题Linux得以流行,是因为遵循了GPL协议,并不是因为遵循POSIX标准第2题从Linux操作系统的整体结构来看,分两大部分,用户空间的应用程序和内核空间的os内核,二者之间是一种c/s结构,os是服务者,应用程序是客户,是一种请求和响应的关系。第3题Linux内核提供机制而不是策略,系统调用是一种策略第4题内核源码中的双向链表和哈希表都相当于内核源码中的基本类型,对其操作只需要调用内核提供的相应API就可以。第5题Linux内核把双链表作为基本类型存放于types.h文件中,是为了隐藏双链表的指针特性。第6题list.h中的list_entry()宏通过一个结构体中字段的地址可以求出该结构体的地址,从而可以访问结构体的其他成员,是一种逆向思维。第7题Linux内核是单内核结构,执行效率高,可维护性好第8题内核文档中/doc/html/latest/只包含各个子系统的文档第9题可加装的内核模块在内核运行时候可加载和卸载,是开发一个新的文件系统,驱动程序的基本机制。第10题内核模块的修饰符__init可加可不加,对模块的运行没有什么影响第11题编写Linux内核模块时,不需要单独写一个Makefile文件,直接编译就可以第12题Linux内核模块运行在用户空间第13题微内核比单内核的效率高第14题Linux内核模块的插入和运行必须用root权限第15题Linux的内核模块不属于Linux的几个子系统第16题Linux在超级计算机,可穿戴设备,嵌入式系统,移动终端,桌面等系统上都可以运行。第17题Linux内核、GNU工具以及其他一些自由软件组成了人们常熟的Linux系统或者Linux发布版。第18题lisit_entry(ptr,type,member)宏返回的是member的地址第19题list_for_each_saft()宏和list_for_each()宏功能一样,安全性有差异第20题与体系结构(如x86,ARM等)相关的代码存放在arch目录下第21题创建进程属于一种策略而不是机制第22题()不属于Linux的子系统A进程管理B内存管理C文件系统D模块第23题Linux操作系统遵循()标准AGUNBGPLCPOSIXDMMU第24题触摸屏属于()管理A应用程序B操作系统C硬件厂家D系统调用第25题如果要从磁盘读取一个文件,则主要与()子系统打交道A内存管理B进程调度C文件系统D网络第26题structlist_head无法表达()种数据结构A队和栈B图C树D集合第27题谷歌的Fuchsia操作系统属于()结构A微内核B单内核CC/SD面向对象第2章内存寻址--章节测验第1题操作系统启动时,处理器处于保护模式第2题X86中段的描述包含基地址和界限第3题Intel8086的寻址范围是1MB,80386的寻址范围是4GB第4题分页机制是在保护模式下开启的。第5题在保护模式下,段的大小可以达到4GB第6题CR3寄存器存放页目录基地址。第7题x86的保护模式就是来保护操作系统的第8题分页的原理使得每个进程可以拥有自己独立的虚拟内存空间第9题Linux之所以巧妙地绕过段机制,主要是因为将段的基址设为0,即偏移量等于线性地址第10题在x86中,启用分页机制是通过启用保护允许位PE而达到的第11题链接以后形成的地址空间是虚拟地址空间。第12题虚拟地址是程序访问存储器所使用的逻辑地址

;线性地址是逻辑地址到物理地址变换之间的中间层;物理地址是每一个字节单元的一个唯一的存储器地址。第13题CPU访问的是虚拟地址。第14题80x86的控制寄存机器主要用于分段机制第15题80x86的分段机制是必选的,分页机制是可选的第16题保护模式提供了四个特权级,Linux使用了其中的2个,0级对应内核态,2级对应用户态第17题页面大小是由操作系统设计者确定的第18题页面高速缓存是一种硬件机制,专门用来支持地址转换的第19题intel的保护模式是在80386处理器中首次出现的。第20题页目录存放在()中。ACR0BCR1CCR2DCR3第21题一个32位虚拟地址被分为a、b、c三个域,其中a、b用于一个2级页表系统,c为页内偏移地址,则页面数为()。Aa+bBa×bC2a×bD2a+b第22题以下()处理器不是冯诺伊曼体系结构AIntelX86BAMDCARMDMIPS第23题如下缩写,()是中断描述符表AGDTBIDTCLDTDRPL第24题“段:偏移量”的形式描述的是()A物理地址B虚拟地址C线性地址D段地址第3章进程管理--章节测验第1题第2题第3题第4题第5题第6题第7题第8题第9题第10题第11题第12题进程上下文是指进程的执行环境第13题进程处于浅深度睡眠状态不可由其他进程通过信号和时钟中断唤醒。第14题fork()后,写时复制技术发生时主要完成复制父进程的页表工作。第15题当进程处于就绪态,还需要被唤醒才能执行。第16题用于区分不同进程的标识符是GID第17题PCB的哈希表组织结构,有利于内核通过进程PID快速找到对应的PCB。第18题用户程序执行时处于用户态第19题进程代表程序的执行过程,它是一个动态的实体,随着程序中指令的执行不断地变化。第20题调度程序的作用是从磁盘上选取一个进程占用CPU,并分配其占用CPU的时间。第21题一个进程一旦创建就可以为其分配CPU,并运行。第22题一个进程一旦创建,就由OS为其创建进程的描述信息即PCB。第23题用户进程一旦建立,就将所有程序和数据装入内存。第24题进程的等待队列不是共享队列,因此不需要保护。第25题Linux进程的状态中没有就绪态。第26题进程一旦被创建,将有一个与父进程相同的进程ID号。第27题Linux的调度器采用机制与策略分离的机制第28题copy_process()主要用于创建进程控制块以及子进程执行时所需要的其他数据结构第29题CFS(完全公平调度)通过每个进程的实际运行时间来衡量哪个进程最值得被调度第30题容器就是一个进程。第31题进程的上下文属于进程控制的()类型信息。A状态信息B链接信息C虚拟内存信息D处理器环境信息第32题(

)进程可以充当所有进程的养父。A进程0B进程1CkswapdDkflushd第33题Linux创建一个进程采用的是()技术。A请求调页B写时复制C分页D分段第34题调度程序从()选择一个进程执行A进程链表B等待队列C可运行队列D哈希表第35题从内核空间看,优先级分为动态优先级(prio),静态优先级(static_prio),归一化优先级(normal_prio)和实时优先级(rt_priorit),()优先级种综合了静态优先级、调度优先级和调度策略计算而得A动态优先级B静态优先级C归一化优先级D实时优先级第36题在支持多线程的系统中,进程P创建的若干个线程不能共享的是A进程P的代码段B进程P中打开的文件C进程P的全局变量D进程P中某线程的栈指针第37题创建()不调用do_fork()A进程B用户态线程C内核线程D协程第38题第39题第4章内存管理--章节测验第1题内核中物理内存的管理机制主要有()。A伙伴算法和slab缓存Bper-CPU页框高速缓存Cvmalloc机制D以上都对第2题用户进程向系统申请物理内存空间,Linux内核通过调用()函数实现物理内存的分配。Avmalloc()Bkmalloc()Cget_free_page()Dmalloc()第3题第4题第5题第6题第7题第8题第9题第10题第11题第12题第13题第14题第15题第16题第17题第18题第19题第20题第21题第22题每个进程拥有4GB的虚拟地址空间,0-3GB是各进程私有用户空间,对其它进程不可见。最高的1GB内核空间为所有进程以及内核所共享。第23题一个进程的用户地址空间主要由mm_struct结构和vm_block_structs结构来描述。第24题用户可以通过lscpu命令查看内存的层次结构第25题在进程的task_struct结构中,有一个字段mm指向mm_struct结构,mm_struct结构中各个区域的起始和结束字段描述了进程地址空间的各个虚存区(VMA),而各个VMA只能通过单链表链接关系。第26题每个程序编译链接后形成的的二进制映像文件有一个代码段(Text)和数据段(BSS和Data),进程要映射的文件被映射到内存映射区(MemoryMappingRegion)。第27题进程运行时,CPU访问的是用户空间的物理地址,Linux仅把当前要使用的少量页面装入内存,需要时再通过请页机制将特定的页面调入内存。第28题buddy算法核心思想是回收时进行相邻块的合并。第29题把虚地址转化成物理地址的过程是由硬件机制完成的,操作系统是协助者。第30题伙伴算法负责大块连续物理内存的分配和释放,以页框为基本单位。第31题缺页异常发生时会调用伙伴算法分配物理页面第32题Linux内核对用户空间的管理是以虚存区为单位的。第33题在内核中为一个数据结构分配空间调用kmalloc()函数。第34题Linux内核调用()为进程创建虚存区(VMA)。A调用VMA()B调用do_VMA()C调用mmap()D调用do_mmap()第35题内核线程拥有的地址空间为()。A0~(3G-1)BB3GB~(4G-1)BC0~(4G-1)BD内核栈第36题()系统调用为用户空间创建一个新的虚存区。Afork()Bmmap()Cmunmap()Dexec()第37题编译链接后形成的地址是()。A物理地址B虚拟地址C线性地址D段地址第5章中断--章节测验第1题中断分为两部分处理的原因是为了避免关中断太长导致中断的丢失,因此内核希望尽可能早些完成中断请求,尽量将更多可以推后的任务推后处理。因此导入中断的两部分处第2题IDT是指中断描述符表,是存放中断处理程序入口地址的一种表第3题jiffies表示系统自启动以来的时间第4题Linux的时间单位是时钟中断第5题中断的引入是为了为了支持设备和设备之间的并行操作第6题中断模型是一种C/S结构第7题在Linux的时钟框架中,timekeeper提供对进程的调度和进程信息统计,负载平衡和时间更新等操作第8题对中断的上半部分和下半部执行的函数都为do_irq()。第9题中断子系统由三个部分组成,分别为硬件无关的代码,CPU体系结构相关的中断处理和中断控制器的驱动代码第10题CPU正在执行内核态的代码时被中断则堆栈不发生切换第11题CPU在每个时钟周期都检查是否有中断。第12题中断描述符表是段描述符表的一种。第13题中断描述符和中断共享线数据结构都是对中断线的描述第14题高精度定时器的红黑树实现中,树的最右边的结点就是最快到期的定时器第15题小任务不能睡眠,不能在小任务中使用信号量第16题因为工作队列是线程,所以我们可以使用所有可以在线程中使用的方法。第17题“时钟中断”是整个操作系统的脉搏。第18题中断请求队列的建立是为了解决中断线的共享问题。第19题注册中断处理程序是为了()A将中断处理程序挂入中断请求队列B初始化IDTC从中断返回D执行中断处理程序第20题操作系统启动以后()时钟不再被使用。ACMOS时钟BRTCCOS时钟Djiffies第21题如下缩写,()是中断描述符表。AGDTBIDTCLDTDRPL第22题操作系统启动以后使用的时钟是()。ACMOS时钟BRTCCOS时钟Djiffies第23题在中断上下文中,用()加锁A信号量B自旋锁C原子操作D锁操作第24题中断描述符表初始化时,()的DPL域被置为3A中断门B陷阱门C系统门D以上三种门第25题下列方式中,()不属于中断的下半部处理方式Asoft_irqBtaskletCworkqueuDtimer第26题()提供纳秒级的精度A本地定时器B高精度定时器C高精度计时器D时间戳计数器第27题内核初始化时,中断描述符表的地址存放在()寄存器AGDTRBIDTRCLDTRDCR0第6章系统调用--章节测验第1题从程序的角度看,实际上不直接与系统调用打交道,而是跟API打交道,API是对系统调用的封装。第2题库函数以及应用程序怎样使用系统调用,内核并不关心,内核只跟系统调用打交道,而且是实现系统调用的大场景第3题Linux的API遵循的标准是LSB第4题系统调用抽象出了用于完成某种特点目的的函数,至于这些函数怎么用内核是不关心的,这是机制与策略分离的具体体现。第5题用户空间的程序不能直接执行内核代码。它们不能直接调用内核空间中的函数,因为内核函数驻留在受保护的地址空间上。如果进程可以直接在内核的地址空间上读写的话,系统的安全性和稳定性将不复存在。第6题内核API主要是内核中标记为EXPORT_SYMBOL的函数,在写Linux内核模块时不能直接调用。第7题LSB的全称是LinuxStandardsBase,其作用是使各种软件可以很好地在兼容LSB标准的系统上运行第8题Linux系统调用接口是指内核中所有已实现和可用系统调用的集合第9题ls命令可以跟踪一个应用程序所调用的系统调用第10题系统调用的实现与CPU体系结构无关第11题POSIXAPI是LinuxAPI的子集第12题ABI是和具体CPU架构和OS相关,因此,只要OS遵守相同的ABI规范,那么不同的应用就可以实现向前兼容,再也不用担心版本升级后,旧版本的应用不能运行了。第13题尽管内核版本不同,但其内核API是相同的第14题对系统调用进行优化,是因为系统调用的实现从用户态切换到内核态,执行完系统调用程序后又从内核态切换回用户态,代价很大第15题尽管系统调用号唯一的标识每个系统调用,但用户调用系统调用时并不需要知道系统调用号第16题ABI是一系列约定的集合,包含A一个特定的处理器指令集B函数调用惯例C系统调用方式D可执行文件的格式(ELF,PE)正确答案:ABCD第17题()接口是为了向前兼容ALinuxAPIB内核APICPOSIXAPIDLinuxABI第18题()不属于系统调用处理程序所做的事情A在内核栈保存大多数寄存器的内容B传递系统调用号C调用系统调用服务例程来处理系统调用D通过iret或者sysexit汇编指令从系统调用返回第19题系统调用是通过()进入其处理程序的A中断门B陷阱门C系统门DIDT第20题中断、异常和系统调用的相同点是()A源头B响应方式C处理机制D都用IDT表描述第21题系统调用号是()传入给eax寄存器的A在libc库中B通过int0x80陷入内核后C在IDT表中D在sys_call_table中第22题系统调用优化机制中,()是64位下的快速系统调用指令Aint0x80和iretBvsycalls和vDSOCsysenter/sysexitDsyscall/sysret第23题()属于内核态A系统调用表B应用程序Cglibc库Dint0x80第24题用file命令查看可执行文件,例如,filemyps,则Linux下的可执行文件遵循的标准为()APOSIXBLSBCAPIDABI第7章内核同步--章节测验第1题竞争条件会导致各种难以调试的错误是因为可执行上下文在CPU上被调度的顺序受诸多因素的影响第2题临界资源是访问和操作共享数据的代码段第3题为了避免对临界区进行并发访问,编程者必须保证临界区代码被原子地执行第4题中断屏蔽的缺点是有可能造成数据丢失甚至系统崩溃第5题自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于中断处理等部分,自旋锁可以被多个内核任务持有。第6题在多核系统中遇到原子操作,在系统层面上原子操作还是原子的,在核级就不是原子的了。第7题原子类型的定义之所以放在一个整型在结构体中,是因为这样可以确保原子操作的接口函数只能操作atomic_t类型的数据,避免对int型变量的操作。第8题在单CPU上,假设一个系统调用和一个中断服务程序并发执行,则对V的加1操作不会出现错误第9题使用嵌套锁时,获取锁的顺序无关紧要第10题典型的死锁有四路交通堵塞和自死锁。第11题对于临界区,进程之间可同时进行修改操作。第12题对于临界区,可采用down-up操作来进行保护。第13题如果数据只会被持定的进程访问,也无需加锁。第14题持有锁时需要睡眠和调度,优先考虑自旋锁第15题因为死锁是一种小概率事件,因此,检测起来比较容易第16题如果在内核中一个任务需要发出信号通知另一个任务发生了某个特定的事件,可以用完成变量。第17题并发执行的原因不包括()A中断B内核抢占C自旋锁D睡眠第18题()不是内核的同步措施A中断屏蔽B原子操作C自旋锁D临界区第19题设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是A0、1B1、0C1、2D2、0第20题有两个并发执行的内核任务11和2,共享初值为1的变量x。t1对x加1,t2对x减1,两个操作完成后,x的值为()A可能为-1或3B只能为1C可能为0、1或2D可能为-1、0、1或2第21题对共享变量v的加减赋值等操作,应该通过()完成A原子操作B自旋锁C信号量DRCU锁第22题以相同的顺序获取嵌套锁,可阻止()的死锁。A拥抱类型B同步类型C异步类型D随机类型第23题可避免死锁的算法是()。A轮询算法B银行家算法C预测算法D电梯调度算法第8章文件系统--章节测验第1题文件结构是文件存放在磁盘存储设备上的组织方式,主要体现在对文件和目录的组织上。第2题Linux的目录结构为树型结构,每个分区是一个独立的文件系统,每个分区在这棵树上是一个叶子节点。第3题Linux文件系统使用索引节点不仅记录文件的元数据,还存放文件的数据第4题将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使他们成为一个整体,称为安装,把该子目录称为安装点。第5题Linux之所以能支持多种文件系统,并对其进行统一、高效的组织以及管理,是因为虚拟文件系统,虚拟文件系就像联合国,抽象出每个实际文件系统的共有属性,描述其的数据结构为super_block。第6题虚拟文件系统所提供的抽象界面主要由一组标准的、抽象的操作构成,仅仅给出了函数的定义,并没有具体实现,真正的实现是由具体的文件系统或者驱动程序完成的。第7题inode和file数据结构的主要区别是,前者在文件建立时产生,存放于磁盘,后者在文件打开时才建立,存放于内存。第8题虚拟文件系统给用户提供统一的接口,这是机制与策略分离的一种具体体现。第9题buffer就是存放要写入磁盘的数据,cache就是存放从磁盘中读出来的数据。第10题虚拟文件系统各种对象的信息是存放在磁盘上的。第11题一个进程要读取一个文件,同一个文件的内容存在了两份拷贝,一份是页缓存,一份是用户进程的堆空间对应的物理内存空间,这种方式有可能导致这两份数据的不一致。第12题dcache和inodecache属于VFS层的缓冲区,pagecache和buffercache属于实际文件系统的缓冲区。第13题一个inode对象对应多个page描述符,同一个文件拥有的所有page描述符都可以在该文件对应的基树中找到。第14题Pagecache存放元数据(文件的属性),buffercache存放数据。第15题脏页集中到pagecache中写回磁盘,虽然提高了性能,但当突然断电时,可能会导致内存与磁盘数据不一致性的问题。第16题当一个进程打开一个文件时,()数据结构才建立。Afs_sturctBfileCdentryDinode第17题文件打开时形成的文件描述符fd存放在()数据结构中。Afs_sturctBfileCfiles_structDinode第18题一个inode节点对象对应一个()对象。ApagecacheBbuffercacheCpageDaddress_space第19题在文件的查找look_up操作中,()数据结构起关键作用。AdentryBfileCfiles_structDinode第20题假设系统中安装了3个ext4文件系统,则系统中只有一个()结构。Afile_system_typeBsupe_blockCfs_sturctDVFSmount第21题()数据结构把内存中的页与磁盘中的块关联起来了。AdcacheBinodecacheCbuffercacheDpagecache第22题Ext2文件系统中,内核获取原始inode信息的过程,首选需要读取超级块信息,然后去()组织的LRU链表中查找。AdcacheBinodecacheCbuffercacheDpagecache第23题()缓冲区中的数据最终交给块I/O层。AdcacheBinodecacheCbuffercacheDpagecache第24题文件的树型结构是由()结构来描述的Afs_sturctBfileCdentryDinode第25题文件在磁盘上的存放位置是由()结构来描述的Afs_sturctBfileCdentryDinode第26题若Linux操作系统管理了3个磁盘分区,那么该操作系统目录结构有()目录树。A1个B2个C3个D4个第9章设备驱动--章节测验第1题文件操作是对设备操作的组织和抽象,而设备操作则是对文件操作的最终实现第2题因为设备驱动程序完全隐藏了设备的工作细节,因此驱动程序的开发人员不需要了解硬件相关的细节。第3题每个设备都对应一个文件名,在内核也就对应一个索引节点第4题内核处理系统调用,根据设备文件类型和主设备号调用相应的设备驱动程序第5题设备驱动直接与硬件通信第6题内存文件系统比如proc,并不需要驱动程序第7题网络设备与块设备和字符设备一样,都在/dev目录下对应一个设备文件第8题在用户态可以通过对sys文件系统的访问,来查看内核态的一些驱动程序或者设备等信息第9题设备驱动模型中的各种对象其内部之所以都会包含kobject,是因为kobject抽象出一些公共型的服务。第10题设备控制器是CPU与I/O设备之间的接口。第11题外设寄存器主要包括控制寄存器和数据寄存器第12题访问I/O接口的形式可分为I/O内存和I/O端口,访问I/O内存用专用的I/O指令。第13题将外设卡上的存储器映射到内存空间使用ioremap()函数第1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论