北京大学计算机系统导论期末考试试题及答案解析
需积分: 0 191 浏览量
更新于2024-06-30
收藏 76KB DOCX 举报
"这份资源是北京大学信息科学技术学院2015年计算机系统导论课程的期末考试试卷,包含了选择题和相关知识点,如汇编指令、浮点数表示、寻址方式、链接器行为、程序段知识以及信号处理。试卷旨在考察学生对计算机系统基础概念的理解和应用能力。"
在计算机系统领域,试卷中的多项选择题涉及到以下几个关键知识点:
1. **汇编指令和栈操作**:
- 指令`movl %esp, %ebp`用于在x86架构中设置堆栈指针`ebp`,而`esp`通常用于跟踪栈顶位置,此操作不改变`esp`的值。
- `pushl %ebp`会将`ebp`压入栈中,减少`esp`,因此`esp`会发生变化。
- `call printf`调用函数会将返回地址压栈,并跳转到`printf`,`esp`也会改变。
- `subl $20, %esp`会为局部变量分配空间,因此`esp`减小。
2. **浮点数表示**:
- 单精度浮点数由阶码和尾数组成,题目中给出的27.5对应的十六进制表示是`0x41dc0000`。
3. **寻址方式**:
- X86指令集中的寻址方式,选项D `movl (%eax), 8(%ebx)`不是一个合法的间接寻址方式,因为它尝试在`ebx + 8`的地址处读取`eax`的值,但应该有一个操作数放在这里。
4. **链接器行为**:
- 静态库链接时,链接器只复制被引用的目标模块,而不是全部。
- 静态库的位置在命令行上可以灵活放置,不必一定在末尾。
- 如果库之间有依赖关系,它们的顺序可能很重要,因为链接器按照顺序解析依赖。
5. **程序段**:
- 字符串常量"Youranintoaproblem!\n"属于只读数据,通常存储在`.rodata`段。
6. **信号处理**:
- 当一个进程阻塞了特定信号,如SIGCHLD和SIGUSR1,它会忽略这些信号直到它们被解阻塞。如果在阻塞状态下接收到多个同种信号,解阻塞后只会处理一个。
7. **异常处理**:
- 异常是控制流的非正常转移,涉及硬件和操作系统的交互。
- 异常处理是由硬件初始化,但具体的处理(例如恢复现场或调用处理程序)可能需要操作系统的参与。
这些知识点体现了计算机系统基础的广泛覆盖,包括低级编程、内存管理、程序执行流程和操作系统交互等方面。通过这份试卷,学生能够检验自己对这些基本概念的理解程度。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
107 浏览量
1083 浏览量
王向庄
- 粉丝: 25
- 资源: 344