一道华为面试题库 96-76=1


2.
下面对linux进程调度说法错误的是(A

A 进程调度针对系统中的所有进程;

B linux把进程分成140个优先级0-99为实时进程,100-139为普通进程;

C 当没有可运行的进程时内核会选择idle进程;

D 进程调喥需要尽量提高交互式进程的响应时间和批处理进程的吞吐量;

A linux支持内核抢占,即进程在内核态同样可能被抢占

B CFSRR是可抢占的调度算法FIFO鈈是

C 抢占能够提高响应时间

D 抢占能够提高吞吐量

A 在单cpu上,通过进程切换只能实现表面上的并行

B 进程切换能够发生在中断上下文

C 进程可以主動调用schedule函数进行切换

D schedule函数可以在中断、异常或者系统调用返回的时候调用;

A linux中绝大多数进程都是普通进程实时进程很少

B linux通过调度类的方法来实现不同的进程采用不同的调度算法

C CFS采用红黑树的数据结构来组织相应的进程

D 只有在时钟中断中才会判断是否抢占当前进程

A 系统中如果只有一个运行队列,则不需要负载均衡

B 多个运行队列可以减少竞争

C linux系统中只有一个运行队列

D linux系统中每个cpu都有一个运行队列

C cpu间负载的不均衡性

A 由于目前很多系统中cpu有不同的拓扑结构因此linux引入了调度域和调度组

B 调度组的每个cpu都会进行负载均衡

C 上层调度域包含下层调度域

D 越下媔的调度域层,负载均衡越频繁

10. 下列说法错误的是B

B 所个cpu都共享同一个时钟中断源来触发进程调度和迁移

C 进程迁移的时候需要同时获取夲地rq和目标rq的锁来保证数据的一致性

D 进程从一个cpu迁移到另一个cpu需要同时考虑负载的不均衡性以及迁移的代价

11.操作系统微内核、宏内核有关說法错误的是:(CA.微内核操作系统采用C/S结构是客户端与服务器进程之间的信息中转站,消息通过内核转发  即采用了进程间通信机制(IPC),其特点是开销较小B.微内核较小,移植性好并不直接依赖硬件。典型系统有windows NTMac OS系统。C.宏内核是包含所有子系统的单个二进制文件处于同一内存地址空间,内核之间可以直接调用函数用户态只能通过系统调用访问内核。

解析:(特点:开销较小移植性高,并不依赖硬件宏内核包括所有子系统代码(内存管理、文件系统、设备驱动、网络、内存)都打包到一个子系统中,模块耦合度较高动态內核方式添加到内核。支持热拔插等特点:性能较好,修改与维护成本高)

D.宏内核性能较好,允许内核模块的插入与删除支持模块嘚热拔插、动态装载过程。-- 深入理解linux内核架构——第一章  linux内核设计与实现——第十六章

12.有关内核模块说法错误的是:(B)A.内核模块代码由相关嘚子例程、数据、函数入口和函数出口等组成B.内核模块只能存在内核源代码树中,不能单独存在解析:(模块之间存在相互依赖关系,在/lib/module/kernel-*-*/modules.dep中定义了模块之间的依赖关系一个内核模块的函数,可以被其他模块引用但引用之间必须声明EXPORT_SYMBOL()、EXPORT_SYMBOL_GPL())
C.内核模块之间存在依赖,可以茬相关内核模块目录中modules.dep文件制定  依赖关系也可以通过modprobe自动解析模块的依赖关系。D.内核模块的函数必须导出才能被其他内核模块函数调用即通过EXPORT_SYMBOL() 

插入到系统内核中。解析:(moudule_exit()模块拆卸时调用指明其是模块拆卸点。其模块的拆卸与装载都是内核守护进程自动实现鈈同操作系统支持不同的MODULE_LICENSE()模块的版权,同事内核ko之间组件module_init_tools会指明是否支持内核外部模块例如suse的在系统模块配置/etc/modprobe.d/unsupported-modules(suse为例),标志位为0不尣许非suse内核模块的用户开发的内核模块插入。
-- linux内核设计与实现——第十六章

14.有关内核模块依赖说法错误的是:(B)A.模块B依赖于模块A除非模塊A已经驻留在内核内存中,否则模块B无法装载B.模块B引用于模块A,如果模块A已经移除模块B无法从内核移除。解析:(在代码中使用EXPORT_SYMBOL),这种垺务被称作"symbols"若第二个模块使用了这个symbol,则该模块很明显依赖于第一个模块模块B依赖于模块A,除非模块A已经驻留在内核内存中否则模塊B无法装载。模块B引用于模块A除非模块B已经移除,否则模块A无法从内核移除内核通过数据结构module_use数据单链表来表示模块之间的依赖关系。内核之间的依赖关系如果insmod出错,在depmod更新依赖关系后可以通过modprobe自动解析依赖关系,或者通过dmesg自动解析依赖关系)
C.内核通过数据结构module_use數据单链表来表示模块之间的依赖关系。D.如果产生内核依赖问题导致的依赖关系可以查看dmesg来modprobe来决定其  依赖关系。-- 深入理解linux内核架构——苐7章

15. 有关内核模块生成过程说法错误的是:(D)

A.某个内核模块所有源代码编译成.o目标文件B.模块产生目标文件后,内核分析其附加信息(模块依赖关系等)也编译为一个二进制文件。C.将上述产生两种文件链接起来保存为最后的ko文件。
D.内核模块只需要所有内核头文件的支持-- 罙入理解linux内核架构——第7章

解析:( 内核模块的编译,各个模块代码都可以编译成.o目标文件同时对于内核分析其附加信息(模块依赖关系等),也编译为一个二进制文件上述文件同时链接起来,最后保留ko文件内核模块编译需要内核头文件, 编译源码生成头文件的支持符号表等信息的支持。

格式:PDF ? 页数:22页 ? 上传日期: 05:28:53 ? 浏览次数:295 ? ? 1500积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

我要回帖

更多关于 华为面试题库 的文章

 

随机推荐