2020-03-05-课堂小测-启动与系统引导&程序装载


北京航空航天大学计算机学院-2020春操作系统课程
以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平有限,如有错误敬请批评指正。


1 通常bootloader可以支持不同CPU架构,也可以支持不同操作系统的启动:(判断)

答:正确

Bootloader的实现严重依赖于具体硬件,在嵌入式系统中硬件配置千差万别,即使是相同的CPU,它的外设(比如Flash)也可能不同,所以不可能有一个Bootloader支持所有的CPU、所有的开发板。

但是bootloader是可以支持不同CPU架构和不同操作系统的,例如嵌入式系统常用的U-boot(Universal Boot Loader),以及x86处理器常用的LILO和Grub,都可以支持不同的CPU和操作系统,只不过常常不能直接拿来用,需要做一些移植的工作。


2 MIPS系统重启时能正常工作的地址空间是:(单选)

A. kuseg

B. kseg0

C. kseg1

D. kseg2

答:C

kuseg: 2GB,32位用户态可用地址,需要被MMU转换,在重启时MMU没有设置,不可用。kseg0: 512M,通过最高位清零得到其物理地址,无需MMU,但这段地址的存取需要通过cache,重启时cache没有设置好,不可用。kseg1: 512M,通过高三位清零得到其物理地址,无需MMU,存取不通过cache,是重启时唯一可用的地址段。kseg2: 1GB,内核态可用的地址,需要被MMU转换,重启时不可用。


3 如果你在MIPS平台设计一个设备驱动程序,应该将设备IO空间映射到哪个地址空间:(单选)

A. kuseg

B. kseg0

C. kseg1

D. kseg2

答:C

MIPS平台外设IO空间通常映射到kseg1段,映射到0xA0000000-0xBFFFFFFF的不通过cache的空间中。


4 BIOS的执行过程与操作系统无关:(判断)

答:正确

BIOS设置程序是被固化到电脑主板上地ROM芯片中的一组程序,其主要功能是为电脑提供最底层的、最直接的硬件设置和控制。BIOS通常与硬件系统集成在一起(在计算机主板的ROM或EEPROM中),所以也被称为固件。BIOS的执行是与操作系统无关的。


5 下面哪个工具不包含在GCC里面:(单选)

A. cc1

B. as

C. make

D. collect2

答:C

cc1是预处理器和编译器,as是汇编器,collect2是链接器,他们都是gcc所包含的工具。make工具可以看成是一个智能的批处理工具,它本身并没有编译和链接的功能,而是用类似于批处理的方式—通过调用makefile文件中用户指定的命令来进行编译和链接的。


6 在.o文件中main函数的地址是0x00000000:(判断)

答:正确

.c文件编译后生成.o文件,诸多.o文件经过链接器链接在一起才可以生成最终的可执行文件,在最终的链接和重定位之后才可以知道实际的main函数地址。在没有链接和重定位的.o文件中,main这个符号暂时表示成0x0。


7 C语言中函数参数的压栈顺序是:(单选)

A. 先压第一个参数

B. 先压最后一个参数

答:B

C语言要支持不定个数的参数,其压栈顺序就必然是从右至左。

例如printf()函数,printf()函数的原型是:printf(const char* format,…),编译器通过format中的%占位符的个数来确定参数的个数。假设参数的压栈顺序是从左到右的,这时,函数调用的时候,format最先进栈,之后是各个参数进栈,最后pc进栈,此时,由于format先进栈了,上面压着未知个数的参数,想要知道参数的个数,必须找到format,而要找到format,必须要知道参数的个数,这样就陷入了一个无法求解的死循环。而如果把参数从右到左压栈,函数调用时,先把若干个参数都压入栈中,再压format,最后压pc,这样一来,栈顶指针加2便找到了format,通过format中的%占位符,取得后面参数的个数,从而正确取得所有参数。

所以,如果不存在不定参的函数,则参数的压栈顺序无论是从左到右还是从右到左都是没关系的。


8 C语言中的局部变量在:(单选)

A. 栈上

B. 堆上

C. 数据段上

答:A

C语言的普通局部变量存储在栈上,由编译器分配栈上内存,在作用域结束后自动回收。如果实用malloc等函数动态分配内存,则会存储在堆上,需要注意手动回收,否则造成内存泄漏;使用static声明的静态变量存储在数据段静态区域,只在编译之初赋一次值;此外还可以使用register将变量声明在CPU的寄存器上,获得快速访问赋值的能力,但由于CPU寄存器数量有限,不可以声明过多register变量。


9 main函数通常是第一个执行的函数:(判断)

答:错误

