进程管理(一)

一. 进程的基本信息


1.1 进程的概念、组成及信息


1.1.1 概念
进程的概念与程序相对,程序是静态的而进程是动态的,一个程序执行多次会有多个不同的进程

1.1.2 组成
PCB(程序控制块):
是一种保存下列信息的数据结构,进程创建时操作系统分配,进程结束会进行回收
进程描述信息:
PID:唯一的、不重复的进程 ID
UID:进程所属用户的 ID
资源分配清单:分配给该进程的资源信息,包括使用文件和 I/O 设备等
进程控制和管理信息:
CPU、磁盘等使用情况统计
进程当前状态:就绪态、创建态、阻塞态…
处理机相关信息:各种寄存器的值(用于实现进程切换)
程序段:程序代码(指令序列)
数据段:运行过程中产生的各种数据
1.1.3 特征
动态性:是程序的一次执行过程,是动态地产生和变化消亡的
并发性:内存中可以有多个进程实体,可以并发执行
独立性:进程是独立运行、独立获取资源、独立接受调度的 基本单位
异步性:进程按照各自独立的速度执行推进,由操作系统提供 进程同步机制 来解决问题
结构性:每个进程都会有一个 PCB,结构上看,进程由 PCB、程序段和数据段 组成
※ 程序的运行机制
从编写好的代码开始,经过编译器的处理转换为可执行文件,启动可执行文件后操作系统会创建进程并自动为该进程创建 PCB,分配唯一的 PID 等信息,并将程序编译后得到的指令放入程序段,依照指令去 CPU 取出并执行,而数据段则保存着进程执行过程中得到的程序。

1.2 进程的状态与切换


1.2.1 进程的状态
进程的状态有以下五种:

创建态:在运行可执行文件后,操作系统会尝试创建一个新的进程,此时进程处于创建态,在这个阶段操作系统会为该进程分配资源、初始化 PCB
就绪态:进程创建完成后,进程处于就绪态,此时进程 已经具备运行条件,但由于 CPU 未处于空闲而处于等待状态,暂时不能运行
运行态:当 CPU 空闲时,会从就绪态进程中选一个进程上 CPU 运行,此处进程处于运行态,CPU 会执行进程的程序段中的内容
阻塞态:当处于运行态的进程需要请求某些资源或者事件发生而使进程无法正常执行,进程会 主动请求 以进入阻塞态
终止态:进程的运行结束或者发生错误导致进程终止,此时进程进入终止态,操作系统会回收进程的资源并撤销 PCB
进程的整个生命周期大部分时间都处于 就绪态、阻塞态和运行态 三种状态,在单核 CPU 中同一时刻只能有一个进程处于运行态,而多核 CPU 则可能有多个。
1.2.2 进程的组织方式
在进程 PCB 中,有一个变量 state 储存进程处于的状态,如 1 表示创建态,2 表示就绪态等等,为了对同一个状态下的各个进程进行统一管理,操作系统 会将各个进程的 PCB 组织起来

链接方式:以指针将处于同一状态的进程的 PCB 以类似队列或者列表的形式组织起来,可能根据状态区分,而同一状态下如阻塞态还可能根据处于该状态的原因而分配不同队列或列表组织起来,进程的组织方式以连接方式为多
索引方式:建立索引表储存不同的进程的 PCB 信息

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

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

相关文章

k8s 中 cpu 核数的理解

物理核还是逻辑核 在 Kubernetes(k8s)编排文件(如 Pod 或 Deployment 的 YAML 文件)中设置的 CPU 核数,针对的是逻辑核数(Logical Cores),而非物理核数(Physical Cores&…

arcpy数据分析自动化(2)

数据处理 在提取数据后,我们需要对字段进行标准化处理,例如统一土地利用类型的命名。 # 定义字段映射字典 field_mapping {"Residential": "居住用地","Commercial": "商业用地","Industrial": &q…

在VMware虚拟机集群中,完成Hive的安装部署

Hive是分布式运行的框架还是单机运行的? Hive是单机工具,只需要部署在一台服务器即可。 Hive虽然是单机的,但是它可以提交分布式运行的MapReduce程序运行。 我们知道Hive是单机工具后,就需要准备一台服务器供Hive使用即可。 同…

Linux运维新人自用笔记(部署 ​​LAMP:Linux + Apache + MySQL + PHP、部署discuz论坛)

内容全为个人理解和自查资料梳理,欢迎各位大神指点! 每天学习较为零散。 day19 简单搭建网站 下载apache服务 #下载阿帕奇服务 [rootxun ~]# yum install httpd -y#关闭防火墙 [rootxun ~]# iptables -F#启动服务 [rootxun ~]# systemctl start http…

Kubernetes架构解析

Kubernetes 技术栈的深度解析,涵盖架构设计、核心组件、生态工具及二次开发实践,结合实战案例说明其内在关联: 一、Kubernetes 架构设计 核心分层模型 #mermaid-svg-CnFwJbuzaABZpTBr {font-family:"trebuchet ms",verdana,arial…

langchain4j整合springboot

langchain4j整合springboot 1.搭建项目架子配置文件Controller测试测试结果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/35b8bd04f3034bd990861f065bc73d2f.png) 1.搭建项目架子 配置文件 参考官网配置引入 <?xml version"1.0" encoding"UTF…

