课设代码 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)· 答辩经验帖的更多相关文章

  1. 线上Linux服务器运维安全策略经验分享

    线上Linux服务器运维安全策略经验分享 https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&a ...

  2. 【微学堂】线上Linux服务器运维安全策略经验分享

      技术转载:https://mp.weixin.qq.com/s?__biz=MjM5NTU2MTQwNA==&mid=402022683&idx=1&sn=6d403ab4 ...

  3. 保研经验帖----江西师范大学 to 华中科技大学

    呼,距离拿到华科cs的offer也有一段时间,有好几次准备动手写这篇经验帖,但就是理不清自己想表达什么,今早起来状态还不错,洗漱的时候思路居然通透了,哈哈哈~ 一.基本情况 先简单介绍笔者的一些基本情 ...

  4. VM上成功安装mac os x

    想必很多人在intel . AMD上安装苹果系统,总会遇到很多问题,今天我就将我成功安装的过程给大家分享一下. 下面是我在VM上安装的步骤: 1. 准备软件 OS X Snow Leopard 10. ...

  5. 上mongodb创建一些吸取的经验教训指数

    想来接触mongodb它已经快一年了,对于其指数已经积累了很多的经验,知识,以这个夜黑风高的优势,放mongodb总结一番吧. 一,索引介绍 mongodb具有两类索引,分别为单键索引和复合索引. 1 ...

  6. 将speedbutton放在toolbar上,flat设为true,并将speedbutton的width和height设得比较大,在speedbutton中间会出现一条竖线,如何消去?

    把toolbar的flat设为false就没有竖线了

  7. redhat6.4上用apache建立os repos

    1.挂载OS介质文件 [root@server- Packages]# mkdir -p /media/dvd [root@server- Packages]# -20130130.0-Server- ...

  8. Gt9xx芯片,在规格书+Linux驱动的基础上,移植为USB裸机经验。直接用开发板,不去碰硬件的坑。

    1,用内核代码和规格书来印证数据格式: //命令3字节,IC地址 u8 end_cmd[] = {GTP_READ_COOR_ADDR >> , GTP_READ_COOR_ADDR &a ...

  9. 直接在x86硬件上显示图片(无os)

    1 任务 为了学习计算机底层和os,我给自己布置了一个任务:在x86硬件上,使用c和nasm来显示一张bmp图片.完成这个任务,前后估计花了2个月的业余时间. 这个任务涉及了很多知识点,包括:启动区. ...

  10. 为什么少有人在Windows电脑上安OS X?

    问:为什么许多人在Mac上安装Windows,却很少有人在PC上安装OS X呢?(注:通常,我们定义运行Windows的电脑为PC,而Mac的操作系统则为OS X) 答:iPhone的真正流行让更多的 ...

随机推荐

  1. AI量化策略会:可以直接上实盘的策略构建方法

    一年一度的培训虽晚但到,这是BigQuant与大家走过的第五个培训年头,在过去的四年里看到很多学员的成长和蜕变,从一开始的懵懂无知,到现在对深度学习的信手拈来,BigQuant与各位学员们一样都收获颇 ...

  2. 当数字孪生系统接入CesiumJS,将为智慧城市项目带来怎样的改变?

    数字孪生系统接入CesiumJS的契机,正是智慧城市项目的需要.因为许多智慧城市项目中包含了大量地形.倾斜摄影.DOM.DEM等GIS数据,那么为了能够在数字孪生系统中导入这些GIS数据,同时让这些数 ...

  3. Object类、String和StringBuffer、Math类、日期处理类

    1.Object类 "万物皆对象":(1)从类和对象角度:任何具体事物都是一个对象,. (2)Object类,类似"东西".所有的类都继承了Object类. 使 ...

  4. ElasticSearch之配置

    ElasticSearch主要的配置文件,如下: elasticsearch.yml,ElasticSearch的相关参数. jvm.options,JVM的相关参数. log4j2.properti ...

  5. 『Flutter』开发环境搭建

    1.前言 大家好,我是 BNTang,今天给大家介绍一下 Flutter 的开发环境搭建.在之前我已经将 Dart 的基本语法给大家介绍了,所以今天就不再介绍 Dart 的基本语法了,直接进入 Flu ...

  6. 2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算从备选人员名单 people 中选出些人组成一个「必要团队」 ( 编号为 i 的备选人员

    2023-09-10:用go语言编写.作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算从备选人员名单 people 中选出些人组成一个「必要团队」 ( 编号为 i 的备选人员 ...

  7. HDU 4705 立方和拆解

    HDU 4705 立方和拆解 题意 给一棵树,找出所有的(A,B,C)三元组的数量,满足ABC不能同时被一条路径覆盖 思路 首先可以明确的是,对于每个入度大于等于3的点(也就是有两个或以上儿子的节点) ...

  8. 云图说 | 图解制品仓库服务CodeArts Artifact

    本文分享自华为云社区<[云图说]第277期 图解制品仓库CodeArts Artifact>,作者:阅识风云. 制品仓库服务CodeArts Artifact用于存放源码编译生成的.可运行 ...

  9. 一文带你掌握OBS的两种常见的鉴权方式

    摘要:本文就将带您了解OBS的两种常见的鉴权方式--Header携带签名和URL携带签名. OBS提供了REST(Representational State Transfer)风格API,支持您通过 ...

  10. 物联网为什么需要5G?

    摘要:5G,这个词,我想每个接触ICT行业的朋友都有听过,可5G的到来,对物联网行业的帮助究竟是什么? 我相信,95%的ICT从业者对5G这一概念没有一个清晰的认知. 这一期文章的主题主要是普及一些5 ...