OS期末预习与PPT翻译(PPT1~6)

黄底的字是我还不懂的地方,如果有知道的小伙伴可以私戳我或者评论,感激不尽ღ( ´・ᴗ・` ),期末加油!

introduction

概念

操作系统是管理硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件。

ISA API ABI(它们都是实现层的概念)

在这里插入图片描述

  • ISA:在硬件和软件之间,提供机器和系统之间的接口。
    a)软件、硬件、机器、系统的关系是什么?在图上分别对应什么?比如系统,是operating system块是系统还是ISA上面都是系统?
  • ABI:应用程序通过它来获得硬件资源和系统服务
  • API:相比ABI的二进制,API用的是高级语言的源代码级程序。
Scale up
  • 限制可延展性的因素:阿姆达尔定律。
    b)红框框部分是即使更多的内核也没有办法加快的内容(?),对应公式中的(1-P)部分。
    在这里插入图片描述
security & truthworthy

在这里插入图片描述
这张ppt的意思是,由于过度追求性能,CPU会产生meltdown,造成以下两个问题:
1.破坏了用户态和内核态的独立性,让攻击者可以读取内核中的数据。
2.硬件架构上的bug。
但是这样的问题在过去的20年出现在几乎所有的intel CPU中。

meltdown的原理:
在这里插入图片描述
c)假设kernel中有一个数据key=0x01(还是说要读取kernel需要先知道key的值?)
如果我们想利用key的值索引内存中数组buf的元素,并且保存在寄存器rbx中,需要两步——先是把key的值从CPU中取出来存在寄存器rax中,然后再利用rax中的值去内存中找到buf[1]的值并且保存在寄存器rbx中。
Cache是高速缓存,数据不管是从CPU到内存还是从内存到CPU都会暂时保留在Cache里。所以这两步中转移的数据——key和buf[1]都保存在Cache里了。
attacker通过分析Cache中的buf[1]这个数字对应的是内存中buf里的buf[1],于是得到了key=1。

OS Structure

policy & mechanism

分别对应“要做什么”和“如何实现”在这里插入图片描述
如果policy会改变的话,把policy和mechanism分开会比较灵活

分类

在这里插入图片描述
这张ppt的大概意思或许是,d)大部分操作系统都是layered operating system(左图),layered operating system下还可以分成微内核和宏内核。(右图为微内核)

layered operating system

在这里插入图片描述
这一整张图就是一个操作系统,操作系统被分成了很多的层,每一层都建立在更低一层的顶部。最低层是硬件,最高层是用户接口。

微内核

在这里插入图片描述
是能够提供实现操作系统所需机制的几乎最小数量的软件。

在这里插入图片描述

解(fan)释(yi)如下:

  • 尽可能多地从内核转移到“用户”空间

  • 使用消息传递在用户模块之间进行通信
    e)这句话的意思或许是,微内核有一个特点,那就是用户模块之间通信的方式是message passing?

  • 优点
    微核更容易扩展
    更容易把操作系统移植到新的架构
    更可靠(内核模式有更少的代码运行)
    更安全

  • 缺点
    用户空间到内核空间通信的性能开销

宏内核(单片内核)

在这里插入图片描述
整个操作系统都在内核空间中工作,并且单独处于管理模式。

Process

threads
  • 包含停止活动并在以后的某个时间恢复活动所必需的最小状态
  • 线程的状态取决于处理器
    -地址空间和线程是独立的概念,相同的地址空间下可以从一个线程切换到另一个线程;同一个线程下可以从一个地址空间切换到另一个地址空间。
process的引入和概念

在这里插入图片描述
processor的引入解决了程序比处理器更多的问题——因为大部分的程序不需要始终占用处理器,所以在它们等待的时候可以释放处理器,把它交给另一个程序处理。
在这里插入图片描述
进程就是执行中的程序,包括一个地址空间和一个或更多的threads of computation。一个进程包括程序计数器、栈和数据段。
f)threads of computation 和线程是什么关系呢?

进程的五种状态

创建 执行 阻塞 就绪 终止
在这里插入图片描述

PCB(processor的数据结构)

在这里插入图片描述
进程控制块(PCB)作为进程实体的一部分,记录了操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。
每个进程都有一个PCB。
PCB中的信息:

  • 进程状态(即之前说到的5种状态)
  • PC
  • CPU寄存器
  • CPU时钟信息
  • 内存管理信息
  • accounting information(???)
  • I/O状态信息

在这里插入图片描述

context switch

在这里插入图片描述

系统通过context switch来使CPU从一个进程转换到另一个进程。
内容包括:
1.保存旧进程的状态
2.加载新进程的PCB中保存的状态

在这里插入图片描述
上下文转换的时间是一笔额外的开销,系统在转换期间什么也做不了;转换的时间取决于硬件。
在这里插入图片描述
上图是描述了上下文转换前后。前执行进程P0,然后发生了中断/系统调用,进入到中间这一列保存P0进程状态并加载P1进程状态,结束后执行P1。从P1返回到P0也是需要中断/系统调用。

Process Scheduling Queues

在这里插入图片描述
上面介绍了三种队列:
Job queue:系统中的所有进程
Ready queue:主存中的所有已经ready等待执行进程
Device queue:等待I/O设备的进程
g)所以Ready queue和Device queue是包含在Job queue中的吗?ready queue强调的“main memory”有什么特殊含义吗?
h)ready queue和device queue中的进程就是对应着就绪状态和阻塞状态吗?

在这里插入图片描述
从上图可以看到,I/O队列中的进程被执行、时间片已完、子进程执行和中断发生都会导致进程从其他队列转移到ready queue中。
i)I/O queue和device queue是一样的吗?

分类
  • I/O-bound process
    花在I/O上的时间比花在计算上的时间还多
    多而短的CPU bursts
  • CPU-bound process
    花更多的时间做计算
    少而长的CPU bursts

Inter Process Communication

Isolation & Communication

在这里插入图片描述
在这里插入图片描述
j)它们的意思是进程之间彼此independent,但是又需要cooperating,还是说进程之间不能independent而是需要cooperating呢?
进程之间合作的好处:

  • 信息共享
  • 计算更快
  • 模块化
  • 更方便
shared memory

在这里插入图片描述
k)上图中,b是shared-memory(共享内存),a是message passing(消息传递)
shared memory:
相互通信的进程共享某些数据结构或共享存储区,进程之间能够通过这些空间进行通信。需要通信的进程在通信前,先向系统申请获得共享存储区中的一个分区,将其附加到自己的空间中,并对其中的数据进行读写,读写完成后再将其归还给共享存储区。
message passing:
在这里插入图片描述
l)关于第一段的Mechanism for processes to communicate and to synchronize their actions——shared memory也是这样吗?

  • message passing不需要共享变量
  • IPC提供了两种命令,用来传递封装了通信数据的“消息”。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值