408第一季 - 数据结构 - 平衡二叉树

平衡二叉树 定义 缩写记一下 AVL 还有下面这些&#xff0c;can you try&#xff1f; 平衡二叉树的插入 LL平衡旋转&#xff08;右单旋转&#xff09; 怎么理解&#xff1f; 首先我们可以看见啊&#xff0c;b图A左边和右边的不平衡的&#xff0c;非常的难受 于是我们可以这…

VR 地震安全演练:“透视” 地震,筑牢企业安全新护盾​

与传统的地震安全教育方式相比&#xff0c;VR 地震安全技术具有无可比拟的优势。在过去漫长的岁月里&#xff0c;我们主要依赖书本、讲座和视频等较为常规的手段来了解地震知识和逃生技巧。​ 书本上密密麻麻的文字以及静态的图片&#xff0c;虽然能够较为系统地传递理论性的信…

30-Oracle 23ai-回顾从前的Flashback设置

配置和测试了Oracle 23 ai的Flashback Log Placement后&#xff0c; 刚好身边11g,19c的环境都在&#xff0c;还是把从前的flashback整理下&#xff0c;温故知新&#xff0c;循序渐进。 一、闪回技术 Flashback Database 允许将整个数据库回退到过去的某个时间点/SCN&#xff…

Gartner《Reference Architecture for Federated Analytics》学习心得

研究背景 随着分析平台越来越易于被广泛用户使用,以及组织内用例的不断增多和多样化,分析架构的去中心化给专注于架构的分析专家带来了混乱。组织在交付一致、可复用和可信的分析方面面临挑战,分布式分析架构需要在控制和敏捷之间取得平衡,然而许多组织在这方面的控制力不…

Windows下Docker一键部署Dify教程

Windows环境下Docker部署Dify完整指南 &#x1f4cb; 目录 系统要求Docker安装验证Docker安装Dify部署访问Dify常见问题管理命令 &#x1f5a5;️ 系统要求 在开始安装之前&#xff0c;请确保你的Windows系统满足以下要求&#xff1a; 硬件要求 CPU: > 2核心内存: >…

idea maven打包很慢,怎么提速-多线程

作为一个技术运维人员&#xff0c;经常要更新程序然后重新打包发布jar包。由于程序子模块多&#xff0c;需要相互引用每次打包的时候都需要很久&#xff0c;怎么可以让打包快一点呢&#xff1f;可以启动打包的多线程。请参照下图设置&#xff0c;线程数量应该和cpu内核数量要能…

Java/Kotlin selenium 无头浏览器 [Headless Chrome] 实现长截图 三种方式

在自动化测试和网页抓取中&#xff0c;完整捕获整个页面内容是常见需求。传统截图只能捕获当前视窗内容&#xff0c;无法获取超出可视区域的页面部分。长截图技术通过截取整个滚动页面解决了这个问题&#xff0c;特别适用于&#xff1a; 保存完整网页存档生成页面可视化报告验…

【AI大模型】Elasticsearch9 + 通义大模型实现语义检索操作详解

目录 一、前言 二、Elasticsearch9 语义检索介绍 2.1 ES9 语义检索核心特性 2.2 semantic_text 字段类型说明 2.3 ES9 语义检索原理 2.4 ES9 语义检索优势与使用场景 三、 Elasticsearch9 搭建过程 3.1 环境说明 3.2 部署方式一 3.2.1 创建docker网络 3.2.2 获取es9镜…

linux开机原理以及如何开关机-linux023

linux开机原理以及如何开关机 Linux 系统启动过程概述 阶段描述内核引导启动时&#xff0c;BIOS执行自检&#xff0c;启动设备通常是硬盘。操作系统接管硬件后&#xff0c;读取/boot目录下的内核文件。运行 initinit是系统所有进程的起点&#xff0c;负责启动其他进程。它读取…

使用 socat 和 xinetd 将程序绑定到端口运行

在现代网络应用开发和系统管理中&#xff0c;经常需要将某些程序或脚本绑定到特定的网络端口上&#xff0c;以实现远程访问或服务化。例如&#xff0c;一个简单的 Python 脚本可能需要通过 TCP 端口提供服务&#xff0c;或者一个命令行工具需要通过网络接口暴露其功能。为了实现…

电阻篇---上拉电阻

一、上拉电阻的定义与本质 定义&#xff1a;上拉电阻是一端连接到电源&#xff08;VCC&#xff09;&#xff0c;另一端连接到电路节点的电阻元件&#xff0c;其核心作用是将该节点的电平 “拉” 至电源电压&#xff0c;使其在无信号输入时保持稳定的高电平状态。 本质原理&…

前端持续集成和持续部署简介

持续集成&#xff08;CI&#xff09;&#xff1a;代码提交后自动触发构建、静态检查、单元测试&#xff0c;确保代码质量。 持续部署&#xff08;CD&#xff09;&#xff1a;通过流水线将测试通过的代码自动发布到测试/生产环境&#xff0c;减少人工操作失误。 CI/CD 工具链 …

Elasticsearch高效文章搜索实践

功能 创建索引和映射 使用postman添加映射和查询 查询所有的文章信息&#xff0c;批量导入到es索引库中 server:port: 9999 spring:application:name: es-articledatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/leadnews_article?useU…