线程进程(线程进程面试题)

 2023-09-19  阅读 5  评论 0

摘要:今天给各位分享线程进程的知识,其中也会对线程进程面试题进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!什么叫进程?什么叫线程?进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少

今天给各位分享线程进程的知识,其中也会对线程进程面试题进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

什么叫进程?什么叫线程?

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

扩展资料

进程和线程主要差别:

1、在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。

2、线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。

3、但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

4、地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

5、通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

6、调度和切换:线程上下文切换比进程上下文切换要快得多。

7、在多线程OS中,线程不是一个可执行的实体。

参考资料来源:百度百科-线程

参考资料来源:百度百科-进程

进程和线程是什么意思?

进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操 作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。

最基本的系统进程列表:

*** ss.exe Session Manager

csrss.exe 子系统服务器进程

winlogon.exe 管理用户登录

services.exe 包含很多系统服务

lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。(系统服务)

产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)

svchost.exe 包含很多系统服务

svchost.exe

SPOOLSV.EXE 将文件加载到内存中以便迟后打印。(系统服务)

explorer.exe 资源管理器

internat.exe 托盘区的拼音图标

附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少):

mstask.exe 允许程序在指定时间运行。(系统服务)

regsvc.exe 允许远程注册表操作。(系统服务)

winmgmt.exe 提供系统管理信息(系统服务)。

inetinfo.exe 通过 Internet 信息服务的管理单元提供 FTP 连接和管理。(系统服务)

tlntsvr.exe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)

允许通过 Internet 信息服务的管理单元管理 Web 和 FTP 服务。(系统服务)

tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)

termsrv.exe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基

于 Windows 的程序。(系统服务)

dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)

以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉

tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)

支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。(系统服务)

i *** serv.exe 允许在 Windows Advanced Server 站点间发送和接收消息。(系统服务)

ups.exe 管理连接到计算机的不间断电源(UPS)。(系统服务)

wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。(系统服务)

llssrv.exe License Logging Service(system service)

ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。(系统服务)

RsSub.exe 控制用来远程储存数据的媒体。(系统服务)

locator.exe 管理 RPC 名称服务数据库。(系统服务)

lserver.exe 注册客户端许可证。(系统服务)

dfssvc.exe 管理分布于局域网或广域网的逻辑卷。(系统服务)

clipsrv.exe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。(系统服务)

msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务)

faxsvc.exe 帮助您发送和接收传真。(系统服务)

cisvc.exe Indexing Service(system service)

dmadmin.exe 磁盘管理请求的系统管理服务。(系统服务)

mnmsrvc.exe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务)

netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务)

*** logsvc.exe 配置性能日志和警报。(系统服务)

rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功能。(系统服务)

RsEng.exe 协调用来储存不常用数据的服务和管理工具。(系统服务)

RsFsa.exe 管理远程储存的文件的操作。(系统服务)

grovel.exe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务)

SCardSvr.exe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务)

snmp.exe 包含 *** 程序可以监视网络设备的活动并且向网络控制台工作站汇报。(系统服务)

snmptrap.exe 接收由本地或远程 SNMP *** 程序产生的陷阱消息,然后将消息传递到运行在这台计算机上 SNMP 管理程序

。(系统服务)

UtilMan.exe 从一个窗口中启动和配置辅助工具。(系统服务)

msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)

什么是系统服务

在Windows 2000/XP/2003系统中,服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。

服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。

2.系统服务的作用

(1)启动、停止、暂停、恢复或禁用远程和本地计算机服务。

(2)管理本地和远程计算机上的服务。

(3)设置服务失败时的故障恢复操作。例如,重新自动启动服务或重新启动计算机。

(4)为特定的硬件配置文件启用或禁用服务。

(5)查看每个服务的状态和描述。

什么是进程?和线程区别?

1、本质不同

进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元。

2、数量不同

同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。

3、过程不同

进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束。

4、属性不同

线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志。

1、功能不同

进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。

2、工作原理不同

在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。

3、作用不同

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

