进程控制块

python多任务编程---进程

不想你离开。 提交于 2019-11-27 16:56:32
多任务编程 意义:充分利用计算机CPU的多和资源,同时处理多个应用程序任务,一次提高程序的运行效率. 实现方案:多进程,多线程 进程(process) 进程理论基础 定义:程序在计算机中的一次运行. 程序是一个可执行的文件,是静态的战友磁盘. 进程是一个动态的过程描述,占有计算机运行资源,有一定的生命周期 系统中如何产生一个进程 用户空间通过调用程序接口或者命令发起请求 操作系统接受用户请求,开始创建进程 操作系统调配计算机资源,确定进程状态等 操作系统将创建的进程提供给用户使用 进程基本概念 CPU时间片:如果一个进程占有CPU内核则称这个进程在cpu时间片上. PCB(进程控制块):在内存中开辟的一块空间,用于存放进程的基本信息,也用于系统查找识别进程 进程ID(PID):系统为每个进程分配的一个大于0的整数,作为进程ID.每个ID不重复     Linux查看进程ID:ps - aux 父子进程:系统中每一个进程(除了系统初始化进程)都有唯一的父进程,可以有0个或者多个子进程.父子进程关系便于进程管理     查看进程树: pstree 进程状态 三态 就绪态:进程具备执行条件,等待分配CPU资源 运行态:进程占有CPU时间片正在运行 等待态:进程暂时停止运行,让出CPU 五态(在三态基础上增加新建和终止) 新建: 创建一个进程,获取资源过程 终止:进程结束,释放资源过程

什么是进程,进程的特征

强颜欢笑 提交于 2019-11-27 15:56:31
进程有不同的定义,比较典型的定义有:     1.进程是程序的一次执行过程。     2.进程是一个程序及其数据在处理机上顺序执行是所发生的活动     3.进程是有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。   进程的特征;     1.动态(pcb进程控制块是进程存在的唯一的标志):进程是程序的一次执行,它有着创建,活动,暂停,终止等过程,具有一定的生命周期(由pcb决定),是动态的产生,变化和消亡的。动态性是进程最基本的特征。、     2.并发性:指多个进程实体,同存在于内存中,能在一段时间内同时运行,并发性是进程的重要特征,同时也是操作系统的重要特征。 引入进程的目的就是为了使程序能与其他进程的程序并发执行,以提高资源利用率。     3.独立性:指进程实体是一个能独立运行,独立获得资源和独立接受调度的基本单位。凡是为建立pcb的程序都不能作为一个独立的单位参与运行。     4.异步性:由于进程的相互制约,使进程具有执行的间断性,即进程按照各自的独立的,不可预知的速度向前推进。异步性会导致执行结果的不可再现性,为此,在操作系统中必须配置相应的进程同步机制。     5.结构性:每个进程都配置一个pcb对其进行描述。从结构上看,进程实体是由程序段,数据段和进程控制段三部分组成。 来源: https://www.cnblogs

进程与线程

你离开我真会死。 提交于 2019-11-27 15:35:37
目录 # 综述 # 进程 进程的类型 进程的状态 进程的组成 进程控制块(PCB) 程序 进程的管理 进程队列 创建与撤销 进程间关系 # 线程 线程的结构 线程控制块(TCB) 线程实现 引入多线程 # 小结 为什么要引入进程和线程的问题呢? @ # 综述 一项新概念的引入一般都是为了更好的描述或构建一个新的体系。进程与线程也不外乎如此。 进程是在多道程序系统中引入,但直到目前为止,进程的定义也未能完全统一。而线程则出现的较晚,但却是弥补了进程的一些缺陷,所以线程又名轻进程。 # 进程 关于进程这一概念的解释有很多种,但这些解释都具有同一个特性—— 强调程序的执行 ,即进程所具有的一种动态特性,这是进程与程序间本质上的差异。 进程与程序的区别: 程序是静态的,进程是 动态 的。 程序可通过存储介质长期保存,进程具有 生命周期 。 程序和进程是一对多的关系,而进程和程序确只能是 一对一 。 关于进程,我们做出如下讨论。 进程的类型 系统进程:也称守护进程,一个系统进程所完成的任务是相对独立和具体的,其优先级高于用户进程。 用户进程:在操作系统之上运行的所有应用程序都称为用户进程。 无论是系统进程还是用户进程,都具有: 并发性,动态性,独立性,交互性,异步性,结构性等几大特性。 注意 :进程是调度的基本单位 进程的状态 基本状态有三种: 运行态 (Run):进程占有处理器资源

