(五)进程管理:进程的状态与控制

news2024/9/21 2:49:04

文章目录

  • 一、进程的状态
  • 二、进程控制
    • 1. 进程控制的原语
    • 2. 挂起与激活

一、进程的状态

进程的生命周期:从创建到终止的过程

进程的三种基本状态

  • 就绪(Ready)
    • 可运行而未运行的状态,进程已经分配到除了处理机外的所有资源,等待执行权
    • 在执行状态时间片用完也会进入到就绪状态
  • 执行(Running)
    • 进程从就绪状态获取到了处理机的执行权就会开始执行(进程调度)
  • 阻塞(Blocked)
    • 执行状态的进程进行I/O操作时就会进入阻塞状态(I/O和计算是由两套设备负责处理,DMA和CPU)
    • 进程同步、通信、申请缓存等其他操作也会导致进程阻塞

进程的创建和终止状态

  • 创建(New)
    • 操作系统将应用从磁盘读取到内存,将整个进程的结构加载进来,最后将进程加到就绪队列等待执行
  • 终止(Terminated)
    • 进程执行完成,发出终止命令,操作系统将当前进程标记为已终止,资源释放和回收,在内存清除进程的PCB

在这里插入图片描述

二、进程控制

1. 进程控制的原语

即OS对进程实现有效的管理,包括创建新进程、撤销已有进程、挂起、阻塞和唤醒、进程切换等多种操作。OS通过原语(Primitive)操作实现进程控制。

  • 原语的概念
    • 由若干条指令组成,完成特定的功能,是一种原子操作(Action Operation)
  • 原语的特点
    • 原子操作,要么全做,要么全不做,执行过程不会被中断
    • 在管态/系统态/内核态下执行,常驻内存
    • 是内核三大支撑功能(中断处理、时钟管理、原语操作)之一
  • 进程控制相关原语
    • 创建原语:create
      • 用户登录
      • 作业调度
      • 提供服务
      • 应用请求
    • 阻塞原语:block
      • 请求某种服务
      • 启动某种操作
      • 数据未达到
      • 无工作可做
    • 唤醒原语:wakeup
    • 撤销原语:destory
      • 正常结束
      • 异常结束
      • 外界干预

在这里插入图片描述

2. 挂起与激活

为了系统和用户观察和分析进程(方便debug)

  • 挂起原语:suspend
    • 静止就绪:放外存,不调度
    • 静止阻塞:等待事件
  • 激活原语:active
    • 活动就绪:等待调度
    • 活动阻塞:等待唤醒

挂起将程序从内存拷贝到外存进行挂起操作
激活将程序从外存拷贝回内存进行激活
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/61868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计校园订餐系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

python数据分析及可视化(十六)金融量化(金融工具、金融分析、Tushare安装使用、双均线分析)

金融介绍 金融就是对现有资源进行重新整合之后,实现价值和利润的等效流通。 比如小明想把手里的资金投资给小李,而小李有好的增值项目但是缺少资金,如果小李的项目创业成功,小明的资金就会增长。 金融工具 在金融市场中可交易的…

时序数据库基本概念学习

目录1、时序数据1.1 定义1.2 数学模型1.3 数据特点2、存储优化3、存储原理4、时序数据模型4.1 基于标签(tag-value)4.2 基于树形(tree schema)1、时序数据 1.1 定义 时序数据就是一串按时间维度索引的数据,这类数据描…

C++11闭包函数的几种实现方法

什么是闭包函数 函数就是对传入的一组参数进行运算的行为,闭包函数就是有状态的函数,在参与运算时,除了传入的参数外,还可以对上下文的状态进行运算。类函数运行时就是典型的闭包函数,类函数运行起来后其对象就是状态…

Spring - @PostConstruct 源码解析

文章目录Prejavax.annotation.PostConstruct 注解源码解析扩展示例Pre Spring Boot - 扩展接口一览 javax.annotation.PostConstruct 注解 Documented Retention (RUNTIME) Target(METHOD) public interface PostConstruct { }严格意义上来说这个并不算一个扩展点&#xff0c…

[附源码]计算机毕业设计校园订餐管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

文献阅读总结(4)Graph convolution machine for context-aware recommender system

