为什么需要进程
通常程序不能并发执行,因为程序并发执行的结果,是不可再现的。为了使程序,可以并发执行,且能对其加以描述和控制,引入了进程的概念。
进程的特征和定义
进程是程序的一次执行,是系统进行资源分配调度的独立单位。
结构特征:为了使程序能够独立运行,应配置一个进程控制块PCB。进程是由程序段,相关的数据段和PCB(进程控制块)三部分构成的。
动态性:进程是程序的一次执行,由创建而产生,由调度而执行,由撤销而消亡,进程存在一定的生命周期。
并发性:多个进程实体,同存在于内存中,且能在一段时间内同时运行。
独立性:进程实体,是一个能独立运行,独立分配资源,独立接收调度的基本单位。
异步性:进程按自己独立的不可预知的速度推进。
进程的状态及转换
创建:保证进程的调度,必须在创建工作完成以后,再进行。确保,对进程控制块PCB操作的完整性。
就绪:进程已分配到除CPU外的所有必要资源。
执行:进程已获得CPU,其指令集正在执行。
阻塞/挂起
正在执行的进程由于发生某事件导致暂时无法继续执行。
终止:等待其他进程收集完信息后,将删除该进程,清空PCB并返还给系统。
下面是进程状态图:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
cpu
+关注
关注
68文章
10442浏览量
206560 -
操作系统
+关注
关注
37文章
6284浏览量
121877 -
程序
+关注
关注
114文章
3631浏览量
79541
发布评论请先 登录
相关推荐
【Linux学习杂谈】之父进程回收子进程
wait(int *status);注:没有const的表示这个参数是一个输出型参数status返回的是子进程结束的一个状态。pid_t则是返回结束的子进程的进程ID,当前进程
发表于 09-08 13:13
进程Context定义
当一个进程在执行时, CPU的所有寄存器中的值、进程的状态以及堆栈中的内容,比如各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。这些信息被称为该进程的上下文(Cont
发表于 08-05 07:11
进程的Context定义
当一个进程在执行时, CPU的所有寄存器中的值、进程的状态以及堆栈中的内容,比如各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。这些信息被称为该进程的上下文(Cont
发表于 08-07 08:20
怎么访问自定义服务特征UUID
CyBygGATHADBJADTHOGETGETGYNA值读取。然而,使用该宏读取自定义特性UUID给出了特征值而不是UUID。定义的常数ble_custom。H不包括特征UUID处理
发表于 09-19 07:56
最新Linux进程冻结技术需要了解
进程冻结技术(freezing of tasks)是指在系统hibernate或者suspend的时候,将用户进程和部分内核线程置于“可控”的暂停状态。
2 为什么需要冻结技术
发表于 05-06 16:00
•691次阅读
进程和线程定义
线程是CPU调度的最小单位(程序执行流的最小单元),它被包含在进程之中,是进程中的实际运作单元。一条线程是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的
编写daemon进程需要遵循哪些规则?
Daemon 进程生命周期长且在后台运行。编写daemon进程需要遵循哪些规则呢? 1、执行fork()函数,父进程退出,子进程继续 执行这
评论