【并发编程必备基础之进程】 -- 2019-08-17 00:04:39

有些话、适合烂在心里 提交于 2019-11-27 14:10:51
原文: http://blog.gqylpy.com/gqy/236 " 目录 1.操作系统背景知识 2.什么是进程 3.进程调度 4.进程的并行与并发 5.同步异步阻塞非阻塞 6.进程的创建与结束 1.操作系统背景知识 顾名思义 ,进程即正在执行的一个过程,进程是对正在运行的程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的最重要的抽象概念之一,操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,应先了解操作系统, 点击进入操作系统介绍 PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用+空间多路复用+硬件上支持分离),如果没有进程的抽象,现代计算机将不复存在。 必备理论基础 1.操作系统的作用: 1)隐藏复杂的硬件接口,提供良好的抽象接口. 2)管理,调度进程,并且将多个进程对硬件的抢夺变得有序 2.多道技术 1)产生背景:针对单核,实现并发 2)空间上的复用:如内存中同时有多道程序 3)时间上的复用:复用一个cpu的时间片,强调:遇到io切,占用cpu的时间过长也切,核心在于切之前将进程的状态保存下载,这样才能保证下次切换回来时能基于上次切走的位置继续运行. PS:现在的cpu一般都是多核的,同样

【并发编程必备基础之进程】 -- 2019-08-16 23:57:27

老子叫甜甜 提交于 2019-11-27 14:10:25
原文: http://blog.gqylpy.com/gqy/236 " 目录 1.操作系统背景知识 2.什么是进程 3.进程调度 4.进程的并行与并发 5.同步异步阻塞非阻塞 6.进程的创建与结束 1.操作系统背景知识 顾名思义 ,进程即正在执行的一个过程,进程是对正在运行的程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的最重要的抽象概念之一,操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,应先了解操作系统, 点击进入操作系统介绍 PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用+空间多路复用+硬件上支持分离),如果没有进程的抽象,现代计算机将不复存在。 必备理论基础 1.操作系统的作用: 1)隐藏复杂的硬件接口,提供良好的抽象接口. 2)管理,调度进程,并且将多个进程对硬件的抢夺变得有序 2.多道技术 1)产生背景:针对单核,实现并发 2)空间上的复用:如内存中同时有多道程序 3)时间上的复用:复用一个cpu的时间片,强调:遇到io切,占用cpu的时间过长也切,核心在于切之前将进程的状态保存下载,这样才能保证下次切换回来时能基于上次切走的位置继续运行. PS:现在的cpu一般都是多核的,同样

python线程

本秂侑毒 提交于 2019-11-27 13:31:11
基本概念 1.进程 定义:   进程就是一个程序在一个数据集上的一次动态执行过程。    组成: 进程一般由程序、数据集、进程控制块三部分组成。    程序: 我们编写的程序用来描述进程要完成哪些功能以及如何完成;    数据集:  则是程序在执行过程中所需要使用的资源;    进程控制块:  用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志 2.线程 线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能。   线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元   组成: 由线程ID、程序计数器、寄存器集合和堆栈共同组成。   线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能。线程没有自己的系统资源 3.线程与进程的区别 线程是执行的指令集 , 进程是资源的集合 线程的启动速度要比进程的启动速度要快 两个线程的执行速度是一样的 进程与线程的运行速度是没有可比性的 线程共享创建它的进程的内存空间 , 进程的内存是独立的 两个线程共享的数据都是同一份数据 , 两个子进程的数据不是共享的 , 而且数据是独立的 同一个进程的线程之间可以直接交流 , 同一个主进程的多个子进程之间是不可以进行交流 , 如果两个进程之间需要通信 ,

浅析堆栈段,BBS段,数据段,代码段

一笑奈何 提交于 2019-11-27 12:36:12
文章目录 1. 进程,线程 2. 堆栈段 3. BBS段 4. 代码段 5. 数据段 6. 例子 7. 总结 1. 进程,线程 所谓进程是指在系统中能独立运行并作为资源分配的基本单位,程序段,数据段和PCB(进程控制块)构成了进程的实体。线程是程序运行的基本单位。 -进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途不同而不同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到以下四种类型的数据段。 2. 堆栈段 堆(heap) :堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。当进程调用malloc等函数分配内存时,新分配的内存就被动态添加到堆上(堆被扩张);当利用free等函数释放内存时,被释放的内存从堆中被剔除(堆被缩减)若程序员不释放,则会有内存泄漏,系统会不稳定,Windows系统在该进程退出时由OS释放,Linux则只在整个系统关闭时OS才去释放(参考Linux内存管理)。 栈(stack) : 栈用于存放程序的局部变量,除此以外,在函数被调用时,其参数也会被压入发起调用的进程栈中,并且待到调用结束后,函数的返回值也会被存放回栈中。由于栈的先进先出特点,所以 栈特别方便用来保存/恢复调用现场