C程序真正的入口点是_start,它首先做一些初始化工作(启动例程, Startup Routine),然后调用C代码中提供的main函数。


10 Linux中的sys_execve()完成了加载可执行文件的主要功能:(判断)

答:错误

sys_execve()只是函数do_execve()的一个界面,实际的处理动作在do_execve()中完成。

北航操作系统课程-20200305课堂小测-启动与系统引导程序装载相关推荐

  1. 北航操作系统课程-20200511课堂小测-操作系统安全

    2020-05-11-课堂小测-操作系统安全 北京航空航天大学计算机学院-2020春操作系统课程 以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平 ...

  2. 北航操作系统课程-20200302课堂小测-操作系统引论

    2020-03-02-课堂小测-操作系统引论 北京航空航天大学计算机学院-2020春操作系统课程 以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平 ...

  3. 北航操作系统课程-20200227课堂小测-操作系统引论

    2020-02-27-课堂小测-操作系统引论 北京航空航天大学计算机学院-2020春操作系统课程 以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平 ...

  4. 北航操作系统课程-20200330课堂小测-线程与调度

    2020-03-30-课堂小测-线程与调度 北京航空航天大学计算机学院-2020春操作系统课程 以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平有 ...

  5. 北航操作系统课程-20200402课堂小测-调度算法

    2020-04-02-课堂小测-调度算法 北京航空航天大学计算机学院-2020春操作系统课程 以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平有限 ...

  6. 《操作系统》第五章课堂小测

    <操作系统>第05章课堂小测 例题1 设有4个作业同时到达,每个作业的执行时间均为 2h,它们在一台处理器上按单道式运行,则平均周 转时间为(  B  ). A. 1h          ...

  7. 北航操作系统课程-第一次作业-操作系统引论1

    北航操作系统课程-第一次作业-操作系统引论1 北京航空航天大学计算机学院-2020春操作系统课程 题目作者为北航计算机学院操作系统课程组,答案为博主原创.水平有限,无法保证作答正确性,如有错误敬请批评 ...

  8. 北航操作系统课程-第九次作业-设备管理-IO与磁盘

    北航操作系统课程-第九次作业-设备管理-IO与磁盘 北京航空航天大学计算机学院-2020春操作系统课程 题目作者为北航计算机学院操作系统课程组,答案为博主原创.水平有限,无法保证作答正确性,如有错误敬 ...

  9. 孔老师《数据挖掘与大数据分析 》第二次课堂小测复习笔记

    马上迎来孔老师第二次课堂小测,闲着没事整理了一下要考的内容,本人大概是清明节的一股清流吧.. 奉上手稿,以供参考~ 点击此处下载高清pdf

最新文章

  1. AI对抗冠状病毒爆发的11种方式
  2. 可以获取python整数类型帮助的是什么-下列选项中可以获取Python整数类型帮助的是()。...
  3. Python程序练习题5.1-输出更大的田字格。
  4. linux练习手册,Linux操作习题集(1)
  5. jQuery判断当前点击的是第几个li的代码
  6. linux xorg.0.log,Red Hat无法登录,Cannot open log file /var/log/Xorg.0.log
  7. vue 根据for循环变量值设置子容器的样式
  8. 【特别版】考证与学习,结构与功能,之间的因果关系
  9. Spring BeanFactory、ApplicationContext IOC 容器获取与使用
  10. LayaAir 文本 Text API 详解
  11. 重定向telnet方法
  12. AVC、HEVC、VVC帧间预测技术
  13. webpack ——css兼容性处理
  14. 最新模拟登录12306(破解12306验证码)
  15. 2022年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】
  16. 阮一峰mysql_阮一峰:理解矩阵乘法
  17. python爬虫:找房助手V1.0-爬取58同城租房信息
  18. main.c: In function ‘hello’: main.c:3:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ bef
  19. wifi连接一段时间才能上网_Win7系统下连接wifi一段时间就自动断线怎么办【图文】...
  20. 音频检测一直跳出,或音频连接一直改变,导致声音断断续续

热门文章

  1. EXCEL里怎样拆分单元格
  2. Arduino智能小车电机控制方向及运动
  3. 启动oracle时ORA-04031错误的一种解决方法
  4. v7000 lun 扩展 oracle asm,IBM Storwize V7000 EasyTier介绍
  5. 微信订阅号消息列表重大更新!6点解读(必看)
  6. 常用PCB快捷键总结
  7. 微点“主动防御”的科学定义与原理是什么?
  8. 无监督学习和有监督学习区别
  9. 计算机专业考研英语二国家线多少分,考研分数线怎么看,计算机专业的,国家线是什么 单科?...
  10. 比亚迪电气工程师校招面经(已完结)