本资源是一份2017年东南大学计算机专业考研真题回忆版,涵盖了多道计算机科学与技术考试题目,旨在帮助考生复习备考。以下是一些重要的知识点总结:
1. 多对一线程模型中的系统调用:当一个线程在多线程进程中执行阻塞的系统调用时,只有执行该系统调用的线程会被阻塞,而其他线程可以继续执行(选项B)。这表明了操作系统对于线程同步和资源管理的处理。
2. 进程调度时机:调度可能发生在执行进程的时间片用完(I)、进程进行I/O操作导致等待(II)、系统创建新进程(III)以及等待的进程获得所需数据(IV)时。因此,正确的选择是所有这些情况(D)。
3. 分段系统地址空间:32位地址总和,8位段号意味着每个段的最大长度是\(2^{24}\)位,因为\(2^{32} - 2^{8} = 2^{24}\)。
4. 临界区:临界区指的是进程中访问共享资源且需要互斥访问的那一段代码(D),它确保同一时间只有一个线程能访问特定资源。
5. 访问速度优化:计算平均访问时间,考虑到TLB命中率和不同层次的访问时间,利用0.9的TLB命中率,平均访问时间为100ns + (1 - 0.9) * (100ns + 10ns) = 119ns。
6. 文件系统操作:删除文件记录时,若文件结构包含链接指针,删除记录4需要找到前一个记录的链接指针,然后更新指向记录4的链接。由于已有1-5号记录,所以至少需要查找两次(B)。
7. 内存分配问题:连续分配可能导致内部碎片,因为无法调整已分配的内存块大小;而非连续分配可能导致外部碎片,因为内存碎片可能无法归并。两者都可能造成存储效率问题。
8. 死锁条件:资源有序分配破坏的是占有并等待条件,因为分配资源时按照预设顺序进行,避免了循环等待的情况,从而防止死锁。
9. 银行家算法:银行家算法是一种死锁避免策略,它检查系统是否有可能进入不安全状态,即使不安全也不一定会立即导致死锁(Ⅱ和Ⅳ正确)。
10. 请求分页管理:逻辑地址为32位,分两级页表,每级页表项2B,意味着外层页表10位,内层页表13位,页内偏移13位(选项B)。
11. 颠簸现象:颠簸是指CPU利用率下降,通过暂停进程(Ⅲ)可以缓解内存压力。Ⅰ和Ⅱ表述不正确,Ⅳ描述了局部置换不会引起颠簸。
12. 数组搜索:数组全为1或0的情况下,查找1的个数可以使用二分查找(对于有序数组),时间复杂度是O(logn),因此最佳算法是A。
13. 数组索引访问:三维数组a[10][10][15],元素占2个主存单元,a[2][3][5]的索引计算为(2*10+3)*15*2,这涉及到三个维度的乘法,但没有给出具体的计算过程,所以具体位数分配无法直接给出。
这份资料涵盖了操作系统、进程管理、内存管理、文件系统、并发控制、死锁预防、内存分配、算法分析等多个计算机科学核心知识点,有助于考生理解和准备东南大学的计算机专业考研初试。