通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。

进程的特征:

1、动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。

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

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

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

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

多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。

进程和线程有什么区别?

1、功能不同

进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。

2、工作原理不同

在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。

3、作用不同

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

通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。

扩展资料

进程是由进程控制块,程序段,数据段三部分组成。一个进程可以包含若干线程(Thread),线程可以帮助应用程序同时做几件事(比如一个线程向磁盘写入文件,另一个则接收用户的按键操作并及时做出反应,互相不干扰)。

在程序被运行后,系统首先要做的就是为该程序进程建立一个默认线程,然后程序可以根据需要自行添加或删除相关的线程。是可并发执行的程序。

在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位,也是称活动、路径或任务,它有两方面性质:活动性、并发性。

进程可以划分为运行,阻塞,就绪三种状态,并随一定条件而相互转化,就绪运行,运行阻塞,阻塞就绪。

进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。

在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。

参考资料来源:百度百科-线程

参考资料来源:百度百科-进程

进程和线程的区别

进程

一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。

线程

进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。

与进程不同的是同类的多个线程共享进程的堆和方法区资源,但每个线程有自己的程序计数器、虚拟机栈和本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。

线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(He *** y—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。

根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位

资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的

影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。

执行过程:每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行

进程与线程

经典定义:

1.进程是可以并发执行的计算部分

进程的五个特性

1.动态性:创建时产生,由调度而执行,得不到资源而暂停执行,有撤销而消亡

2.并发性:多个进程实体同存于主存中

(引入进程的目的,程序是不能并发执行的)

3.独立性:进程实体是一个能独立运行的基本单位,也是系统中获得资源和独立调度的基本单位

4.异步性:进程按各自独立的,不可预知的速度向前推进(导致程序执行的不可再现性)

5.结构特征:进程实体是由程序段、数据段、进程控制块三部分构成,又称进程映像/进程上下文(context)

进程的基本状态

有些还存在两个额外状态:新状态和终止状态

进程控制块PCB

1.概念:是操作系统用于记录和刻画进程状态及有关信息的 数据结构 ,也是操作系统控制和管理进程的主要依据。

原语:一组系统命令

要么全部执行,要么不执行,不存在中间状态

$$进程创建

\begin{cases}

\text{系统生成时,会创建一些系统进程(用来分配系统资源和管理工作)}\

\text{用户作业,由操作系统的作业调度程序为之创建相应的进程}

\end{cases}$$

1.既可撤销具有指定标识符的过程,又可撤销一个优先级中的所有进程

2.一个进程被撤销时,必须从系统队列中移出,释放并归还所有系统资源,同时也有审查是否有子孙进程,如果有子孙进程也有一起予以撤销

1.当一个进程出现等待事件时,该进程调用阻塞原语将自己阻塞

1.必要性:解决多个进程争夺少数CPU资源的问题

2.功能:

(1)记录系统中所有进程的执行情况

(2)选择占有CPU的进程

(3)CPU分配给进程,即进行进程上下文切换

(4)回收CPU

3.进程调度算法

先来先服务/FCFS

按照进程进入就绪队列的先后次序选择占用处理器的进程

优先数调度算法

为每个进程确定一个优先数,进程调度总是让具有最高优先数的进程先使用处理器(若优先数相同则采用FCFS)

时间片轮转调度算法

CPU处理时间分成固定大小的时间片,轮流来,如果时间片用完进程还未结束,也得重新排到就绪队列的末尾等待再次调度

时间片q的选择:

q=R/N(R是系统对响应时间的要求;N是进程数)

多级反馈队列调度算法/MLFQ

设置多个就绪队列

各个队列的优先权不同(第一个队列的优先权最高,逐个降低)

各个队列的时间片大小不同(优先权越高的队列时间片越小)

当前队列的某个进程在时间片内没有完成就进入下一个队列的末尾

当某个队列为空时才会调度下一个队列

处理机在第i队为谋进程服务时,如果有新进程进入优先权较高的队列(i之前),则处理机就去处理i之前的那个新进程了,正在运行的进程被放到i队伍的末尾(可怜哈哈哈哈)

4.调度算法的选择

(1)处理器利用率(尽量让CPU处于忙碌状态)

(2)吞吐量

(3)等待时间(尽可能减少)

(4)响应时间(尽可能减少)

1.进程互斥:若干个进程要使用一个共享资源,任何时刻只允许一个进程去使用,其他要使用的进程必须等待,直到那个进程使用完后释放资源

2.进程互斥的管理办法: PV操作 管程

1.进程同步:并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达时才被唤醒

3.时间上的同步问题

$$进程通信

\begin{cases}

低级 \text{PV操作}\

高级 \begin{cases} 共享存储器系统\ 消息传递系统 \管道通信系统 \end{cases}

\end{cases}$$

1.基于共享数据结构的通信方式

在这种通信方式中,要求诸进程公用某些数据结构,进程通过它们交换信息。这种通信方式是低效的,只适于传递少量数据。

2.基于共享存储区的通信方式

为了传输大量数据,在存储器中划出了一块共享存储区,诸进程可通过对共享存储区中的数据进行读或写来实现通信。这种通信方式属于高级通信。

消息传递系统中,进程间的数据交换以消息为单位

1.管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称为pipe文件

2.为了协调双方的通信,管道通信机制必须提供以下三方面的协调能力:(1)互斥;(2)同步;(3)对方是否存在。

1.需要线程的目的:保持系统的并发性

2.为了减少额外开销,系统把进程的资源申请与调度执行分开,线程是调度的基本单位,进程是资源申请与拥有的基本单位

3.概念:线程(Thread)是进程中的一个实体,是可独立参与调度的基本单位

4.属性:

并发

一个线程可以创建另一个

动态性(生命周期)

TCB(进程是PCB)

同一进程内的线程共享同一地址空间

一个进程的线程对另外一个进程是不可见的

线程的通信是基于全局变量进行的

5.状态(与进程类似)

时间片轮转算法

优先权算法

1.进程作为资源的申请与拥有单位,线程作为调度的基本单位

2.线程在调度和切换上所花费的开销比进程小得多

3.进程是独立拥有资源的的一个基本单位,线程只拥有一点点运行中必要的资源

4.进程作为独立拥有资源的基本单位,线程是独立参与调度的基本单位

1.概念:死锁是多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进

2$$产生原因\begin{cases} 竞争资源\ 进程推进顺序非法(请求与释放资源顺序不当) \end{cases}$$

3.$$产生死锁必要条件 \begin{cases} 互斥条件(进程互斥使用资源) \ 占有且等待条件(得不到需要的资源就不释放占有的资源)\ 不剥夺条件(进程不能从另一进程抢夺资源)\ 循环等待条件(每个进程都在等待另一个进程所持有的资源) \end{cases}$$

4.对策:预防 避免 检测 解除

预防

(1)静态分配策略//破坏第二个必要条件

所谓静态分配是指一个进程必须在执行前就申请它所要的全部资源,并且直到它所要的资源都得到满足后才开始执行

(2)层次分配策略//破坏第四个必要条件

当一个进程获得了某一层的一个资源后,它想再申请该层中的另一个资源,必须先释放该层中的已占用资源。

避免

检测

操作系统中的每一时刻的系统状态都可以用进程—资源分配图来表示,进程—资源分配图是描述进程和资源间申请及分配关系的一种有向图,可用以检测系统是否处于死锁状态。

线程进程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于线程进程面试题、线程进程的信息别忘了在本站进行查找喔。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://www.sast-sy.com/eab2eBj0EAgxTVQY.html

标签:线程进程

发表评论:

管理员

  • 内容1434378
  • 积分0
  • 金币0

Copyright © 2022 四叶百科网 Inc. 保留所有权利。 Powered by ZFCMS 1.1.2

页面耗时0.0562秒, 内存占用1.78 MB, 访问数据库18次

粤ICP备21035477号