103.进程概述

目录

1.并行和并发 

区别:

2.PCB 

 3.进程状态

4. 进程命令


 

从严格意义上来讲,程序和进程是两个不同的概念,他们的状态,占用的系统资源都是不同的。

  • 程序:程序是一种静态实体,是存储在计算机存储介质上的一组指令。也就是磁盘上的可执行文件,并且只占用磁盘上的空间。
  • 进程:被执行之后的程序叫做进程,不占用磁盘空间,需要消耗系统的内存,cpu资源,每个运行的进程都对应一个属于自己的虚拟地址空间,这是一个动态的概念。

1.并行和并发 

并行并发是计算机科学中两个相关但不同的概念:

并行:

  1. 定义: 并行是指系统同时执行多个任务,即在同一时刻,多个指令或任务在多个处理单元上同时执行。

  2. 特点:

    • 实时性: 并行执行的任务在同一时刻开始和结束。
    • 资源需求: 需要多个处理单元,通常是多核处理器或多台计算机。
    • 性能提升: 可以显著提高任务的执行速度,特别是对于大规模问题。
  3. 示例: 多核处理器同时执行多个线程,每个核心处理一个线程。

并发:

  1. 定义: 并发是指系统同时处理多个任务,即在宏观上多个任务交替执行,每个任务在一段时间内交替使用处理器。

  2. 特点:

    • 实时性: 任务可能不是同时开始和结束的,它们在时间上可能有重叠。
    • 资源需求: 可以在单个处理单元上实现,并发可以通过时间片轮转等机制来切换任务。
    • 性能提升: 并发不一定会提高任务的实际执行速度,但可以提高系统的吞吐量和资源利用率。
  3. 示例: 操作系统中同时运行多个进程,每个进程都以自己的速度执行。

区别:

  • 执行方式: 并行是同一时刻执行多个任务,而并发是多个任务在宏观上交替执行。

  • 资源需求: 并行通常需要多个处理单元,而并发可以在单个处理单元上实现。

  • 实时性: 并行任务在同一时刻开始和结束,而并发任务可能有时间上的重叠。

  • 适用场景: 并行适用于需要同时处理多个大任务的情况,而并发适用于需要处理大量小任务的情况。

总结:

  • 并行 更强调同一时刻多个任务同时执行,需要多个处理单元。

  • 并发 更强调多个任务在宏观上交替执行,可以在单个处理单元上实现。

2.PCB 

PCB,中文翻译为进程控制块,是操作系统中用于管理进程的数据结构。每个正在系统中运行的进程都有一个对应的 PCB,用于存储和维护进程的各种信息,以便操作系统能够对进程进行管理和调度。

PCB 包含了描述进程状态和控制信息的关键信息,这些信息可以分为三类:

  1. 进程标识信息: 包括进程 ID、父进程 ID、用户 ID 等,用于唯一标识和识别进程。

  2. 处理器状态信息: 包括程序计数器(PC,记录下一条要执行的指令地址)、寄存器、程序状态字等,用于保存进程在上一次执行时的状态。

  3. 进程控制信息: 包括进程状态(就绪、运行、阻塞等)、进程优先级、进程调度信息、进程所拥有的资源等,用于进行进程的调度和管理。

PCB 的创建和维护由操作系统负责,当一个新的进程被创建时,系统会为其分配一个 PCB。当进程运行时,系统会根据进程的状态和优先级等信息进行调度,同时更新 PCB 中的信息。当进程被阻塞、唤醒、终止时,相关的信息也会在 PCB 中进行更新。

以下是 PCB 的一些关键字段:

  • 进程标识信息:

    • 进程 ID(PID):唯一标识一个进程。
    • 父进程 ID:标识创建当前进程的进程。
    • 用户 ID:标识进程所属的用户。
  • 处理器状态信息:

    • 程序计数器(PC):记录下一条要执行的指令地址。
    • 寄存器:保存进程在上下文切换时的寄存器状态。
    • 程序状态字(PSW):包含进程的运行状态信息。
  • 进程控制信息:

    • 进程状态:标识进程的当前状态,如就绪、运行、阻塞等。
    • 进程优先级:用于调度决策,高优先级的进程可能会被优先执行。
    • 进程调度信息:包括进程的调度队列、调度策略等。
    • 资源分配信息:记录进程所拥有的资源,如打开的文件、分配的内存等。

