进程控制块

python学习_多进程

家住魔仙堡 提交于 2019-11-28 15:08:19
1、基础知识:    计算机的硬件组成:     主板 固化(寄存器,是直接和cpu进行交互的硬件)     cpu 中央处理器:计算(数字计算和逻辑计算) 和控制(控制所有的硬件协调工作)     存储 硬盘 内存     输入设备 键盘 鼠标 话筒     输出设备 显示器 音响 打印机   早期的计算机是以计算为核心的,现在的计算机是以存储为核心的   操作系统是一个软件 是一个能直接操作硬件的一个软件   操作系统的目标:让用户使用更加轻松,高可用,低耦合,封装了所有硬件的接口,使用户更方便的使用,对于计算机内的所有资源,进行一个合理的调度和分配   进程相关基础知识:     进程:正在执行的程序,是程序执行过程中的相关指令,数据集等的集合,也可以叫做程序的一次执行过程,是一个动态的概念     进程的组成:代码段 数据段 PCB:进程控制块     进程的三大基本状态:       就绪状态:已经获得了运行所需要的所有资源,除了cpu       执行状态:已经获得了所有资源,包括cpu,处于正在执行的状态       阻塞状态:因为各种原因,进程放弃了cpu,导致进程无法继续执行,此时进程处于内存中,继续等待获取cpu       一个特殊状态:挂起状态,因为各种原因,进程放弃了cpu,导致进程无法继续执行,此时进程被踢出内存 2、进程  

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

本秂侑毒 提交于 2019-11-28 14:58:56
原文: 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-11-28 12:49:53
对话级多任务 进程级 多任务 进程是运行中的程序 pid_t getpid();//返回当前进程得PID pid_t getppid();//返回父进程PID task_struct结构体是一个进程存在的唯一标示, 也就是进程控制块。PCB struct task_struct *task[512] ={&init_task}; 指针数组 pid hash数组 帮助管理进程PID fork();创建一个新的进程 #include<unistd.h> pit_t fork(void); 函数返回值:在父进程中创建返回的是子进程得PID号; 在子进程中返回的是0 ,创建失败返回-1 线程级 多任务 来源: http://www.cnblogs.com/yuankaituo/p/4236728.html

python多任务编程---进程

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

进程管理

蹲街弑〆低调 提交于 2019-11-28 12:42:02
进程管理 进程的基本状态 创建状态:进程在创建时需要申请一个空白PCB(process control block进程控制块),向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完 成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态 就绪状态:进程已准备好,已分配到所需资源,只要分配到CPU就能够立即运行 执行状态:进程处于就绪状态被调度后,进程进入执行状态 阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时 无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用 终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行 NICE值取值范围是--20----19,一共40个级别,这个值越小表示优先级越高值越大优先级越低。 nice值越高抢占资源的能力就越差,nice值越低的抢占资源的能力就越强。 nice命令只能调试100-139即(-20-19)优先级 nice -n 10 bash 将nice值设置为10 renice 修改调整进程优先级 renice -n 10 66908(pid) 进程优先级 系统2优先级:数字越小,优先级越高 0-139:各有140个运行队列和过期队列 实时优先级: 99-0 值最大优先级最高 nice值:-20到19,对应系统优先级100-139 Big O:时间复杂度

python - 进程

流过昼夜 提交于 2019-11-28 11:29:47
一,理论知识 1,什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动, 是系统进行资源分配和调度的基本单位 ,是 操作系统 结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是 操作系统 动态执行的 基本单元 ,在传统的 操作系统 中,进程既是基本的 分配单元 ,也是基本的执行单元。 第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。 第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。[3] 进程是操作系统中最基本、重要的概念。是多道程序系统出现后

python进程、多进程

大城市里の小女人 提交于 2019-11-28 11:28:46
进程: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。。 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 进程是一个内核级的实体,进程结构的所有成分都在内核空间中,一个用户程序不能直接访问这些数据。 进程状态: 创建、就绪、运行、阻塞、结束 进程的概念主要有两点: 第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。 第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时

操作系统

六眼飞鱼酱① 提交于 2019-11-28 08:15:25
文章目录 什么是操作系统 系统调度(分进程和线程) 进程的上下文切换 进程通信 管道 共享内存 信号量 消息队列 socket 死锁 内存管理 什么是内存 相对地址 绝对地址 逻辑地址 物理地址 线性地址 为什么要内存管理 虚拟内存 什么是缓存 缓存替换算法 内存管理方式 什么是操作系统 操作系统是管理和控制计算机硬件与软件资源的计算机程序。 操作系统主要有五大功能:处理机管理(CPU)、进程管理、内存管理、设备管理和文件系统管理。 系统调度(分进程和线程) 引起进程调度的原因有以下几类: (1)正在执行的进程执行完毕。 (2)执行中的进程自己调用阻塞原语将自己阻塞起来进入睡眠状态。 (3)执行中的进程调用了 P 原语操作,从而因资源不足而阻塞;或调用 V 原语操作激活了等待资源的进程队列。 (4)在分时系统中,当一进程用完一个时间片。 (5)就绪队列中某进程的优先级变得高于当前执行进程的优先级,也将引起进程调度。 进程的上下文切换 将CPU硬件状态从一个进程换到另一个进程的过程称为上下文切换,其实就是运行环境的切换。 进程运行时,其硬件状态保存在CPU上的寄存器中。寄存器有:程序计数器、程序状态寄存器、栈指针、通用寄存器、其他控制寄存器的值 进程不运行时,这些寄存器的值保存在进程控制块中;当操作系统要运行一个新的进程时,将进程控制块中相关值送到对应的寄存器中。 进程的内存布局

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

纵饮孤独 提交于 2019-11-28 07:41:46
原文: 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-11-28 07:12:44
操作系统原理和计算机网络 196.用户程序不能直接使用特权指令 197.若用户程序在用户态下执行了特权指令,则引起访管中断,这也是CPU由用户态向核心态转换的方法 198.数据传送完毕、设备出错、键盘输入,均产生I/O中断 199.多道程序指令设计指的是:允许多个程序同时进入一个计算机系统的主存储器,并启动进行计算的方法 200.从微观上看,部分程序使用CPU,部分程序使用外部设备; 从宏观上看,CPU与外部设备始终可以并行工作,这样可以使得CPU的运行效率达到最大化,不至于空闲 201.Linux上进程有五种状态: 运行:正在运行或运行队列中等待; 中断:休眠中,受阻,在等待某个条件的形成或接受到信号; 不可中断:收到信号不唤醒和不可运行,进程必须等待直到有中断发生; 僵死:进程已终止,但进程描述符存在,直到父进程调用 wait4()系统调用后释放; 停止:进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号停止运行 202.线程操作pthread_yield表示线程让出CPU 203.非抢占式调度的操作系统中,正在运行的进程用完时间片, 正在运行的进程出错,正在运行的进程等待I/O事件均能产生进 程调度。新创建的进程只能进入就绪队列,无法引起进程调度 204.一个进程在等待另一个进程向它发送消息,则两进程关系为同步关系 205.没有说明有共享资源、相互调用