U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 常见问题解答 >

还不了解进程吗?就这一篇!

来源:http://www.tudoupe.com时间:2022-07-14

前言

你的进程,为什么它悬挂? 过程悬挂的问题并不罕见,一旦你学会了这一点,你就会对过程有一定的认识,当你遇到过程悬挂时,你可以迅速找到解决问题的办法。

进程在操作系统中,是一个很重要的概念。你熟悉操作系统,能避免一些坑,写出高质量的代码。 windows界面设置真炫酷,不多说。下面用动画加文字的方式,给大家讲述。

为什么需要进程

通常,程序不能同时运行,因为同时运行的结果是不可复制的。 程序的概念被引入,以便使程序能够同时执行,并被描述和控制。

上面的例子将子程序与程序比较,除非引入一个过程,否则操作系统只能一次运行一个程序。

进程的特征和定义

这个过程是程序的唯一执行,它是资源分配计划系统的一个独立单位.结构特点: 使程序能够独立运行,应该配置一个过程控制单元PCB.进程是由程序段,它由三个部分组成:相关数据部分和PCB(过程控制块)。 动态性:这个过程是程序的唯一执行,由创建而产生,由调度而执行,由撤销而消亡,这个过程有一个特定的生命周期。

同步:在内存中存在的多个进程实体,可以在一段时间内同时运行。

独立性:进程实体,是一个能独立运行,独立分配资源,独立接收电话的基本单元。非同步: 这个过程在其自身独立的不可预测的速度上前进. 下面动画,把小人比作进程,展示的进程的创建,销毁,动态性,并发性,独立性,异步性。

进程的状态及转换

创建:保证进程的调度,必须在创建工作完成以后,再进行。确保,对进程控制块PCB操作的完整性。 就绪:进程已分配到除CPU外的所有必要资源。

实现: 进程已经收到CPU,它的指令集正在执行.

中断/停顿正在执行的进程由于事件而暂时无法继续。

终止:等其他程序收集信息后,程序将被删除、空置PCB并返回系统。

此外,一些C++后端开发面试问题、教学视频和后端学习路线图都可以免费共享,如果你需要,你可以自己添加它们: 学习沟通小组 点击加入 ~ 分享小组文件

我们强烈推荐C++后端开发免费学习地址:C/C++Linux服务器开发高级架构师/C++后端开发架构师 icon-default.png?t=M666https://ke.qq.com/course/417774?flowToken=1013189

下面是进程状态图:

PCB进程控制块

独立运行基本单位的标志:创建进程时创建PCB,进程结束时回PCB,进程随之消亡。系统是通过PCB,感知进程的存在。PCB已成为,进程存在于系统中的唯一标志。

执行间歇运行模式:运行时必须暂停进程,运行时必须保留像CPU这样的相关信息,运行时则需要恢复像CPU这样的相关信息。

提供过程管理所需的信息: 当一个过程开始运行时,根据过程记录在PCB上的程序和数据,在内存或外部内存中的初始地址指针,以及相应的程序和数据被发现。

提供程序调度所需的信息:只有正在进行状态的程序可以调度。 程序状态记录在PCB上,以及其他信息如优先次序、等待时间、执行时间等。

同步与其他进程的通信:进程同步机制用于同步多个进程。 在PCB中,一个区域或通信队列指针实现进程通信等。

PCB进程控制块中的信息:PCB中的信息大致上可分为4类,分别是:进程标识符、CPU状态、调度信息、控制信息。

过程标识符:单独的外部标识符和内部标识符,外部标识符是进程名称,可由父进程指定,它通常由字母和数字组成。内部标识符,由操作系统提供的,一个独特的进程ID。CPU状态:主要由各种注册表中的内容构成,如通用寄存器、指令计数器(下一条指令的地址)、程序状态(状态信息、条件码、执行方式、屏蔽中断等标志)和栈指针(指向用于存放过程和系统调用参数及调用地址的系统栈的栈顶)构成。

订单信息: 包括进程状态、进程优先次序、其他信息、事件(阻塞原因)。 进程状态,是程序调度和转换时间的基础,优先级高的进程,优先考虑CPU执行.控制过程所需的资料,包括程序和数据的存储地址,为了安排过程的执行,可以从PCB中找到它的程序和数据,过程同步和通信机制,例如, 消息队列, 信号数量等.

进程创建和终止过程

创建进程过程:将空白的PCB和进程ID应用到操作系统中,分配运行所需的资源,初始化PCB,等待程序内预定的队列被插入。从操作系统或母程序获取的有关资源,需要事先通知资源需求,操作系统或母程序应该分配资源给它.PCB至少有两个类型的信息来初始化。该过程ID和父过程ID将被填入PCB控制单元2.状态信息,命令计数器指向程序输入地址,堆栈指针指向堆栈顶部控制信息。

