百科狗-知识改变命运!
--

解释一下进程和线程的概念?

是丫丫呀1年前 (2023-12-20)阅读数 15#综合百科
文章标签进程线程

擦- -这么多,才5分,估计没人帮你,因为你连360,QQ这些简单的要死的都贴出来

对应用程序来说,进程就像一个大容器。在应用程序被运行后,就相当于将应用程序装进容器里了,你可以往容器里加其他东西(如:应用程序在运行时所需的变量数据、需要引用的DLL文件等),当应用程序被运行两次时,容器里的东西并不会被倒掉,系统会找一个新的进程容器来容纳它。

进程是由进程控制块、程序段、数据段三部分组成。一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰),在程序被运行后中,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。是可并发执行的程序。在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位,也是称活动、路径或任务,它有两方面性质:活动性、并发性。进程可以划分为运行、阻塞、就绪三种状态,并随一定条件而相互转化:就绪--运行,运行--阻塞,阻塞--就绪。

进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。

进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。

危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程列表显示,如“宏病毒”),那么及时查看并准确杀掉非法进程对于手工杀毒有起着关键性的作用。

进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就是所有由你启动的进程。进程是操作系统进行资源分配的单位。

在Windows下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。

1.进程的引入:

多道程序在执行时,需要共享系统资源,从而导致各程序在执行过程中出现相互制约的关系,程序的执行表现出间断性的特征。这些特征都是在程序的执行过程中发生的,是动态的过程,而传统的程序本身是一组指令的集合,是一个静态的概念,无法描述程序在内存中的执行情况,即我们无法从程序的字面上看出它何时执行,何时停顿,也无法看出它与其它执行程序的关系,因此,程序这个静态概念已不能如实反映程序并发执行过程的特征。为了深刻描述程序动态执行过程的性质,人们引入“进程(Process)”概念。

2.进程的概念:

进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的。

进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。

进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。

解释一下进程和线程的概念?

进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。

操作系统引入进程的概念的原因:

从理论角度看,是对正在运行的程序过程的抽象;

从实现角度看,是一种数据结构,目的在于清晰地刻划动态系统的内在规律,有效管理和调度进入计算机系统主存储器运行的程序。

3.进程的特征

动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的。

并发性:任何进程都可以同其他进程一起并发执行

独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;

异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

结构特征:进程由程序、数据和进程控制块三部分组成。

4.进程与程序的关系

程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。

程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。

进程更能真实地描述并发,而程序不能;

进程是由进程控制块、程序段、数据段三部分组成;

进程具有创建其他进程的功能,而程序没有。

同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程。

在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单元都是进程。

5.进程的内容

一个计算机系统进程包括(或者说“拥有”)拥有下列数据:

那个程序的可运行机器码的一个在存储器的图像。 分配到的存储器(通常包括虚拟内存的一个区域)。存储器的内容包括可运行代码、特定于进程的数据(输入、输出)、调用堆栈、堆栈(用于保存运行时运数中途产生的数据)。 分配给该进程的资源的操作系统描述子,诸如文件描述子(Unix 术语)或文件句柄(Windows)、数据源和数据终端。 安全特性,诸如进程拥有者和进程的权限集(可以容许的操作)。 处理器状态(内文),诸如寄存器内容、物理存储器寻址等。当进程正在运行时,状态通常储存在寄存器,其他情况在存储器。

工作者线程(worker thread)I/O线程

.NET术语工作者线程指任何线程仅仅主线程工作者意思表示任何内容包括等待IO端口完线程池预先缓存些工作者线程创建线程代价比较昂贵

.NET术语I/O线程指线程池预先保留部线程部线程作用发IOCP调CLR维护自IOCP通 ThreadPool.BindHandle绑定任何操作系统句柄

.NET些API通APM(异步编程模式)内部实现ThreadPool.BindHandleBeginXXX用户调委托送某设备驱程序返线程池做完OS通IOCP提醒CLR工作已经完接收通知I/O线程醒并且运行用户调所工作线程由发员调用I/O线程由CLR调用所通情况发者并直接用.

认工作者线程I/O线程没区别都普通线程CLR线程池区目避免线程都处理I/O调耗尽引发死锁(设想所工作者线程每都等待I/O异步完)

发员需要关注确保I/O线程返线程池I/O调代码应该做尽量工作并尽快返线程池调代码工作应该考虑工作拆工作者线程否则应用程序风险CLR线程池保留I/O线程做工作者线程能导致死锁

I/O线程及IOCP

执行I/O操作候论同步I/O操作异步I/O操作都调用WindowsAPI比读取文件候调用ReadFile函数该前线程用户态转变内核态I/O请求包并且初始化请求包包包含文件句柄偏移量Byte[]数组ReadFile向内核传递根据请求包windows内核知道需要I/O操作发送给哪硬件设备些I/O操作进入设备自处理队列该队列由设备驱程序维护

同步I/O操作硬件设备操作I/O候发I/O请求线程由于事做windows变睡眠状态硬件设备完操作再唤醒线程种式非直接性能高请求数休眠线程数浪费量资源

异步I/O操作情况同.Net异步I/O操作BeginXXX形式该WindowsI/O请求包发送设备处理队列返同调用异步I/O操作候即调用BeginXXX候需要传入委托该委托随着I/O请求包路传递设备驱程序设备处理完I/O请求包该委托再放CLR线程池队列

前说CLR内部维护IOCP(I/O completion port)提供处理异步I/O请求线程模型IOCP看做消息队列进程创建IOCP即创建队列异步I/O请 求完设备驱程序I/O完包,按照FIFO式排队列入该完端口由I/O线程提取完I/O请求包并调用前委托注意:异步调用服务调函数都运行于CLR线程池I/O线程

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)