大四上 | 计算机综合课设(OS)· 答辩经验帖
课设代码 repo
被问了如下问题:
- 我们的 OS 中是否有 idle 进程。
- 背景:如果所有进程都被 kill 掉了,那么 os 就会陷入死循环。即使再发生需要响应的事情,比如希望再创建个进程 或者异常处理,也没有人去应答。也就是说,如果所有用户进程都被 kill 掉了,我们的 OS 中,是否有人维持系统基本的运转与异常响应。
- 队友说 linux 启动后有个 0 号进程叫 init,永远活着,会起到这个功能。
- (老师希望听到的回答:idle 进程是 shell)
- 异常处理:地址越界怎么处理。
- 存储管理:线程的共享内存,进程地址空间在内存的映射方式(也就是二级页表的组织方式)。
- 线程共享内存,框架代码貌似有 bug:线程共享了进程的二级页表,我们是先 kill 进程、再新建【该进程】的线程(迷惑)。进程被 kill 时,相关内存全部被回收,所以新线程无法根据共享页表 找到代码段的实际物理地址。
- 存储管理:页表大小为 4K,我们想分配一个 5K 空间,零散的 4-1=3K 空间怎么处理。
- (基于框架代码的回答)就让它零散着。
- 页表的设计,我们的页表设计中是否有安全性措施。
- ① 虚拟地址 vs 物理地址,进程地址空间的隔离。
- ② 内存的属性 不可读 / 只读 / 可写 / 可执行。
- 设备管理:银行家算法属于死锁的检测 / 消除 / 预防(√)。
- vga 硬件拓展:
- vga 显示屏的工作流程:首先与驱动交互,得到满屏字符;然后把字符转换成字模,输出。
- UART 串口跟 VGA 显示器是否有交互。应该是没有,。
- 为什么要做进程调度的 MLFQ 拓展。
- 报告的建议:要把亮点单独说出来,反复强调。
其他组被问的内容:
- 还是 idle 进程。
- 串口的读写交互逻辑:写直接写,读要存 buffer。
- 一个综合性问题:异常处理、时间中断、切换进程、清 TLB、context switch 这一套流程。
总的来说,杨老师是一个很 nice 很敬业、也比较尊重学生的老师,答辩体验还不错。
答辩的目的是确保我们真的做了,一般会问 random 的技术细节问题,简单准备一下即可。
可能是提前答辩、时间充裕的缘故,我们答辩了整整一下午,退出会议后头昏脑胀,然后就发烧了
(然后出现了新冠症状,悲)
记于 壬寅年 壬子月 己酉日。
大四上 | 计算机综合课设(OS)· 答辩经验帖的更多相关文章
- 线上Linux服务器运维安全策略经验分享
线上Linux服务器运维安全策略经验分享 https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&a ...
- 【微学堂】线上Linux服务器运维安全策略经验分享
技术转载:https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&sn=6d403ab4 ...
- 保研经验帖----江西师范大学 to 华中科技大学
呼,距离拿到华科cs的offer也有一段时间,有好几次准备动手写这篇经验帖,但就是理不清自己想表达什么,今早起来状态还不错,洗漱的时候思路居然通透了,哈哈哈~ 一.基本情况 先简单介绍笔者的一些基本情 ...
- VM上成功安装mac os x
想必很多人在intel . AMD上安装苹果系统,总会遇到很多问题,今天我就将我成功安装的过程给大家分享一下. 下面是我在VM上安装的步骤: 1. 准备软件 OS X Snow Leopard 10. ...
- 上mongodb创建一些吸取的经验教训指数
想来接触mongodb它已经快一年了,对于其指数已经积累了很多的经验,知识,以这个夜黑风高的优势,放mongodb总结一番吧. 一,索引介绍 mongodb具有两类索引,分别为单键索引和复合索引. 1 ...
- 将speedbutton放在toolbar上,flat设为true,并将speedbutton的width和height设得比较大,在speedbutton中间会出现一条竖线,如何消去?
把toolbar的flat设为false就没有竖线了
- redhat6.4上用apache建立os repos
1.挂载OS介质文件 [root@server- Packages]# mkdir -p /media/dvd [root@server- Packages]# -20130130.0-Server- ...
- Gt9xx芯片,在规格书+Linux驱动的基础上,移植为USB裸机经验。直接用开发板,不去碰硬件的坑。
1,用内核代码和规格书来印证数据格式: //命令3字节,IC地址 u8 end_cmd[] = {GTP_READ_COOR_ADDR >> , GTP_READ_COOR_ADDR &a ...
- 直接在x86硬件上显示图片(无os)
1 任务 为了学习计算机底层和os,我给自己布置了一个任务:在x86硬件上,使用c和nasm来显示一张bmp图片.完成这个任务,前后估计花了2个月的业余时间. 这个任务涉及了很多知识点,包括:启动区. ...
- 为什么少有人在Windows电脑上安OS X?
问:为什么许多人在Mac上安装Windows,却很少有人在PC上安装OS X呢?(注:通常,我们定义运行Windows的电脑为PC,而Mac的操作系统则为OS X) 答:iPhone的真正流行让更多的 ...
随机推荐
- 关于yolov3在训练自己数据集时容易出现的bug集合,以及解决方法
早先写了一篇关于yolov3训练自己数据集的博文Pytorch实现YOLOv3训练自己的数据集 其中很详细的介绍了如何的训练自定义的数据集合,同时呢笔者也将一些容易出现的bug写在了博文中,想着的是可 ...
- Url参数解析组装工具类
import org.apache.commons.lang3.StringUtils; import java.util.HashMap; import java.util.Map; /** * @ ...
- 记录一些JDK的新特性~持续更新
1.record快速定义类 @Test public void testRecord() { /** * JDK16新特性 * * @param start * @param end */ recor ...
- LeetCode15:三数之和(双指针)
解题思路:常规解法很容易想到O(n^3)的解法,但是,n最大为1000,很显然会超时. 如何优化到O(n^2),a+b+c =0,我们只需要判断 a+b的相反数是否在数组中出现,而且元素的取值范围在 ...
- Java多线程学习(Day02)
目录 线程简介 线程实现(重点) 线程状态 线程同步(重点) 线程通信问题 线程实现: 方式一:继承Thread类 /** * TODO * @author 清莲孤舟 * @CreateDate 20 ...
- Javascript Ajax总结——GET请求和POST请求
1.GET请求GET最常用于向服务器查询信息.可在URL末尾添加查询字符串参数.XHR中,传入open()方法的URL末尾的查询字符串必须经过正确的编码,使用encodeURIComponent()编 ...
- Taurus .Net Core 微服务开源框架:Admin 插件【4-8】 - 配置管理-Mvc【Plugin-Limit 接口访问限制、IP限制、Ack限制】
前言: 继上篇:Taurus .Net Core 微服务开源框架:Admin 插件[4-7] - 配置管理-Mvc[Plugin-Metric 接口调用次数统计] 本篇继续介绍下一个内容: 1.系统配 ...
- ElasticSearch之cat repositories API
命令样例如下: curl -X GET "https://localhost:9200/_cat/repositories?v=true&pretty" --cacert ...
- springboot-jpa获取session
springboot获取hibernate的session进行更精细的SQL操作,默认的jpa并不能满足一些复杂需求(可能是我把需求设计复杂了) 通过查看JpaRepository的底层实现,发现是通 ...
- HDU 2144 Evolution 后缀树/后缀数组
HDU 2144 Evolution 后缀树/后缀数组 题意 给我们不到一百个字符串(长度不到一百)以及一个百分比q,然后如果某两个字符串的最长公共子串占比超过了q(在两个串中都超过)则两个串为一个集 ...