同班同学的笔记:
首先是判断题,说明原因
之后全是简答题
有代码阅读题
实验题(添加系统调用,如何实现,去年是lab4,今年可能是lab5)
去年文件系统至少2题
1题文件链接,1题多重索引
最后一题考信号量
考试重点在后三章
一、判断并说明原因:
1、TLB失败,一定会缺页中断,页面要从外存调入
错误 缺页中断指的是主存中没有,而TLB是块表
TLB:Translation lookaside buffer,
即旁路转换缓冲,或称为页表缓冲;里面存放的是一些页表文件(虚拟地址到物理地址的转换表)。
又称为快表技术。由于“页表”存储在主存储器中,查询页表所付出的代价很大,由此产生了TLB。
*作业调度与进程调度的区别:
https://zhidao.baidu.com/question/1765851380121261780.html
一般来说,处理机调度可分为三个级别,分别是高级调度、中级调度和低级调度。
高级调度 又称作业调度,作业就是用户程序及其所需的数据和命令的集合,作业管理就是对作业的执行情况进行系统管理的程序的集合。作业调度程序的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业。
引入 中级调度 的主要目的是为了提高内存的利用率和系统吞吐量,使得暂时不运行的进程从内存对换到外存上。
低级调度 又称进程调度,其主要功能是根据一定的算法将cpu分派给就绪队列中的一个进程。进程调度是操作系统中最基本的一种调度,其调度策略的优劣直接影响整个系统的性能。
2、执行系统调用时可以被中断 正确
3、引入分页机制的目的是为了减少内存碎片,提高内存利用率 正确
使用分区式管理存储器,每道要求占用主存的一个或多个连续存储区域,导致产生内存碎片。分页机制允许程序存放到若干不相邻的空闲块中
4、当两个进程打开同一个文件时,它们会在系统打开文件表共享一个该文件对应的表项
错误
(教材p381-383)不一定,父子进程会共享一个系统发开文件表,但是两个进程不是父子进程,当他们打开同一文件时,在系统打开文件表中拥有各自独立的表项,主要为了独立地操作文件
简要描述实现并添加此系统调用的过程(实验4,添加一个系统调用,可以向特定文件中打印使用者输入的字符串)
- 下载源码 配置好系统(安装ncurses库)
- 使用命令:make menuconfig配置内核选项
- 对一些本实验中用不到的模块(如GPU模块、多余的网络协议、FLASH文件系统等)设置暂不编译,以减少后续编译内核消耗的时间,设置完成后保存并退出。
- 使用make -j8指令编译内核,参数j8表示利用CPU的八个