上下文感知的图卷积推荐系统 推荐方面的最新进展表明,可以通过在用户-项目交互图上执行图卷积来学习更好的用户和项目表示,然而,该方法在协同过滤(CF)的场景中有一定的局限性,在这种场景中交互上下文是不可用的。 在这项工作中&…

python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析

产品可以根据销售者进行分类 在Evolution上,有一些顶级类别(“药品”,“数字商品”,“欺诈相关”等)细分为特定于产品的页面。每个页面包含不同供应商的几个列表。 最近我们被客户要求撰写关于关联规则的研究报告&am…

字符串的扩展

字符串解读 es6加强了对Unicode 的支持,允许\uxxxx的形式展现一个字符,例如: console.log(\u0061); // 打印 a\u后面的为字符的 Unicode 码点 \u 后面4位 xxxx 但是这种写法只识别 \u0000 到 \UFFFF 之间的字符,超出需要使用两…

第十七章 管理组件库的pull request

一个好的项目很少会由一个人来独立完成。即使你完成了所有功能实现,也需要有人给你 Review 和提建议、找 Bug。比如添加新的组件、完善文档、添加单元测试、提出改进意见。 这节课我们就介绍一下如何参与开源社区的代码贡献。对于任何一个开源项目,我们…

map容器/multimap容器

目录 1.map基本概念 简介 本质 优点 map和multimap区别 2.map构造和赋值 功能描述: 函数原型 3.map大小和交换 功能描述 函数原型 4 map插入和删除 功能描述 函数原型 5. map查找和统计 功能描述 函数原型 6 map容器排序 学习目标 主要技术点 1.map基本概念…

web入门-爆破

文章目录web21web22web23python脚本php脚本web24web25web26web27web28web21 进入网站,提示要登陆,妥爆破 抓包 注意到最下行的base64编码 发现就是刚刚输入的账号密码 因此这里就是要选择爆破的地方了 发给inruder,添加爆破位 载入题目给…

【坚持不懈的每日一题——力扣篇】1774. 最接近目标价格的甜点成本(中等)-- dfs / dp

GitHub同步更新(已分类):Data_Structure_And_Algorithm-Review 公众号:URLeisure 的复习仓库 公众号二维码见文末 以下是本篇文章正文内容,下面案例可供参考。 一、题目描述 力扣今天推的每日一题是道中等题 。 示例…

qt人员管理模块(模块化程序)功能块复制直接使用不冲突

一、前言 qt对人员管理部分个人总结的模块化程序,直接按照步骤复制粘贴程序,直接实现人员管理功能,无需花费脑筋在理清各个思路,适合快速编写组装程序 二、环境 windows qt5.7 sqlite3 三、正文 思来想去大半天,…

JS快速入门

一、JS介绍 JavaScript (简称JS),是一门跨平台、面向对象的脚本语言(弱类型语言),而Java语言也是跨平台的、面向对象的语言,只不过Java是编译语言,是需要编译成字节码文件才能运行的…

自定义RBAC(1)

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~ 在对Spring Security稍做了解之后,可以知道,Spring Security其实只是一个实现认证授权的框架,封装了很多实现细节。但也有一些…

【Linux网络编程】服务端编程初体验

文章目录前言服务端是啥、有什么特点核心函数socket的简介服务器编程客户端代码The End前言 在上节课(Linux网络编程初体验)中我们实现了连接bilibili的功能,并获取其html源码 如图所示. 今天我们要自己编写个服务端来服务我们的客户端 提示:以下是本篇…

SGI STL 二级空间配置源码刨析

文章目录内存分配第二级配置器空闲链表的设计内存申请代码内存释放代码注意内存分配 当我们new一个对象时,实际做了两件事情: 使用malloc申请了一块内存。执行构造函数。 在SGI中,这两步独立出了两个函数:allocate申请内存&…

年产20吨鸡枞菌产品的生产工艺设计(lunwen+课题登记表+cad图纸)

目录 摘 要 1 Abstract 2 一、设计任务和内容 4 1.1 设计题目 4 1.2 设计原始数据 4 二、设计说明 5 2.1 全厂总平面布置 5 2.1.1 原料厂及堆场 5 2.1.2 生产区 5 2.1.3 厂前区 6 2.1.4 动力区 6 2.1.5 辅助车间 6 2.1.6 仓库区 6 2.2 三废的处理及回收 6 2.3 车间布置说明 6 三…

Request和Response基础知识入门

文章目录1,Request和Response的概述2,Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…