进程终止分为: 读进程状态 、 终止进程 、 终止子进程 、 释放资源和删除PCB队列.操作系统从按过程ID设置的PCB中检索过程的PCB,从那里读取过程的状况。如果进程状态是执行状态,则终止进程的执行,替换部署标志认证.如果这个过程有后继过程,这个过程将一次结束,所有后代,防止后代的进程成为像僵尸进程一样无法控制的进程。 接着释放资源,返回一个资源到一个操作系统或主进程。最后一件事是离开PCB队列,等待其他程序收集信息。

进程阻塞和唤醒事件1.要求系统服务但未满足时,如问系统请求打印。2.启动操作需要同步时:需要请求的进程和执行的操作需要同步。3.新数据尚未到达:如果进程A写字,进程B读,则A未写,完B不能读。没有新工作要做。

启动和激活进程 1. 进程的暂停过程由进程本身完成,或其父进程 Suspend original。 将进程PCB移动到指定区域,并注意到需要重新配置的状态变化。

2.进程的激活过程,激活active原语激活进程。激活原语将进程从外存调入内存,检查该进程的现行状态并进行相应操作。

进程同步

动画展示,临界区的资源,在某个时刻,只有一个过程被使用。关键资源一旦有共享资源,它必然涉及对竞争的限制。关键资源被用来代表一个,公共资源或共享数据,可以使用多个线程。 但是每一次,只有一个线程才能使用它。一旦关键资源被占用,其他线程,要想使用这个资源,就必须等待。

进程同步的主要任务是,对多个相关进程,在执行次序上进行协调,以使并发执行的诸进程之间,能有效地共享资源和相互合作,从而使程序的执行,具有可再现性。

关键领域在关键资源的概念下,关键领域的概念很容易理解。 在程序中,所有操作都通过代码执行。 访问关键资源的代码是关键领域

因竞争或合作依赖而产生的限制。 自由化:对于关键资源,如果自由化不使用,谁来都可以使用

繁忙等待: 如果正在使用关键资源, 则其他需要等待.

限制等待:需要访问关键资源的进程应该确保它们可以在有限的时间内进入关键区域,并且它们不会愚蠢。

允许等待:如果你不能进入关键区域,立即释放处理器,并且不要在死之前占用CPU。你不能在死之前使用它。

锁锁是控制资源的一种手段.锁定点是一种控制. 当进入临界区时,我们称之为获得锁,获取锁后可获得关键资源的访问.其他线程想要进入关键区域,也需要先获得锁。 当前线程结束后,将会释放锁,其他线程可以获取这个资源的锁。

死锁 锁表示一种控制权,对临界资源的访问权限。

下面动画展示,两个小人,都要使用资源1和资源2,才能达到对面。左边小人战友资源1,右边小人占有资源2。他们占有当前资源,再去获取对方的资源时,就会产生死锁的情况。

如果有多个关键资源,可能需要同时访问两个关键资源A和B。线程1获得A线程的锁,等待获得B的锁,但线程2获得了资源B锁,在等待A资源的锁,这就是彼此的等待。解决方法采用AND型信号量机制解决该多共享资源下的同步问题。要使整个运行过程持续运行,需要的所有资源,一旦全部分配给这个过程,直到这个过程被使用和一起释放。

只要尚有一个资源未能分配给进程,其它所有可能为之分配的资源,也不分配给它。 也就是对,若干个临界资源的分配,采取原子操作方式:要么把它所请求的资源全部分配到进程,要么一个也不分配。

进程间通信

​如果两个进程,想要知道对方在干嘛,或者进行协调运行,就需要进程间通信。下面介绍一下常见的进程间通信方式。

无名管道:管道是半双工的通信方法。 数据只能流向单一方向,只能用于具有相对关系的进程之间。 过程之间的相对关系通常指父子之间的过程关系。

著名的管道:著名的管道也是,半双工的通信方式,但它允许在没有亲属关系的情况下进行过程之间的通信。消息队列:消息队列是一个消息链,存放在内核中,也由消息队列标识符标识。它克服了信号传输的不足。管道只能携带非格式化字符串和缓冲区大小限制.

信号数量:可以用于控制多个进程进入共享内存的计数器,它作为锁定机制,防止一个进程访问共享资源,而另一个进程访问资源,从而引起资源抓取。

信号:一种更复杂的通信方式,用于通知和接收事件发生过程。

共享内存:是一个可以由其他进程访问的内存的映射。该共享内存由一个进程创建,但可以由多个进程访问。

一种与其他通信机制不同,可以用于不同机器之间的通信的进程间通信机制。

参考资料

​ 建议举办一个免费的公共课程,以开发教育的零声C/C++后端,我个人认为老师讲得很好,分享给大家: C/C++后端开发者,内容包括Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,技术内容,如DPDK,立即学习

原文: 程序, 这个!

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息