通过 PCB,操作系统可以有效地进行进程的管理、调度和协调,确保多个进程能够共享系统资源而不发生冲突,并提供良好的并发执行环境。

 3.进程状态

        进程一共有五种状态分别为:创建态就绪态运行态阻塞态(挂起态)退出态(终止态)其中创建态和退出态维持的时间是非常短的,稍纵即逝。我们主要是需要将就绪态运行态挂起态,三者之间的状态切换搞明白。

  • 就绪态: 进程已经准备好运行,但还没有被调度执行。
    • 进程被创建出来了,有运行的资格但是还没有运行,需要抢CPU时间片
    • 得到CPU时间片,进程开始运行,从就绪态转换为运行态。
    • 进程的CPU时间片用完了, 再次失去CPU, 从运行态转换为就绪态。
  • 运行态:获取到CPU资源的进程,进程只有在这种状态下才能运行
    • 运行态不会一直持续,进程的CPU时间片用完之后, 再次失去CPU,从运行态转换为就绪态
    • 只要进程还没有退出,就会在就绪态和运行态之间不停的切换。
  • 阻塞态:进程被强制放弃CPU,并且没有抢夺CPU时间片的资格
    • 比如: 在程序中调用了某些函数(比如: sleep()),进程又运行态转换为阻塞态(挂起态)
    • 当某些条件被满足了(比如:slee() 睡醒了),进程的阻塞状态也就被解除了,进程从阻塞态转换为就绪态。
  • 退出态: 进程被销毁, 占用的系统资源被释放了
    • 任何状态的进程都可以直接转换为退出态。

4. 进程命令

1.ps: 显示当前运行的进程信息。

ps aux

2.top: 实时显示系统中运行的进程信息。

//在 top 中,你可以看到系统的整体情况以及每个进程的资源占用情况。
top

3.kill: 终止一个进程。

kill [signal] PID//signal: 指定要发送的信号。常见的信号包括 SIGTERM 和 SIGKILL。

4.pkill: 根据进程名杀死进程。

pkill process_name

5.killall: 杀死指定名称的进程。

killall process_name

6.psgrep: 结合 psgrep 来查找特定进程。

ps aux | grep process_name

7.pgrep: 根据进程名查找进程ID。

pgrep process_name

8.nice: 启动一个进程并设置其优先级。

nice -n value command//value: 优先级值,范围从 -20(最高优先级)到 19(最低优先级)。

9.renice: 修改正在运行的进程的优先级。

renice priority -p PID
//priority: 新的优先级值。

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

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

相关文章

Android Glide自定义AppCompatImageView切分成若干小格子,每个小格子onDraw绘制Bitmap,Kotlin(1)

Android Glide自定义AppCompatImageView切分成若干小格子,每个小格子onDraw绘制Bitmap,Kotlin(1) 垂直方向的RecyclerView,每行一个AppCompatImageView,每个AppCompatImageView被均匀切割成n个小格子&#…

提高工厂能源效率的关键:工厂能耗监测平台

工业做为能源消耗的重要场所,所以节能减排对工业来讲是一个亟需解决的问题。除了对设备进行更新换代外,还需要能源管理消耗监测平台,帮助企业实现节能减排的目标。 工厂能源消费量非常庞大,能源比较难以监测与控制。传统能源的管…

P6 Linux 系统中的文件类型

目录 前言 ​编辑 01 linux系统查看文件类型 02 普通文件 - 03 目录文件 d 04 字符设备文件 c 和块设备文件 b 05 符号链接文件 l 06 管道文件 p 07 套接字文件 s 总结 前言 🎬 个人…

Python+requests+unittest执行接口自动化测试详情

1、安装requests、xlrd、json、unittest库 <1>pip 命令安装&#xff1a; pip install requests pip install xlrd pip install json pip install unittest 2、创建六类Python Package 利用Page Object Model 设计理念创建六类Python Package(也可根据项目要求具体实施)…

Linux环境变量与命令行参数

Linux环境变量与命令行参数 一.命令行参数1.语法2.应用1:简易计算器 二.环境变量1.环境变量的概念2.环境变量的作用3.进一步理解环境变量的作用4.常见环境变量5.导出环境变量(添加环境变量)6.环境变量的特性7.另一种获取环境变量的方式8.小功能:用于身份验证的代码9.补充:第三种…

Android--Jetpack--Lifecycle详解

富贵本无根&#xff0c;尽从勤里得 一&#xff0c;定义 Lifecycle 是一个具备宿主生命周期感知能力的组件。它持有组件&#xff08;Activity/Fragment&#xff09;生命周期状态信息&#xff0c;并且允许其观察者监听宿主生命周期状态变化。 顾名思义&#xff0c;Lifecycle的主…

【3DsMax】制作简单的骨骼动画

效果 步骤 首先准备4个板子模型展开放置好 添加一个4段的骨骼 选中其中的一块板子添加蒙皮命令 在蒙皮的参数面板中&#xff0c;设置每块板子对应哪块骨骼 设置好后你可以发现此时就已经可以通过骨骼来控制模型了 接下来就可以制作动画 点击左下角“时间配置”按钮 设置一下动…

网络程序设计

