看一个师兄的操作系统视频有感


在B站看到蛋黄派的大师兄的操作系统后深受启发,记录下心得

OS宏观

在这里插入图片描述例如:点击LOL这个人,它会穿过I/O门,去冰箱取LOL这道菜,然后再穿过I/O门回来,把菜放到圆桌上,然后再去拿筷子吃。

OS怎么启动的

在这里插入图片描述首先心脏提供血液给大脑,大脑通过眼睛去看外界(12选取),然后再把看到的东西成像在眼睛里(34通过小程序boot来拷贝)。

OS 的目的和功能

OS是软件和硬件资源的管理者
在这里插入图片描述

OS发展

在这里插入图片描述

例如有一个富二代
多道批处理就是拿3天,陪3个女朋友,3天陪完。
分时就是拿1天,陪3个女朋友,1天陪完。
实时性就是有一个官二代女朋友,她要求什么时候陪,那就要第一时间赶过去陪完她先。

OS运行机制

在这里插入图片描述
中断:比如有人打了我一拳,然后痛觉传到大脑里。
异常:比如我吃了垃圾食品肚子痛。
程序接口和系统调用就像自动对焦和手动对焦一样,手动的功能细致,自动的方便使用。

中断原理

在这里插入图片描述比如Q的编码是0101,cpu会和它在约定好的接口上(数据线那里)做对比查询。

OS特征

在这里插入图片描述

假并发:一个cpu在10点运行QQ,10点过1毫秒后运行LOL,10点过2毫秒后运行IDEA(以时间来定义)
真并发:3个cpu在10点这一刻同时运行QQ LOL IDEA(以时刻来定义)

在这里插入图片描述
异步:在同起点跑,有的先跑在前,有的跑在后
运行A B到达方框里后,A先检查,立了一个旗子后继续跑下去。B先检查,发现A立了旗子,所以就先等待,等A到达终点放了旗子后,B再立旗子跑去终点

OS体系

在这里插入图片描述

CPU之进程管理

进程的由来

在这里插入图片描述

单道程序:一个程序去取数据的时候,CPU都会先为它一个服务,只到结束。
多道程序:一个程序去取数据的时候,CPU不会傻等了,它会先不鸟它,看看其他程序需不需要服务。

多道程序分配图与状态图:

在这里插入图片描述在这里插入图片描述
按照排队的顺序来,获取过CPU的就排在后面等待,假如现在456对应360qqlol:
因为I/O时间有长有短,假设360I/O时间长,当360放在(1)的时候,因为处于I/O中,所以就先放弃CPU,去到(6)的位置。(这样就会浪费CPU)
假设QQ和LOLI/O时间短,现在轮到QQ去(1)了,QQ已经I/O完了,那么它就呆在(1)这里,直到阻塞。
轮到LOL去(2)了,LOL也已经I/O完了,那么它就呆在(2)这里,直到阻塞。

分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。

多进程CPU分配流程图与状态图
在这里插入图片描述在这里插入图片描述
在上面的基础上做优化,分为两队。就绪队列装I/O完的,阻塞队列装I/O中的。
分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。

在这里插入图片描述
时间方面来说:上下文切换时(当前进程切换到其他进程),假如有1w个进程,cpu要去1w个里面找到某一个的PCB,再去查看运行状态,很是浪费时间。
空间方面来说:假如QQ有1k行代码,运行到500行的时候,要去运行LOL了,这个时候cpu就会在这第500行的位置建立一个栈(书签)来记录,然后去运行LOL去,等到回QQ这里来继续运行的时候,会从501行开始了。栈是在内存里面操作系统规定好的一块地方,用多了会浪费空间。

进程的程序的区别及进程的特征

在这里插入图片描述

进程是程序加上pcb这个档案袋里面存储的状态变化的信息

UI:user interface
在这里插入图片描述

独立性:360和LOL的内存空间进水不犯河水

进程的组织

在这里插入图片描述

进程的状态与控制

程序要运行=PCB+内存+CPU
首先从磁盘copy到内存,再建立PCB,通过PCB知道入口位置,再跳到入口这个位置执行程序。
在这里插入图片描述
在这里插入图片描述通过上面的图,回味一下:
1.每种状态拥有了哪些资源?(PCB 内存 CPU)
2.什么时候需要状态转变?
3.状态转变时要做什么事情?(分配,申请,归还,修改PCB)

进程通信

在这里插入图片描述

共享通信:复制粘贴
消息传递:邮递员OS派件
管道通信:OS与各程序建立管道

三级调度

在这里插入图片描述
中级调度:磁盘有7G的LOL,但是内存只有4G,通过一个方法解决:假如有150个英雄,7G去除150,平均几M一个英雄,开一局5v5的时候,cpu就从磁盘调用10个英雄,也就100M左右,放到内存运行,大大提高了内存的利用率。
当一局游戏结束开下一局选其他英雄时,内存和磁盘就会有一个交换的过程,这就是中级调度。

FCFS算法(先来先服务)+调度过程

在这里插入图片描述
算法思想:先排队先服务
调度方式:不可剥夺(非抢占)
比如先运行完QQ,才会去服务LOL,LOL不能抢,只能等
调度时机:一个进程结束
特点:利长不利短
利于CPU忙(处理完LOL才去处理其他),不利于I/O忙(假设处理LOL的时候,I/O了5次,花了5min,在这5minCPU是空闲状态的,相当于是个监工,再要求着I/O快点搞完)
不适于分时系统和实时系统

典型案例:打印机,银行窗口

未完待续。。。。。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值