进程控制块

进程基础

匿名 (未验证) 提交于 2019-12-02 23:32:01
1.什么是进程? 进程是操作系统提供的抽象之一。有了进程的概念之后,CPU才有了并发或者伪并发的可能性。通俗的说来,当你的写的程序运行起来后,那么它就是一个进程了。 2.进程,伪并发,并发 首先说说并发,并发指的是在某一个时刻某些事件同时发生。 假设你的电脑只有一个CPU( 这里一个指单核 ),然而你却有很多程序要同时运行,即你的电脑上将有很多进程存在,那么CPU就将提供一种伪并发的能力。具体来说就是运行一个进程,然后切换到下一个进程运行,如此往复。由于切换的速度太快了,并且CPU每次执行每个进程的时间片又很短,所以你几乎感觉不到这种切换的存在,你认为他们就是同时在执行的。 然而上面的这种并发是虚假的,因为每时每刻CPU上只有一个程序在执行指令。那么真正的并发是什么?只要你的CPU是多核的,那么CPU就能提供真正的并发,CPU能同时运行多个进程,每一个核心对应于一个进程。 3.进程的创建与销毁 进程的创建的时机 系统启动时 某个进程执行了创建进程的系统调用(函数) 用户请求创建一个进程 创建一个批处理任务 当系统启动的时候,会创建一些前台进程和后台进程。比如邮箱进程(后台进程),你几乎感受不到它的存在。然而当有邮件到来的时候,它却会通知你。这种后台进程又被叫做守护进程。 当某个程序要接收海量数据的输入时,这个程序可能会创建一个新的进程来接收这些数据,然后它向下继续执行其他的语句。

Python并发编程之多进程

匿名 (未验证) 提交于 2019-12-02 22:51:30
进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 进程是资源分配的基本单位 进程有:代码段,数据段,进程控制块(PCB)组成 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。 举例: 想象一位有一手好厨艺的计算机科学家正在为他的女儿烘制生日蛋糕。 他有做生日蛋糕的食谱, 厨房里有所需的原料:面粉、鸡蛋、韭菜,蒜泥等。 在这个比喻中: 做蛋糕的食谱就是程序 (即用适当形式描述的算法) 计算机科学家就是处理器(cpu) 而做蛋糕的各种原料就是输入数据 。 进程就是厨师阅读食谱、取来各种原料以及烘制蛋糕等一系列动作的总和 。 需要强调的是:同一个程序执行两次,那也是两个进程,比如打开暴风影音,虽然都是同一个软件,但是一个可以播放苍井空,一个可以播放饭岛爱。 无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是线程,都只是一个任务而已,真是干活的是cpu,cpu来做这些任务,而一个cpu同一时刻只能执行一个任务 并发:在同一个 时间段 内多个任务同时进行,伪并行,即看起来是同时运行。单个cpu+多道技术就可以实现并发(并行也属于并发) 举例: 你是一个cpu,你同时谈了三个女朋友,每一个都可以是一个恋爱任务,你被这三个任务共享,要玩出并发恋爱的效果,应该是你先跟女友1去看电影,看了一会说:不好,我要拉肚子,然后跑去跟第二个女友吃饭,吃了一会说:那啥

python之多线程与多进程

匿名 (未验证) 提交于 2019-12-02 22:11:45
1. 多进程与多线程 (1) 背景: 为何需要多进程或者多线程: 在同一时间里,同一个计算机系统中如果允许两个或者两个以上的进程处于运行状态,这便是多任务。多任务会带来的好处例如用户边听歌、边上网、边打印,而这些任务之间丝毫不会互相干扰。使用多进程技术,可大大提高计算机的运算速率。 (2) 多进程与多线程的区别: 进程 :程序在计算机上的一次执行活动。进程分为:系统进程和用户进程。 当运行一个程序时,实际就是启动了一个进程。程序是死的(静态的),进程是活的(动态的)。 线程 :是程序中的一个单一的顺序控制流程。 CPU的基本单元(指运行中程序的调度单位)。 CPU调度的最小单位。 CPU运行程序代码并操作程序的数据所形成的。因此,线程被认为是以CPU为主体的行为。 多线程程序设计的含义就是可以将程序任务分成几个并行的子任务。 Windows系统中,进行CPU分配是以线程为单位的,一个进程可能由多个线程组成,这种情况更加复杂,有如下关系: <=CPU数量,并行运行 >CPU数量,并发运行。 并行运行的效率明显高于并发运行。 2. 多进程编程 进程的概念 第一,进程是一个实体,每一个进程都有它自己的地址空间,一般情况下,包括文本区域、数据区域和堆栈区域。 文本区域:存储处理器执行的代码; . 堆栈区域:存储着活动过程中调用的指令和本地变量。 第二,“执行中的程序”

