歪问操作系统

最近看了《30天自制操作系统》这本书,总算补齐了计算机基础知识中非常重要的一个板块。如果在平行时空,遇到了30天之前的“旧我”,为了增加“旧我”对操作系统知识的兴趣,准备了如下的歪问题(所谓歪问题,是本身就有问题的问题)。

  • 按住空格键不放开,或者鼠标不停的滑动,电脑应该忙于应付硬件中断,直接卡死才对,为啥一点问题都没有?
  • 知道linux系统调用的中断号是0x80吗?主从两片8259A中断芯片总共也只能提供15个中断信号的接入,这个0x80明显大于15,不会出问题吗?
  • 经常听到什么“内核管理内存”, “内核负责cpu调度”等等说法,打开top或者进程管理器(windows),指出这个“内核”是哪个进程?
  • 自己用c++开发的进程难免会出现内存访问异常(SIGSEGV),导致进程core掉,问题来了,既然是访问异常,为什么没有把别的进程甚至内核的内存踩乱,要挂大家一起挂掉?
  • 发生系统调用时,进程从用户栈切到内核栈,问题来了,当两个进程同时同步去读磁盘文件的时候,他们都运行在同一个内核栈,为什么没有出问题?

Leave a comment

Your email address will not be published. Required fields are marked *