互相连接&#xff0c;发送信息 tcp和udp协议 tcp会有准备&#xff0c;udp不会准备。 8080端口&#xff1a;tomcat端口&#xff0c;java和web相连接 80端口&#xff1a;http 21端口&#xff1a;ftp 套接字 socket&#xff1a;提供给程序可以对外进行连接的接口 ip地址 …

Elk:filebeat 日志收集工具和logstash

Filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小得多 Filebeat可以在非java环境使用&#xff0c;他可以代理logstash在非java环境上收集日志 缺点Filebeat无法实现数据的过滤,一般是结合logstash的 实验 ELK 企业级日志分析系统---…

Java第二十一章网络通信

一、网络程序设计基础 1、局域网与互联网 为了实现两台计算机的通信&#xff0c;必须用一个网络线路连接两台计算机&#xff0c;如下图所示。 2、网络协议 1.IP协议 IP指网际互连协议&#xff0c;Internet Protocol的缩写&#xff0c;是TCP/IP体系中的网络层协议。设计IP的目的…

C++ 拷贝构造函数

目录 拷贝构造函数概述 拷贝构造函数特性 拷贝构造函数概述 当我们定义好一个类&#xff0c;不做任何处理时&#xff0c;编译器会自动生成以下6个默认成员函数&#xff1a; 默认成员函数&#xff1a;如果用户没有手动实现&#xff0c;则编译器会自动生成的成员函数。 同样&…

Centos图形化界面封装OpenStack Ubuntu镜像

目录 背景 环境 搭建kvm环境 安装ubuntu虚机 虚机设置 系统安装 登录虚机 安装cloud-init 安装cloud-utils-growpart 关闭实例 删除细节信息 删除网卡细节 使虚机脱离libvirt纳管 结束与验证 压缩与转移 验证是否能够正常运行 背景 一般的镜像文件在上传OpenSt…

DBSCAN聚类算法学习笔记

DBSCAN聚类算法学习笔记 一些概念名词 MinPts&#xff1a;聚类在一起的点的最小数目&#xff0c;超过这一阈值才算是一个族群 核心点&#xff1a;邻域内数据点超过MinPts的点 边界点&#xff1a;落在核心点邻域内的点称为边界点 噪声点&#xff1a;既不是核心点也不是边界点的…

校园教务管理系统

学年论文&#xff08;课程设计&#xff09; 题目&#xff1a; 信息管理系统 校园教务管理系统 摘要&#xff1a;数据库技术是现代信息科学与技术的重要组成部分&#xff0c;是计算机数据处理与信息管理系统的核心&#xff0c;随着计算机技术的发展&#xff0c;数据库技…

OCP Java17 SE Developers 复习题08

答案 答案 答案 A. This code is correct. Line 8 creates a lambda expression that checks whether the age is less than 5, making option A correct. Since there is only one parameter and it does not specify a type, the parentheses around the parameter are …

h5如何跳转到微信公众号中

需求&#xff1a;点击按钮或者某个地方&#xff0c;弹出关注公众号的页面。&#xff08;h5跳转到微信公众号&#xff09; 需要什么&#xff1a;通过window.location.href来进行跳转。 因此&#xff0c;需要一个微信公众号链接。 一、打开想要跳转到的微信公众号的任何一篇文章&…

单片机_RTOS_架构

一. RTOS的概念 // 经典单片机程序 void main() {while (1){喂一口饭();回一个信息();} } ------------------------------------------------------ // RTOS程序 喂饭() {while (1){喂一口饭();} }回信息() {while (1){回一个信息();} }void main() {create_task(喂饭);cr…

一网打尽损失函数和正则化的关系,在损失函数中加入正则化有什么用,如何加入,这里为大家用通俗易懂的例子进行详细解释!(系列1)

文章目录 一、BP神经网络预测中&#xff0c;常见的损失函数是均方误差损失函数MSE二、L2正则化的公式如下&#xff1a;三、 结合MSE和L2正则化的总损失函数公式如下&#xff1a;总结 一、BP神经网络预测中&#xff0c;常见的损失函数是均方误差损失函数MSE 在BP神经网络预测中…

气膜厂家怎样确保产品质量和售后服务?

气膜厂家作为一家专业生产气膜产品的企业&#xff0c;确保产品质量和提供良好的售后服务是我们的责任和使命。为了确保产品质量和售后服务的可靠性&#xff0c;我们采取了以下措施。 起初&#xff0c;我们严格按照国家标准和相关行业规范进行生产。气膜产品的质量是产品能否长…

【JavaEE进阶】 Spring 的创建和使⽤

文章目录 &#x1f334;前言&#x1f38b;创建 Spring 项⽬&#x1f6a9;创建⼀个 Maven 项⽬&#x1f6a9;添加 Spring 框架⽀持&#x1f6a9;添加启动类 &#x1f333;存储 Bean 对象&#x1f6a9;创建Bean&#x1f6a9;将 Bean 注册到容器 &#x1f332;获取并使⽤ Bean 对象…