计算机操作系统基础知识-2

匿名 (未验证) 提交于 2019-12-02 21:56:30
Shell Shell是操作系统与用户交互的界面。表现为通过控制台执行用户命令。本身不执行命令,仅仅是组织和管理命令。 脚本:类似程序的方式执行一系列的逻辑顺序的命令序列完成复杂的功能和人机交互。保存在文件中,是shell命令的集合。 定义:操作系统内核为应用程序提供的服务/函数 特点: 一般涉及核心操作和硬件资源 运行于核态 函数具有唯一ID 产生中断,且为自愿中断 定义:是程序在某个数据集合上的一次运行活动。程序的一次运行即为一个进程。 特性: 动态性 并发性 异步性 独立性 分类: 按使用资源权限 系统进程:系统内核相关进程 用户进程:运行于用户态的进程 按对CPU依赖性 偏CPU进程:计算型 偏I/O进程: 进程状态 就绪态:获得了除CPU之外所有资源,通常有多个进程处于就绪态,有一个就绪队列。 运行态:获得CPU,正在运行 等待态: 进程由程序、数据、进程控制块组成。 进程控制块是描述和管理进程的一种数据结构,包括以下内容: 进程描述信息 控制和调度信息 资源信息 现场信息 同步:进程通过协作共同完成同一任务而造成的直接制约关系,如生产者-消费者模式 互斥:进程间竞争系统资源而造成的间接制约关系,同一时间内只有一个进程可以访问系统资源。 临界资源和临界区 临界资源:同一时间只能有一个进程访问的资源 临界区:进程访问临界资源的程序片段 实现同步互斥的方法:原子操作、锁

Java多线程与并发-8.1 进程和线程的区别

匿名 (未验证) 提交于 2019-12-02 21:45:52
下面的笔记会跟一些Java源码。我们选择jdk8进行跟踪。 我们要是跟源码,最好选择jdk8,jdk11,因为它们是Oracle长期支持的版本。 进程和线程的由来,请看下面的图: 进程是资源分配的最小单位,线程是CPU调度的最小单位 所有与进程相关的资源,都被记录在PCB(进程控制块)中 进程是抢占处理机的调度单位;线程属于某个进程,共享其资源 线程只由堆栈寄存器,程序计数器和TCP(线程控制块)组成 进程和线程的区别: 线程不能看作独立应用,而进程可看做独立应用 进程有独立的地址空间,相互不影响,线程只是进程的不同执行路径 线程没有独立的地址空间,多进程的程序比多线程程序健壮 进程的切换比线程的切换开销大 Java进程和线程的关系: Java对操作系统提供的功能进行封装,包括进程和线程 运行一个程序会产生一个进程,进程包含至少一个线程 每个进程对应一个JVM实例,多个线程共享JVM里的堆 Java采用单线程编程模型,程序会自主创建主线程 主线程可以创建子线程,原则上要后于子线程完成执行 文章来源: https://blog.csdn.net/tanwenfang/article/details/92382692

进程线程协程

北城以北 提交于 2019-12-02 16:24:45
一、进程   进程(Process)是保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源), 进程是资源分配的最小单位 。进程是一个实体,每一个进程都有它自己的内存空间 进程和程序的区别: 进程:一堆代码 程序:正在运行的程序 理论基础: 一 操作系统的作用: 隐藏丑隨复杂的硬件接口,提供良好的抽象接口 管理调度进程并且将多个进程对硬件的竞争变得有序 二多道技术 : 1.产生背员:针对单核,实现并发   ps:   现在的主机一般是多核,那么每个被都会利用多道技术   有4个cpu.运行于cpu1的某个程序遇到1o阻塞,会等到:o结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定, 2.空间上的复用:如内存中同时有多道程序 3.时间上的复用:复用一个cpu的时间片   强调:遇到1o切,占用cpu时间过长也切。核心在于切之前将进程的状态保存下来,这样   才能保证下次切换回来时,能基于上次切走的位置继续运行 时间片:    时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。如果在时间片结束时进程还在运行

第五周作业

