什么是进程 为什么

进程是操作系统中最基本、最重要的概念。
它是多道程序系统出现后引入的一个概念,用来描述系统的动态状态以及系统中各个程序的运行规则。
多道编程 所有操作系统都基于进程。
狭义上;进程是正在运行的程序的一个实例。
广义上;进程是程序的操作,由数据收集中的独立活动组成。
是资源配置;它是操作系统进行调度和动态处理的基本单位。
它是操作系统的基础。
在传统操作系统中,进程既是基本的分配单元,又是基本的执行单元。
他的概念有两个要点:(1 )进程是对象;(2 )进程是对象。
每个进程一般都有一个文本区域;它有自己的地址空间,包括数据区和堆栈。
文本区域存储处理器执行的代码。
数据区域是动态分配的内存,用于存储进程执行期间的更改和使用。
堆栈区域存储活动进程调用的指令和局部变量。
(2 ) 进程是“正在运行的程序”。
只有当操作系统和处理器执行一个程序时,它才成为一个活动实体,我们称之为进程。
从理论上讲,进程是一个正在运行的程序进程的抽象。
从实现的角度来看,它是一种数据结构,旨在清楚地说明动态系统的内在规律,并有效地管理和调度进入计算机系统主存的程序。
1 、过程具有以下特点: (1 )动态性:过程的本质是多道程序系统中程序的执行过程。
进程动态生成,动态销毁。
(2 )并发性:任何进程都可以与其他进程并发运行。
(3 )独立性:进程是能够独立运行的基本单位,也是系统分配和调度的独立单位。
(4 )异步性:由于进程之间的交互限制。
该过程是一个连续的过程;这意味着流程以独立且不可预测的速度发展。
(5 )结构特点:流程由三部分组成:程序;数据和过程控制块。
2 .流程;线程与程序的连接:通常一个进程可以包含多个线程,这些线程可以高效地利用该进程所拥有的资源。
在引入线程的操作系统中;进程通常作为分配资源的基本单位;它作为独立运行、独立调度的基本单元。
因为线程比进程小,本质上不占有系统资源;他们的日程安排的覆盖范围会更小。
它可以更有效地提高系统中许多程序同时执行的水平。
此外,许多不同的进程可以包含相同的程序:一个程序可以对不同的数据集执行不同的处理并获得不同的结果。
但是,程序在执行过程中不能更改。
如果同一个程序同时处理多个数据集。
它将涉及许多不同的过程;这意味着同一个程序可以与多个进程关联。
3 、进程与程序的区别: (1 )程序是指令和信息的集合。
无旋转感且稳定这是一个概念。
进程是程序在处理器上执行的过程,是一个活跃的概念。
(2 )程序作为一种软件数据可以长期存在,但进程却有一定的生命周期。
(3 )程序是永久性的,过程是临时性的。
(4 )进程实际上可以表达并发,但程序不能。
(5 )进程由三部分组成:进程控制块;程序部分和数据部分。
(6 )程序有创建其他进程的功能,但程序没有。
(7 )程序无法在传统操作系统上独立运行。
资源分配和独立运行的基本单位是进程。
4 . 进程的三种基本状态 因为进程在执行过程中是动态的、同时的;它还决定了进程可以有多个状态。
(1 )就绪状态:进程已获取处理器以外的必要资源,正在等待分配处理器资源。
只要分配了处理器,进程就可以运行。
就绪进程可以根据多个优先级进行排队。
例如,因为进程的时间片已过期当进入就绪状态时;队列不足?处理 PCB 并从中读取处理状态。
(2 ) 被终止的进程是否处于执行状态;进程的执行应立即终止,并且预定标志应设置为 true。
用于指示进程终止后应重新调度。
(3 )如果该过程有派生过程;应终止其所有生成过程,以防止其成为不可控制的过程。
(4 ) 将终止进程所拥有的所有资源返回给其父进程或系统。
(5 )从队列(或链表)中删除终止的进程(其PCB)并等待其他程序收集信息。
9 . 阻塞和唤醒 1 . 引起进程阻塞和唤醒的事件 (1 ) 请求系统服务:当进程请求操作系统提供服务时。
由于某些原因,如果操作系统不能满足进程的要求,进程可能会进入阻塞状态等待。
如果满足要求,进程就会被唤醒。
(2 ) 开始一些动作:当一个进程开始一些动作时。
如果在操作完成之前进程无法继续,则完成操作等待进程必须首先被阻塞。
当访问结束时,它会唤醒该进程。
(3 )新数据尚未到达:对于可互操作的流程;如果其中一个进程在处理数据之前需要获取另一个(协作)进程提供的数据。
所需信息尚未到达。
该进程可能会阻塞(等待)。
当数据到达时,进程被唤醒。
(4 )无新事可做:系统经常给一些系统进程分配特定的功能。
每当这个过程完成时;它会阻塞自己以等待新任务到达。
新工作到来后,过程正在觉醒。
2 .进程阻塞进程:当进程正在运行时。
当检测到上述事件之一时,它无法继续,因此进程通过调用阻塞原语 block() 来阻塞自身。
阻塞进程可以看作是进程本身的动态行为。
进入阻塞流程后;由于此时进程仍在进行中,应立即停止Action;进程控制块中的当前状态应从执行更改为块,并且 PCB应该添加到块队列中。
如果多个队列进入系统,被不同的事件阻塞。
该进程应该与相同的事件一起添加到阻塞(等待)队列中。
最后,请规划师进行安排;将处理器分配给另一个就绪进程;即保留被阻塞进程(PCB上)的处理器状态,并根据新进程PCB上的处理器状态设置CPU环境。
3 .执行唤醒过程:当阻塞进程期望的事件发生时,例如I/O完成或期望的数据发生,相应的进程(例如使用I/O设备并生成它的进程)调用原语wakeup()来唤醒等待的程序。
发起唤醒的过程是:首先将阻塞进程从等待事件的阻塞队列中移除;将 PCB 上的当前状态从阻塞更改为就绪;然后将PCB插入就绪队列。

计算机四级真题以下几种状态转化,正确的是就绪到就绪挂起

“准备就绪到待处理”不是正确的状态转换过程。
在经典的进程状态模型中,进程通常有三种主要状态:就绪、运行和阻塞。
这三种状态之间的合法转换路径是明确的: 就绪→运行:当一个进程被CPU的调度和资源选择时,它就从就绪状态进入运行状态。
运行→就绪:当进程时间段用完或被更高的进程占用时,从运行状态返回到就绪状态。
运行→阻塞:当进程由于等待I/O操作、资源分配或其他事件而无法继续执行时,它从运行状态转变为阻塞状态。
阻塞→就绪:当一个进程事件等待、完成(例如I/O操作结束)时,它从阻塞状态变为就绪状态。
“待处理提示”是扩展状态模型中的一个概念,通常用于描述由于内存不足或系统资源限制而暂时移出内存的提示进程。
但标准三态模型或通用扩展模型中并没有定义“就绪→就绪中断”的直接转换。
就绪-挂起状态的引入通常需要中间状态转换(例如“就绪就绪”和“安静就绪”),而不是从就绪状态直接转换。
估计的信息清楚地表明状态转换过程需要遵循严格的逻辑路径,以避免非法或未定义的转换。
因此,“准备悬挂”过渡既不符合经典模型,也没有被广泛认为是扩展模型中的合法路径。
摘要: 在标准三态模型中,除了运行状态或(间接通过中间状态)关闭状态之外,就绪状态无法转换。
在扩展模型中,引入就绪挂起状态需要特定于状态的介质而不是直接转换。
“诉讼就绪”不作为任何权威来源的法律翻译。
《操作系统概念》(Silberschatz 等) 《计算机组成与设计:硬件/软件接口》(Patterson 等) 《现代操作系统》(Tanenbaum) 《操作系统导论》(Remzi H. Arpaci-Dusseau)

进程进入等待状态有哪几种方式

当进程进入等待状态时: A. CPU调度一个优先级更高的线程。
B. 被阻塞的线程接收资源或信号。
C. 时隙轮换的情况下,如果时隙到达。
D. 获取自旋锁失败。
A、从工作状态进入就绪状态。
b.它太阻塞而无法进入就绪状态。
五、从就绪状态进入运行状态。
d.时刻准备着。
内容计算机系统进程包括(或“拥有”)以下数据:程序执行机器代码的内存映像。
专用内存(通常是虚拟内存的一个区域)。
内存内容包括可执行代码、进程特定的数据(输入、输出)、调用堆栈和堆栈(用于存储操作过程中执行时产生的数据)。
操作系统句柄分配给进程的资源,例如文件句柄(Unix 术语)或文件句柄 (Windows)、数据源和数据终端。