并发编程之进程简述概括

北战南征 提交于 2019-11-27 03:01:43
了解进程之前,首先了解一下操作系统里的多道技术: 一,多道程序设计技术 这个是指允许多个程序同时进入内存并运行,CPU会不断交替的处理各个程序,当其中有一道程序因I/O而暂停运行时,CPU会马上处理另一道程序 多道程序 设计的优点: 很大程度上的提高了资源的利用率,同时也提高了CPU利用率 单处理机系统中多道程序运行时的特点:   (1)多道:计算机内存中同时存放几道相互独立的程序;   (2)宏观上并行:同时进入系统的几道程序都处于运行过程中,即它们先后开始了各自的运行,但都未运行完毕;   (3)微观上串行:实际上,各道程序轮流地用CPU,并交替运行。 多道程序系统的出现,标志着操作系统渐趋成熟的阶段,先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。 由于多个程序同时在计算机中运行,开始有了空间隔离的概念,只有内存空间的隔离,才能让数据更加安全、稳定。 出了空间隔离之外,多道技术还第一次体现了时空复用的特点,遇到IO操作就切换程序,使得cpu的利用率提高了,计算机的工作效率也随之提高 多道技术的总结: 1.产生背景:针对单核,实现并发 ps: 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定。 2

操作系统与进程

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-27 02:57:17
操作系统与进程 操作系统知识: 作用: 控制软硬资源 调度进程,使进程有序 多道技术 产生背景 针对单核,实现宏观上并发 什么是多道? 内存中存放多个程序 宏观/微观 宏观上并行:多个程序在同时运行 微观上串行:实际上多道程序轮流使用cpu 时空上的复用 时间上复用:切换+保存状态 遇到io操作切换、占用cpu时间长切换 切换时保存状态,下次运行时接着上次的状态继续运行 空间上复用: 内存中同时存放多个程序 使用同一套硬件资源 进程知识: 什么是进程? 是操作系统进行资源分配和调度的基本单位,是操作系统结构的基础,进程是线程的容器 狭义、广义: 狭义定义:是正在运行的程序的实例(an instance of a computer program that is being executed) 广义定义:是一个具有独立功能的程序关于某个数据集合的一次运行活动 理论角度、实现角度 理论角度:是对正在运行的程序过程的一种抽象 实现角度:是一种数据结构,刻画动态系统内部规律 进程的本质 本质是程序在多道程序系统中一次执行过程。 进程特征? 动态性:动态创建动态消亡 并发性:可同其他进程一起并发执行 独立性:是一个能独立运行的基本单位 异步性:进程按各自独立的速度往前执行。 结构特征:数据、程序、进程控制块三部分组成。 进程与程序的区别 程序:数据和指令的集合,静态,永久

【并发编程必备基础之进程】

假如想象 提交于 2019-11-27 02:51:37
原文: http://106.13.73.98/__/10/ 目录 1.操作系统背景知识 2.什么是进程 3.进程调度 4.进程的并行与并发 5.同步异步阻塞非阻塞 6.进程的创建与结束 1.操作系统背景知识 顾名思义 ,进程即正在执行的一个过程,进程是对正在运行的程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的最重要的抽象概念之一,操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,应先了解操作系统, 点击进入操作系统介绍 PS:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力。将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用+空间多路复用+硬件上支持分离),如果没有进程的抽象,现代计算机将不复存在。 必备理论基础 1.操作系统的作用: 1)隐藏复杂的硬件接口,提供良好的抽象接口. 2)管理,调度进程,并且将多个进程对硬件的抢夺变得有序 2.多道技术 1)产生背景:针对单核,实现并发 2)空间上的复用:如内存中同时有多道程序 3)时间上的复用:复用一个cpu的时间片,强调:遇到io切,占用cpu的时间过长也切,核心在于切之前将进程的状态保存下载,这样才能保证下次切换回来时能基于上次切走的位置继续运行. PS:现在的cpu一般都是多核的,同样,每个核都会用到多道技术