操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁

2023-11-14

操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
在这里插入图片描述
操作系统系列文章:
【1】操作系统4小时速成:操作系统的基本概念,它是系统软件,管理处理机、存储器、io设备、文件,并发和共享是最基本特征,还有虚拟和异步
【2】操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令
【3】操作系统4小时速成:进程管理占考试40%,进程状态,组织,通信,线程拥有调度,进程拥有资源,进程和线程的区别
【4】操作系统4小时速成:处理机调度,调度方法,调度准则,典型的调度算法,响应比
【5】操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法


操作系统进程管理复习重点——本文是上述45文章的复习,可以直接看45文章即可

在这里插入图片描述

进程与线程

传统的顺序活动
单道执行
在这里插入图片描述
多道并发执行——进程的基础
并行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分配存储空间,IO资源
调度处理器,先执行谁?

传统的进程——既能分配资源,也能调度

进程的组成:程序段,数据,进程控制块PCB

在这里插入图片描述
pcb数据结构,里面有一个pid
这是class的唯一id
标识符

PCB+程序段+数据data=进程映像=进程实体——静态static

运行过程叫进程——dynamic

进程的特征:并发和共享是最重要的特征

在这里插入图片描述
在这里插入图片描述

进程的状态与转换

在这里插入图片描述
创建–>就绪队列–>有了处理机,开始运行run
run可以去阻塞态,阻塞态只能去就绪态
run也可以到就绪态
如也可以到结束态

在这里插入图片描述
看图就知道
在这里插入图片描述
这图要熟悉

运行到阻塞是主动行为——自己要主动让出来
而阻塞到就绪是被动行为——需要别人搞它

在这里插入图片描述

进程的控制

在这里插入图片描述
在这里插入图片描述
申请pcb是核心

在这里插入图片描述
剥夺式停止

在这里插入图片描述
pid来标识即可,用队列queue搞它

在这里插入图片描述
os执行原语去搞定这事

在这里插入图片描述
在这里插入图片描述

进程的组织

在这里插入图片描述
在这里插入图片描述

进程通信

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打电话即可
在这里插入图片描述
快递柜,丰巢柜就是【queue】
驿站

不是直接打电话给你
在这里插入图片描述
在这里插入图片描述
对讲机
你讲,我不能讲

线程,之后的进程与线程区别

在这里插入图片描述
线程是相对于进程来说的
现在专门负责资源的分配

而线程专门负责调度作业工作的
线程目前是调度的基本单元
进程是资源分配的基本单元

在这里插入图片描述
进程资源分配基本单元
线程是调度的基本单元哦

现在含义变了哦!!!
线程的吞吐率更高
在这里插入图片描述
在这里插入图片描述
更好的并发
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
用户态不需要os
核心态需要os
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

处理机裸机的调度

在这里插入图片描述
调度算法
你要会玩最基础的两种
一个是fifo
一个是sif

在这里插入图片描述
外存-内存-CPU

外层要作业调度
内存调到外存,中级调度
cpu分配是进程调度

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
时间片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
要立马处理,需要剥夺

紧急情况下需要立马中断原来的进程

在这里插入图片描述
在这里插入图片描述
运行时间希望是100%

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个表是需要自己去算的
在这里插入图片描述
在这里插入图片描述
你这鼠标不能老是转圈
否则很烦人
没耐心的

典型的调度算法

在这里插入图片描述
在这里插入图片描述
最简单的做法
easy

在这里插入图片描述
1先来,立马玩,8开始运行,等0s,很快完成
10s结束,那2可以玩了
周转时间是完成-提交
带权是周转/run

11s结束,3开始玩

11.5s结束,4开始玩
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这个堆长作业来说,不好,它要等半天………………

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
适合于进程调度,舒服
在这里插入图片描述
在这里插入图片描述
相当于是带权周转时间?????

在这里插入图片描述
这貌似是北京汽车摇号那个策略
一方面随机
另一方面等待太久也可以有更大的机会来摇号
在这里插入图片描述
时间片轮番转
在这里插入图片描述
每个用户公平地用,时间片到了你别用了,我要用
轮转

啥时候占用?调度策略呗
在这里插入图片描述
在这里插入图片描述
优先级又分为剥夺,和非剥夺
所以不是绝对的

进程同步,是因为进程也是异步的

在这里插入图片描述
在这里插入图片描述
访问是互斥的
否则你同时修改不行的

在这里插入图片描述
在这里插入图片描述
因为异步制约,所以同步合作

在这里插入图片描述

你用完,我用
咱俩互斥的
在这里插入图片描述
不玩你就让出来
和去银行取钱一样
都是类比的
在这里插入图片描述
在这里插入图片描述
P等待
V干活
在这里插入图片描述
在这里插入图片描述
解决同步和互斥的问题