我们两清 提交于 2019-12-02 12:01:09
第五周作业    Hub集线器 ,它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(即带冲突检测的载波监听多路访问技术)介质访问控制机制。    hub集线器 的特点:所有端口都是共享一条带宽,在同一时刻只能有二个端口传送数据,其他端口只能等待,所以只能工作在半双工模式下,传输效率低。可以理解为如果是个8口的HUB,那么每个端口得到的带宽就只有1/8的总带宽了。 以太网桥   简称 网桥 ,是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。    网桥的工作原理 网桥的优点: 1 、扩大了物理范围,也增加了整个局域网上的工作站的最大数目。 2 、分割了网络冲突域,使网络冲突被限制在最小的范围内。 3 、交换机作为更加智能的交换设备,能够提供更多用户所要求的功能:优先级、虚拟网、远程检测等。 4 、过滤通信量。网桥可以使用局域网的一个网段上各工作站之间的信息量局限在本网段的范围内,而不会经过网桥溜到其他网段去。 网桥的工作原理: 路由器    路由器 ,(英文是:Router,又称路径器)是一种电讯网络设备,提供路由与转送两种重要机制

多线程(一)线程的介绍与创建

点点圈 提交于 2019-12-02 11:08:38
一、线程与进程的区别 1.进程 :是程序的一次执行过程,或是正在运行的一个程序 。由程序、数据和进程控制块三部分组成。比如 运行中的IDEA,vscode 2.线程 :是进程中实际运作的单位,是一个程序内部的一条执行路径。 总结 :一个操作系统可以同时执行多个任务,每个任务就是一个进程;一个进程可以执行多个任务,每个任务就是线程。 3.两者之间的关系 :一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程,即主线程。多个线程共享进程的全部系统资源,同时线程还拥有自己独立的程序计数器、虚拟机栈、本地方法栈。 二、使用多线程的好处 1.进程之间不能共享内存;线程之间相互独立,且共享进程中的资源,提高计算机CPU的利用率。 2.多线程技术使程序的响应速度更快,增强用户的体验。 三、线程的创建和启动 1.继承Thread类 定义一个继承Thread类的子类; 重写该类的run()方法,将线程执行的操作声明在run()方法里面; 创建Thread类子类的对象; 调用线程对象的start()方法来启动线程。 // 1.创建一个继承于Thread类的子类 class MyThread extends Thread { // 2.重写Thread类的run方法 @Override public void run ( ) { for ( int i = 0 ; i <= 100 ;

pyhton3之进程

﹥>﹥吖頭↗ 提交于 2019-12-02 10:41:19
一 什么是进程 首先要了解什么是进程,程序是写出来没有被执行的代码,它是没有生命的实体,只有处理器赋予程序生命时,及程序被操作系统运行起来,他是一个活动的实体,我们称其为进程。 进程是计算机中的程序关于数据集合上的一次运行活动,是操作系统结构的基础。 在早期面向进程设计的计算机结构中,进程是程序的基本执行实体; 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 狭义定义:进程是正在运行的程序的实例。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程即是基本的分配单元,也是基本的执行单元。 进程的特点 动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。 并发性:任何进程都可以同其他进程一起并发执行。 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位; 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进。 结构特征:进程由程序、数据和进程控制块三部分组成。 多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能看到不同的结果;但是执行过程中,程序不能发生改变。、进程与程序的区别 程序是指令和数据的有序集合

计算机操作系统第二章测试题及答案

霸气de小男生 提交于 2019-12-02 10:06:27
题目 1 of 28 1.0/ 1.0 得分 下列的进程状态变化中,( )变化是不可能发生的。 A. 等待→执行 B. 等待→就绪 C. 执行→等待 D. 执行→就绪 答案: A 反馈: 等待→执行 题目 2 of 28 1.0/ 1.0 得分 用P、V操作管理临界区时,信号量的初值应定义为( )。 A. 任意值 B. 1 C. 0 D. -1 答案: B 反馈: 1 题目 3 of 28 1.0/ 1.0 得分 分配到必要的资源并获得处理机时的进程状态是( )。 A. 执行状态 B. 就绪状态 C. 阻塞状态 D. 撤消状态 答案: A 反馈: 执行状态 题目 4 of 28 1.0/ 1.0 得分 下面对进程的描述中,错误的是( )。 A. 进程是指令的集合 B. 进程是动态的概念 C. 进程是有生命期的 D. 进程执行需要处理机 答案: A 反馈: 进程是指令的集合 题目 5 of 28 1.0/ 1.0 得分 在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次( )。 A. 运行活动 B. 等待活动 C. 单独操作 D. 关联操作 答案: A 反馈: 运行活动 题目 6 of 28 1.0/ 1.0 得分 P、V操作是( )。 A. 两组不同的机器指令 B. 两条高级进程通信原语 C. 两条低级进程通信原语 D. 两条系统调用命令 答案: C 反馈: