希赛考试网
首页 > 软考 > 网络工程师

就绪阻塞执行三个状态的典型原因

希赛网 2024-08-03 15:47:26

操作系统中,进程是最小单位,一个进程要准备就绪、操作和结束三个状态才能完成整个生命周期。其中,进程的就绪状态是指在已到达目的前准备运行的状态,不过在实际应用中,就绪状态下的进程有时会出现阻塞的情况。本文将从多个角度分析就绪阻塞执行三个状态的典型原因。

CPU的资源分配

在多任务操作系统中,CPU是必须要按照时间片轮转的方式来分配给不同的进程以达到公平应用的目的。在CPU转到某个进程时,该进程通过就绪状态自然地被选中,但是当该进程需要大量处理数据的时候,就可能会出现阻塞,导致其他等待进程无法及时得到CPU资源的分配。比如对于一些高密度计算的任务,此时就会出现就绪阻塞的情况。

I/O设备的处理

I/O设备如打印机、网络接口卡等,因其有时需要等待数据和响应,可能也会产生就绪阻塞的情况。例如,在网络传输数据的时候,由于网络上会存在大量的网络数据流,可能导致某个进程需要等待网络数据流到达尾部才能继续处理数据,从而形成阻塞状态。再比如,如果某个进程需要从一个输入设备中读取数据而该设备还没有准备好数据,也会导致进程的就绪阻塞。

资源分配和竞争

在某些多线程应用程序中,线程可以同时访问某些共享变量或共享资源。当存在多个线程需要访问一块共享资源时,就会出现资源分配和竞争的问题。此时会有一些线程会等待其他线程对该资源释放或者等待权限访问该资源。这种竞争和等待会使一部分线程处于就绪阻塞状态,导致整个线程的性能下降。

因此,从CPU资源分配、I/O设备处理以及资源分配和竞争等多个角度分析,导致进程就绪阻塞的原因可以归结为两个方面,一方面是固有瓶颈和物理严重,另一方面是软件缺陷和人为错误等。

扫码咨询 领取资料


软考.png


网络工程师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
网络工程师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件