在这里插入图片描述
在这里插入图片描述
合作
互斥是不同占用

在这里插入图片描述
在这里插入图片描述
管程,扩展

阻塞–就绪,才能去run

死锁

在这里插入图片描述
就是因为互斥导致的
车辆AB
我占你,你占我,没法玩
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
死锁预防,防止死锁产生

在这里插入图片描述
在这里插入图片描述
预防是干条件
避免——想办法算法看看是否进入不安全状态
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
但浪费吧
在这里插入图片描述
在这里插入图片描述
需要计算,这个是要算题目的
银行家算法

安全状态:银行家算法

在这里插入图片描述
在这里插入图片描述
给p2 2台,剩余1台
释放后,剩下4+1=5台
这时候只有P1可以满足要求
给P1
剩余0台
释放之后剩余10+0=10台
满足P3
所以
P2,P1,P3就是安全状态的顺序

在这里插入图片描述

最大需求B-已分配A=D,这是你还需要的
可用资源K怎么说
D<=可用资源K

就能分配
在这里插入图片描述
这个老师讲得快,应该看小岳老师那个
没事,这里是复习,你看看就行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
自己算,看来还是小岳更完美,刺激


总结

提示:重要经验:

1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁 的相关文章

  • 6.OS运行机制(补充)

    中断
  • texlive支持中文的简单方法

    1 确保tex文件的编码方式是UTF 8 2 在文档开始处添加一行命令即可 即 usepackage UTF8 ctex 如下所示 documentclass article usepackage UTF8 ctex begin artic
  • MySQL基础(非常全)

    MySQL基础 一 MySQL概述 1 什么是数据库 答 数据的仓库 如 在ATM的示例中我们创建了一个 db 目录 称其为数据库 2 什么是 MySQL Oracle SQLite Access MS SQL Server等 答 他们均是
  • linux 如何创建卷组

    1 创建一个物理卷 Pvcreate dev sd1 dev sd2 dev sd3 dev sd4 2 用刚才创建的物理卷创建一个卷组 Vgcreate 卷组名 dev sd1 dev sd2 dev sd3 dev sd4 3 创建逻辑
  • VMware-Ubuntu安装bochs

    我的运行环境是VMware的Ubuntu 首先大家可以按照CSDN上的教程按照符合自己需求的虚拟机 我在上午还在VMware和virtualBox之间做选择 但是由于已经安装过了VMware 所以我就直接用了VMware 当然了 一千人眼中
  • Client-Server问题

    1 实验内容与要求 需要创建客户Client和服务器Server两个进程 它们通过管道进行通信 Client进程派生3个生产者线程 一个管道线程 共享一个20个slots的缓冲区 每个生产者线程随机产生一个数据 打印出来自己的id 进程 线
  • ps aux 和ps -aux和 ps -ef的选择

    Linux中的ps命令是Process Status的缩写 ps命令用来列出系统中当前运行的那些进程 ps命令列出的是当前那些进程的快照 就是执行ps命令的那个时刻的那些进程 如果想要动态的显示进程信息 就可以使用top命令 要对进程进行监
  • CF、SF、OF、ZF标志位

    没学汇编 这种题我真是做一道错一道 OF overflow flag 溢出标志位 溢出标志位 OF 1 表示带符号整数运算时结果发生溢出 对于无符号整数运算 OF没有意义 对于有符号数的溢出判断方式有 1 采用一位符号位 思想为 或 则为溢
  • InfoQ视频直播分享报名:前贝尔实验室、Oracle架构师为你在线揭秘分布式平台内核...

    报名方式 关注InfoQ微信公众号 ID infoqchina 回复 InfoQ 即可观看在线直播技术分享 分享地点 u0026amp 时间 InfoQ直播微课堂将在熊猫 TV 网站播出 看腻了卖肉的女主播 来看看QCon 的明星讲师如何
  • 操作系统笔记六(文件管理)

    1 文件逻辑结构 1 1逻辑结构的文件类型 分类 有结构文件 例如 PNG文件 无结构文件 1 2顺序文件 1 3索引文件 2 辅存的存储空间分配 2 1分配方式 连续分配 直接分配连续的存储空间 链接分配 隐式链接 在盘块内指定下一个盘块
  • Linux系统如何看目录属于哪个磁盘分区

    Linux是先有目录 再有磁盘分区 df h 目录 例如 没有挂载磁盘的目录 显示在系统盘 root iZ2ze57v3n0zma46zqiq8nZ sh 1 5 5 df h alidata Filesystem Size Used Av
  • Visual studio 2005 hangs on startup AppHangXProcB1 svchost devenv.exe svchost.exe:{2a811bb2-303b-48b...

    This problem has been torturing me for the whole afternoon and after searching on the web for a long time I finally get
  • 记录一次生产环境MySQL死锁以及解决思路

    一 背景 1 业务背景 这里因为涉及到公司的业务问题不进行深入讨论 下面换成通用的一些业务场景就是举例 2 技术背景 众所周知 所谓锁的产生本质上是想解决资源竞争问题 在MySQL的前提下 MySQL为了解决事务并发独写的问题 在进行ins
  • 自己动手写操作系统(一)

    本系列文章将一步步实现一个简单的操作系统 实验环境是在Linux系统下通过Bochs虚拟机运行我们自己写的操作系统 一 实验环境搭建 1 Ubuntu的安装 Windows用户可以选择在虚拟机中安装Ubuntu 具体安装教程可自行搜索 2
  • Windows驱动开发(一)第一个驱动程序

    首先我们需要了解 在操作系统中 是分两种权限的 一种是内核态 我们也称为0环 一种是用户态 称之为3环 而在我们的电脑中 驱动程序是运行在内核态的 这意味着和操作系统内核是在同一权限的 而普通的应用程序的权限是最低的 高权限谁不想拥有呢 因
  • Linux 内核中的 Device Mapper 机制

    Linux 内核中的 Device Mapper 机制 尹 洋 在读博士生 尹洋 中科院计算所国家高性能计算机工程技术研究中心的在读博士生 主要从事服务部署和存储资源管理以及Linux块设备一级的开发和研究工作 简介 本文结合具体代码对 L
  • Anaconda 安装 Python 库(MySQLdb)的方法-(转)

    安装python库的过程中 最重要的地方就是版本需要兼容 其中操作系统为64位 Python为2 X 64位 下载安装文件的时候也要注意版本匹配 其中文件名中包含的cp27表示CPython 2 7版本 cp34表示CPython 3 4
  • 《深入理解计算机系统》实验四Architecture Lab

    前言 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻请看 深入理解计算机系统 实验四Architecture Lab下载和官方文档机翻 我觉得这个文档对整个实验很有帮助 如果你的Y86 64环境还没安装好可以看
  • OS——文件管理系统磁盘的结构之搞清盘面和柱面

    如上图 每个柱面有三个盘面 即就是3个磁道 柱面可以抽象的理解成是一个套一个的立体的同心圆柱体 例 2019年408真题 磁盘有300个柱面 每个柱面有10个磁道 每个磁道有200个扇区 扇区大小为512B 则磁盘容量 分析 每个柱面有10
  • 使用ShellJS提升你的开发效率(一)

    Shelljs Unix shell commands for Node js Shelljs是Node js下的脚本语言解析器 具有丰富且强大的底层操作 Windows Linux OS X 权限 Shelljs本质就是基于node的一层

随机推荐

  • 安装 Hana Studio

    1 从sap 官网下载下来的安装包是 sar 类型的压缩包 2 需要用专门的解压工具 SAPCAR 3 运行sapcar 工具和安装包放到英文路径下 win r 输入cmd 输入CD SAPCAR保存路径 我的保存在 出现这种 没有打开相应
  • pandas之Series()菜鸟教程

    Pandas数据结构Series 基本概念及创建 一维数组 Serise import numpy as np import pandas as pd import time Series 数据结构 Series 是带有标签的一维数组 可以
  • CUDA安装详细教程

    一 CUDA下载 CUDA官网 二 CUDA具体安装步骤 1 检查电脑的NVIDIA版本 在cmd中输入nvidia smi 注意nvidia smi中的是驱动对应的cuda最高版本 只要此版本大于等于你安装的cuda即可 若命令nvidi
  • 机器学习笔试面试超详细总结(一)

    文章目录 1 判别模型和生成模型 2 最大概率分词 3 中文分词的基本方法 4 CRF 条件随机场 的特点 5 隐马尔可夫模型 HMM 时间复杂度及可以使用的数据集 6 在二分类问题中的评价方案 7 决策树特点 8 过拟合 9 异方差性 1
  • 关于gitlab的使用1——拉取代码

    1 快速上手 1 1注册 1 2登录 1 3选择 1 4选择所要拉取代码到idea的项目 1 5 选择索要拉取的模块 1 6选择clone按钮进行操作 1 7复制ssh或者http协议地址 1 8打开idea 1 9输入协议地址和保存路径
  • 关于Ajax跨域提交时session丢失的问题

    今天在工作中遇到了一个问题 就是当使用ajax和jsonp进行跨域时 每一服务器都会在cookie里set一个新的sessionId 会将原有的sessionId覆盖 也就是说客户端对于服务器来说始终处于未登录状态 我使用谷歌浏览器是没有问
  • R语言gg3D包绘制3D图形

    本次分享一个绘图还不错的包 gg3D 2018年1月公布 一 安装包 gg3D包目前 写该文章时 在R语言官方网站还不能找到并下载 但可以通过开源的托管平台gitHub下载 运行如下代码 install packages devtools
  • React Router中useRoutes()方法的使用

    运用场景 当我们需要路由权限控制点时候 对路由数组做一些权限的筛选过滤 这时需要把路由进行集中式管理 所谓的集中式路由配置就是用一个数组统一把所有的路由对应关系写好替换本来的Roues组件 便于管理路由 更加灵活 原来的路由写法 impor
  • STM32 基础系列教程 45 - FSMC_LCD_Touch

    前言 上一节我们完成了用 STM32F4的 FSMC接口来控制 TFTLCD的显示的操作 其实正点原子的探索者F4开发板带的屏幕支持触摸操作 笔者用的是4 3寸的电容触摸屏 本节我们继续实验 来完成基于STM32的触摸屏的实验 关于触摸屏的
  • Xshell的下载与安装

    引言 上一篇文章有介绍Windows子系统的安装与使用 安装Ubuntu桌面版确实可以直接使用Ubuntu子系统 但是Ubuntu桌面版的界面不是很好看 并且不能直接上传文件到服务器中 所以本篇章介绍SSH远程终端工具Xshell的下载与安
  • Springboot的application.properties或者application.yml环境的指定运行与配置

    Springboot的application properties或者application yml文件的配置 1 关于多个配置环境的指定运行 我们在主配置文件编写的时候 文件名可以是 application profile propert
  • 【k8s】ImagePullBackOff 错误处理

    文章目录 1 概述 2 问题复现 参考 1 概述 ImagePullBackOff错误比较简单 镜像下载失败 要么网络设置有问题 要么没有设置镜像源 另外一个比较隐蔽的问题是 当你在集群环境下 假设有3个节点 那么这三个节点都要设置镜像源
  • 物联网专业毕业设计题目大全

    文章目录 1 前言 2 选题分享 2 1 嵌入式方向 2 2 算法方向 2 3 移动通信方向 2 4 学长作品展示 3 选题技巧 3 1 如何避坑 重中之重 3 2 难度把控 3 3 题目名称 4 最后 1 前言 这是学长亲手整理的物联网相
  • k8s部署gitlab最新版并初始化和登录

    前提条件是已经部署了k8s环境 采用k8s部署gitlab作为devops的测试环境 更加简洁和方便 1 准备工作 1 1 创建nfs共享目录 在nfs服务器创建共享目录 部署的gitlib使用共享目录来进行持久化 这样不管在哪个节点运行g
  • 一个程序员的成长历程(持续更新)

    此处将是我学习编程的整个简单过程将持续记录只想在这里见证我一步步的成长 此时学习编程200天 2016 8 1 大一刚接触时的冲动和欣喜 认为语言种类积累学习越多我将走向成功 如今大一暑假 经过这一阶段对c语言与c 学习过后 喜欢上了算法
  • 使用windows自带的任务计划程序定时运行python程序(详细教程)

    最近写了一段微信定时发送消息的代码 但是这样需要一直将代码运行 现在运用windows自带的任务计划程序来实现代码自动运行 以达到定时发送消息的效果 将此记录下来方便下次使用时查找 1 打开搜索框搜索windows管理工具 并打开 2 在w
  • UML2面向对象分析与设计(第2版) 谭火彬 期末复习整理+部分答案【超实用】

    所用教材 谭火彬 编著 笔者纯手打整理 喜欢的话请点赞 关注我哦 UML相关的书就不能精简一点嘛 配套答案在公众号 书圈 内下载 也可以通过百度网盘链接 https pan baidu com s 1IPFlXBCVItuXrPZzY6qv
  • 程序员的自我修养--链接、装载与库笔记:目标文件里有什么

    编译器编译源代码后生成的文件叫做目标文件 目标文件从结构上讲 它是已经编译后的可执行文件格式 只是还没有经过链接的过程 其中可能有些符号或有些地址还没有被调整 其实它本身就是按照可执行文件格式存储的 只是跟真正的可执行文件在结构上稍有不同
  • 合并两数组(并排序)

    将两个数组num1和num2合并 升序排序 代码如下 import java util Arrays public class LangSuZu public int Hebing int num1 int num2 int num3 ne
  • 操作系统4小时速成:进程管理复习重点,进程,线程,处理机调度,进程同步,死锁

    操作系统4小时速成 进程管理复习重点 进程 线程 处理机调度 进程同步 死锁 2022找工作是学历 能力和运气的超强结合体 遇到寒冬 大厂不招人 可能很多算法学生都得去找开发 测开 测开的话 你就得学数据库 sql oracle 尤其sql