MIT6.S081课程梳理-Lecture2

OS Organization and System Calls

Isolation

syscall interface
syscall interface
syscall interface
shell
O S
echo
find
hardware

操作系统(OS)是硬件(hardware)和应用程序的中间体。下面将假想没有OS的情况下,从隔离性(isolation)(所谓的隔离性在我的理解看来有两个含义,1. 指应用程序与hardware的隔离,2.指应用程序与应用程序的隔离。下面从隔离性的角度讲述为什么需要OS。

CPU

如下图,多个程序需要使用CPU时,需要保证协同调度(Cooperative Scheduling)的机制,即shell运行一段时间后,需要让echo也能有机会运行。可下图的设计不能保证这种机制,比如shell程序中有死循环,那么echo永远也无法获取CPU。

shell
CPU
echo

Memory

如果应用程序直接运行在硬件资源如物理内存上,shellecho的内存之间是没有边界的。比如内存地址0x1000被shell占有,如果echo程序将数据存储在0x1000,echo就会覆盖shell程序内存的内容。

截屏2022-06-17 18.19.57

以上的两点问题对应着OS实现的两个机制

  1. 多进程对CPU的分时复用(Multiplexing
  2. 物理内存的隔离性(Isolation

从Isolation的角度看Unix接口

接口通过抽象硬件资源,从而使强隔离性成为可能性.即:普通的应用程序会通过Unix接口使用硬件资源,但它又不能直接使用硬件资源,OS将帮助应用程序完成这一过程,OS将会实现Multiplexing和Isolation。

  1. 接口fork创建了进程(process) ,但实际要使用的是CPU。process其实是对CPU的抽象。这并不意味着CPU和process的一一对应,以RISC-V处理器为例,它有四个核,当有四个process时,可以做到一个process占用一个核。但有更多process时,则需要OS调度process是实现分时复用。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值