进程管理(七)-进程状态与转换

进程管理(七)-进程状态与转换

进程的状态

一个进程的生命期可以划分为一组状态,这些状态刻划了整个进程。系统根据PCB 结构中的状态值控制进程。

在进程的生命期内,一个进程至少具有三种基本状态:执行状态、等待状态和就绪状态。

执行状态

单CPU系统中,任一时刻处于执行状态的进程只能有一个。

就绪状态

就绪状态的进程已经得到除 CPU之外的其他资源,只要经由调度得到处理机,便可立即投入执行。

有些系统为了有效利用内存,就绪状态进一步分为内存就绪状态和外存就绪状态。但是这也增加了系统开销和系统复杂性。

内存就绪状态

只有处于内存就绪状态的进程在得到处理机后才能立即投入执行

外存就绪状态

处于外存就绪状态的进程只有先成为内存就绪状态后,才可能被调度执行

阻塞状态

进程因等待某个事件发生而放弃处理机进入等待(阻塞)状态。

阻塞状态按照条件划分

等待状态可根据等待事件的种类进一步划分为不同的子状态,例如内存等待、设备等待、文件等待和数据等待等。

好处:
这样做的好处是系统控制简单,发现和唤醒相应的进程较为容易。

坏处:
但系统中设置过多的状态会造成系统参数和状态转换过程的增加。

进程的状态转换

转换条件

1.进程状态反映进程执行过程的变化。
2.这些状态随着进程的执行和外界条件发生变化和转换。
3.进程的状态转换除了要使用不同的控制过程,有时还要借助于硬件触发器才能完成。

挂起操作

什么是挂起操作

进程暂时被淘汰出内存

引入原因

1.终端用户的需要
2.父进程请求
3.负荷调节需要
4.操作系统需要,引入进程“挂起”操作(进程暂时被淘汰出内存)

挂起过程可能发生状态转换

1.活动就绪→静止就绪
2.活动阻塞→静止阻塞
3.静止就绪→活动就绪
4.静止阻塞→活动阻塞。

原文地址:https://www.cnblogs.com/mengxiaoleng/p/11618224.html

时间: 2024-07-29 11:18:23

进程管理(七)-进程状态与转换的相关文章

Spark修炼之道(基础篇)——Linux大数据开发基础:第七节:进程管理

本节主要内容 进程管理简介 进程管理常用命令 计划任务 1. 进程管理简介 (1)进程概念 进程是操作系统中非常重要的一个概念,进程是程序的执行过程,相对于程序,进程是动态的,在linux系统中,它与用户权限相关,程序与进程并没有一一对应,一个程序可能对应多个进程,例如: //ps命令列出当前所有对应当前用户的活动进程 xtwy@ubuntu:~$ ps PID TTY TIME CMD 2087 pts/0 00:00:00 bash 2105 pts/0 00:00:00 ps xtwy@u

七、Linux脚本进阶和进程管理

一.进程 进程:init(1)-->系统的第一个进程,通过fork调用其他进程,自身由内核发起. 通过pstree可以查看进程之间的父子关系. [[email protected] ~]# pstree init─┬─NetworkManager─┬─dhclient │                └─{NetworkManager} ├─abrtd ├─acpid ├─atd ├─auditd───{auditd} ├─crond ├─cupsd ├─dbus-daemon───{dbus

七、进程管理

7.1.进程简介 Linux是一个多用户多任务的操作系统,可以同时执行几个任务,并在一个任务还没有执行完成就执行另一项任务.在Linux中,每个执行的任务都称为进程(process).通常进程与程序的区别为:   程序 (program):通常为binary program,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等),为实体文件的型态存在.  进程 (process): 程序被触发后, 运行者的权限与属性. 程序的程序码与所需数据等都会被加载内存中,操作系统并给予这个内存内的单元一个识别码

【操作系统】进程管理(二)

一.前言 之前已经介绍了操作系统的各个模块,现在来具体深入学习操作系统中的进程管理. 二.进程的基本概念 在未配置OS的系统中,程序的执行方式是顺序执行,即必须在一个程序执行完成后,才允许另外一个程序执行:在多道程序环境下,则允许多个程序并发执行.也正是程序的并发执行,才导致引入进程. 2.1 程序的顺序执行 通常可以把一个应用程序分成若干个程序段,在各程序段之间,必须按照某种先后次序顺序执行,仅当前一操作(程序段)执行完后,才能执行后继操作.如典型的输入->计算->打印任务就是顺序执行. 程

Python学习第六天----Linux内存管理、进程管理、RPM包安装管理及源码安装软件

Linux内存管理.进程管理.RPM包安装管理及源码安装软件 一.交换分区     交换分区其实就相当于Windows系统下的虚拟内存的概念,当物理内存不够用的时候,由操作系统将硬盘的一块区域划分出来作为内存使用.具体使用方法如下:      [[email protected] ~]# fdisk -l 磁盘 /dev/sdb:16.1 GB, 16106127360 字节,31457280 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):5

计算机操作系统学习笔记_2_进程管理 --进程与线程(上)

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { fon

Linux网络技术管理及进程管理

OSI七层模型和TCP/IP四层模型 OSI七层模型:OSI(Open System Interconnection)开放系统互连参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系. TCP/IP四层模型:TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型. 分层作用:方便管理 七层模型优点: 1.把复杂的网络划分成为更容易管理的层(将整个庞大而复杂的问题划分为若干个容易处理的小问题) 2.没有一个厂家能完整的提供整套解决方案和所有的

Linux进程管理简谈

Linux系统进程管理简谈 进程是什么? 简单来说进程是一个正在执行的程序的一个副本,存在生命周期,有段指令和代码在不断运行. linux内核存储信息的固定格式:task struct 进程的相关信息存储在链表中 多个任务的task struct组件的链表:task list 进程的创建:父进程创建子进程(内核创建init进程,剩余一切进程有init及其子进程进程创建) 父进程创建子进程时向内核调用fork()来创建子进程并且通过调用clone()复制父进程的信息给子进程 Linux进程的优先级

第五课 进程管理

unix_c_05.txt================第五课 进程管理================一.基本概念------------1. 进程与程序~~~~~~~~~~~~~1) 进程就是运行中的程序.一个运行着的程序,可能有多个进程.进程在操作系统中执行特定的任务.2) 程序是存储在磁盘上,包含可执行机器指令和数据的静态实体.进程或者任务是处于活动状态的计算机程序.2. 进程的分类~~~~~~~~~~~~~1) 进程一般分为交互进程.批处理进程和守护进程三类.2) 守护进程总是活跃的