当前位置:网站首页>进程管理基础
进程管理基础
2022-07-06 18:46:00 【坎坷的程序员】
进程管理也称处理机管理
程序与进程
- 程序的执行顺序:1-2-3,1是2的前驱,2是1的后继
- 同一个作业没有前驱关系的程序断或不同作业的程序段可以分别并行执行。
- 程序并发执行的特征:失去了程序的封闭性,程序和机器的执行顺序不再一一对应,并发程序见的相互制约性
进程的组成
- pcb是进程存在的唯一标准
- 程序:一个程序能被多个进程同时共享执行,那这一部分就应该再入纯码的形式编制,程序执行时不可以修改
- 数据:数据部分包括程序执行时所需的数据以及工作区,该部分只能为一个进程所专用,是进程的可修改部分
进程的状态
- 三态模型
运行:当一个进程在处理机上运行
就绪:一个进程已经准备好了一切,准备运行
阻塞:一个进程运行的过程中需要等待某事才可以运行
五态模型
创建:创建了但是没有提交
终止:当进程执行完之后,就释放内存了
挂起状态
活跃就绪:进程在主存中可以被调度
静止就绪:进程被切换到辅存中,只有等待主存中有位置,才会被调度,或者它的优先级更高
活跃阻塞:进程在主存中,等待的事件一旦完成,就进入就绪
静止就绪:阻塞的时间太久,就会被切换到辅存,只有让等待的事件完成,才可以到静止就绪,等待机会才可以活跃就绪
进程控制
所有进程从创建到消亡的全过程实施有效的控制
进程控制是由操作系统内核中的原语实现的
进程间的通信
- 同步与互斥
- 同步:进程间的相互协调,a进程完成,b进程开始
- 互斥:我的你不能拿
- 管理原则:有空则进,无空等待,有限等待,让权等待
- 有限等待:要保障进程在有限的时间进入临界区
- 让权等待:当进程不能进入临界区,就释放
- 信号量机制:公用:互斥,1 私用;同步 0
高级通信原语
- 共享存储模式:相互通信的进程共享某些数据结构实现通信
- 消息传递模式:通过原语进行通信
- 管道通信:通过pip文件,写进程和读进程
管程
- 将资源集中管理,将系统中的资源抽象的表现出来。
- 管程是由:共享数据,一些能为并发进程所执行的作用在共享数据上的操作集合,初始代码以及存取权组成。
进程调度
- 高级调度:高级调度也叫:长调度,接纳调度,作业调度。将进程丢到就绪状态
- 中级调度:也叫:中程调度,对换调度,将交换区的进程丢到运行,或者将阻塞状态的丢到交换区,让路给其他进程
- 低级调度:也叫短程调度或者进程调度,将内存中的进程丢到运行
- 调度算法:
- 先来先服务:谁先谁用
- 时间片轮转:固定时间片:分配给每个进程的时间片相等,可变时间片:根据实际情况进行变化
- 优先级调度:根据优先级进行调度,静态优先级:开始的时候就会创建一个优先级,不能变化,动态优先级:可以变化
- 多级反馈调度:最高优先级队列可以先运行
- 进程优先级确定:
- 对于I/O型进程,最高级队列,计算性进程,最低级队列,I/O次数不多,主要是cpu的进程,在完成I/O之后,优先返回I/O进程结束的队列
死锁 - 有2个资源,一人一个,但是他们都要抢对方的,就会构成一个环路,造成死锁
- 死锁的解决方法:
- 预先静态分配法:一次性请求所有资源,不给他们抢的机会
- 资源有序分配法:把资源分类按顺序排列,不让他们形成环路
边栏推荐
- 阿里云中间件开源往事
- 低代码平台中的数据连接方式(上)
- ZABBIX 5.0: automatically monitor Alibaba cloud RDS through LLD
- leetcode:5. Longest palindrome substring [DP + holding the tail of timeout]
- leetcode:736. LISP syntax parsing [flowery + stack + status enumaotu + slots]
- How can reinforcement learning be used in medical imaging? A review of Emory University's latest "reinforcement learning medical image analysis", which expounds the latest RL medical image analysis co
- 【论文阅读|深读】DNGR:Deep Neural Networks for Learning Graph Representations
- [server data recovery] data recovery case of a Dell server crash caused by raid damage
- unity 自定义webgl打包模板
- Web3's need for law
猜你喜欢
Lumion 11.0 software installation package download and installation tutorial
Overall query process of PostgreSQL
Sensor: introduction of soil moisture sensor (xh-m214) and STM32 drive code
Application analysis of face recognition
Web3的先锋兵:虚拟人
The mega version model of dall-e MINI has been released and is open for download
大咖云集|NextArch基金会云开发Meetup来啦!
FLIR blackfly s industrial camera: synchronous shooting of multiple cameras through external trigger
【Unity】升级版·Excel数据解析,自动创建对应C#类,自动创建ScriptableObject生成类,自动序列化Asset文件
本周 火火火火 的开源项目!
随机推荐
FLIR blackfly s usb3 industrial camera: white balance setting method
Lumion 11.0 software installation package download and installation tutorial
FLIR blackfly s industrial camera: synchronous shooting of multiple cameras through external trigger
Robot team learning method to achieve 8.8 times human return
Lombok同时使⽤@Data和@Builder 的坑
New generation cloud native message queue (I)
C#/VB.NET 删除Word文档中的水印
What to do when encountering slow SQL? (next)
leetcode:736. Lisp 语法解析【花里胡哨 + 栈 + 状态enumaotu + slots】
unity中跟随鼠标浮动的面板,并可以自适应文字内容的大小
GEE升级,可以实现一件run tasks
SchedulX V1.4.0及SaaS版发布,免费体验降本增效高级功能!
Time synchronization of livox lidar hardware -- PPS method
投资的再思考
freeswitch拨打分机号源代码跟踪
Web3对法律的需求
Overall query process of PostgreSQL
Detailed explanation of line segment tree (including tested code implementation)
The boss is quarantined
真实项目,用微信小程序开门编码实现(完结)