进程控制概念简介 多线程上篇(三)

进程控制

进程的基本数据信息是操作系统控制管理进程的数据集合,这些信息就是用来控制进程的,此处我们说的进程控制就是进程的管理。

比如进程有状态,那么进程的创建、终止,状态的切换,这都不是进程自主进行的,都是通过操作系统进行管理的

如下图所示,所有的相关数据都是操作系统用来管理维护进程的

操作系统抽象出进程概念的核心是为了运行程序

所以进程的执行态是最为核心的

其他的状态则是为了更好的控制管理进程以及进程的并发执行而附加的

所以,一定程度上来讲,操作系统对于进程的控制,可以认为是对于进程的不同状态之间完成切换所需要做的一系列事件处理

所以核心的操作有

  • 进程的创建
  • 进程的终止
  • 进程的阻塞与唤醒
  • 进程的挂起与激活

以下为进程控制的核心操作的思维导图

小结

进程的控制就是操作系统对进程的主要管理工作,最重要的就是状态的切换维护

每种状态都有不同的引发事件,每种状态又有各自不同的处理步骤和过程,整个进程控制主要就是涉及这些内容。

本文主要就是对这些状态进行简单的描述,以更好地对“进程的控制”这个概念有一个透彻的理解

上图中的思维导图是进程控制的核心

必须要理解:操作系统对于进程的控制就是对于这些状态的切换,以及切换所需要的数据维护

原文地址:进程控制概念简介 多线程上篇(三)

原文地址:https://www.cnblogs.com/noteless/p/10350215.html

时间: 2024-10-05 23:47:52

进程控制概念简介 多线程上篇(三)的相关文章

进程通信概念简介 多线程上篇(六)

进程通信指的是进程间的信息交换 ,IPC(Inter-Process Communication,进程间通信) 之前说到: 进程通信就相当于一种工作方式.沟通形式,比如你给我一个SVN标签号并且告知我意图,我去库中检索指定标签修改的指定内容,就完成了一个任务的协作. 进程同步中,也有信息的交换,比如互斥量访问,再比如生产者和消费者,共享缓冲池,但是这些通常被称之为低级的进程通信. 以信号量为例,如果你说我在塔顶点亮灯表示危险,否则表示安全,这没问题,如果你想用灯亮灯灭来像QQ一样,大段大段的传递

进程同步概念简介 多线程上篇(四)

进程同步概念 临界资源 一旦有对资源的共享,就必然涉及竞争限制 比如尽管有两个人去水井打水,但是水井却只有一个:合理安排的话刚好错开,但是如果安排不合理,那就会出现冲突,出现冲突怎么办?总有一个先来后到,等下就好了. 这个水井就是一个临界资源 临界资源用来表示一种公共资源或者说是共享数据,可以被多个线程使用. 但是每一次,只能有一个线程使用它,一旦临界资源被占用,其他线程要想使用这个资源,就必须等待. 当多进程访问临界资源时,比如打印机 假设A进程和B进程轮流获得CPU时间片执行,A打印数学,B

Java多线程概念简介 多线程中篇(一)

Java的线程与操作系统的线程 在线程的相关介绍中,有讲到“线程的实现”分为三种:内核支持,用户级以及两者混合.(这只是一种简要的分类) Java线程在JDK1.2之前,是用户线程实现的 而在JDK1.2中,线程模型变为基于操作系统原生线程模型来实现的 所以说Java虚拟机中线程的映射实现,是受制于操作系统的,操作系统支持怎样的线程模型,决定了Java虚拟机中线程的样子. 虚拟机规范中也并未限定Java线程需要使用哪种线程模型来实现. 线程模型只对线程的并发规模和操作成本产生影响,对Java程序

线程概念简介 什么是线程 多线程上篇(七)

操作系统为了程序的并发执行引入了进程的概念,提高了资源的利用率以及吞吐量. 在20世纪 60年代人们提出了进程的概念后,在OS中一直都是以进程作为能拥有资源和独立运行的基本单位的. 直到 20 世纪 80 年代中期,人们又提出了比进程更小的能独立运行的基本单位——线程(Threads) 试图用它来提高系统内程序并发执行的程度,从而可进一步提高系统的吞吐量. 简言之,进程的概念,使之能够并发执行多道程序,线程的概念让你更好地并发执行程序,一个是能不能的问题,一个是更好的问题. 线程与进程对比 线程

进行概念详解 多线程上篇(二)

操作系统是程序与硬件交互的中间层,现代操作系统将程序的一次执行抽象为进程和线程的概念. 进程作为资源分配的基本单位,线程作为执行的基本单位. 进程和线程其实就是操作系统程序本身实现控制一个程序运行的数据项描述 所有的程序都是面向语言进行开发的,而语言本身是面向操作系统的,线程是操作系统对程序一次运行的抽象 所以,所有的多线程编程模型,必然遵从操作系统的大逻辑,必然是符合操作系统的对线程的抽象概念,操作系统在抽象之上提供了API供应用程序调用 简言之,应用程序的底层是借助于操作系统来完成多线程编程

读书笔记-APUE第三版-(8)进程控制

进程ID 每一个进程都有一个唯一的进程ID.几个特殊进程: 0号进程是内核进程,一般是调度进程swapper. 1号进程init,是用户进程(以root权限执行/sbin/init),负责初始化. 几个重要函数:getpid(进程ID)/getppid(父进程ID)/getuid(进程真有用户ID)/geteuid(进程有效用户ID)/getgid(进程真有用户组ID)/getegid(进程有效用户组ID). fork/exec/wait例程 fork家族函数用于创建子进程(父子进程关系下节详细

linux c 笔记 进程控制(三)

进程退出    进程结束表示进程即将结束运行,在linux系统中进程的退出方法分为正常退出和异常退出两种.exit函数进程有三种正常终止法及两种异常终止法.(1) 正常终止:    (a) 在main函数内执行return语句.这等效于调用 exit.    (b) 调用exit函数.此函数由ANSI C定义,其操作包括调用各终止处理程序(终止处理程序在调用atexit函数时登录),然后关闭所有标准I/O流等.因为ANSI C并不处理文件描述符.多进程(父.子进程)以及作业控制,所以这一定义对

Linux网络编程学习(三) ----- 进程控制实例

本节主要介绍一个进程控制的实例,功能就是在前台或者后台接收命令并执行命令,还能处理由若干个命令组成的命令行,该程序命名为samllsh. 基本逻辑就是 while(EOF not typed) { 从用户终端取得命令行 执行命令 } setp1:取得命令行内容,用uerin函数实现,处理步骤首先显示提示符,提示符的具体内容由用户通过参数传递给函数,然后每次从键盘读取一个字符,存入inpbuf中,结束时userin返回字符个数或者EOF(文件结尾),换行符也要存入inpbuf 代码如下: #inc

进程、线程、多线程相关总结

进程.线程.多线程相关总结 一.说说概念 1.进程(process) 狭义定义:进程就是一段程序的执行过程. 广义定义:进程是一个程序关于某个数据集合的一次运行.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元. 简单的来讲进程的概念主要有两点:第一,进程是一个实体.每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region).数据区域(data region)和堆栈(stack region).文本区域存储处理器执行的代码:数