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: 新的优先级值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python通过 psd-tools 解析 PSD 文件

更多资料获取 📚 个人网站:ipengtao.com PSD(Photoshop Document)是Adobe Photoshop软件中使用的图像文件格式,包含图层、通道、蒙版等信息。在Python中,我们可以使用 psd-tools 库来解析和处理PSD文件。本…

开发者的福音:TinyVue 组件库文档大优化!类型更详细,描述更清晰!

你好,我是 Kagol。 前言 从今年2月份开源以来,有不少朋友给我们 TinyVue 组件库提了文档优化的建议,这些建议都非常中肯,我们也在持续对文档进行优化,并且从中总结出了大家对于文档优化的一些共性问题,形…

YOLOv8改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)

一、本文介绍 本文给大家带来的改进是Triplet Attention三重注意力机制。这个机制,它通过三个不同的视角来分析输入的数据,就好比三个人从不同的角度来观察同一幅画,然后共同决定哪些部分最值得注意。三重注意力机制的主要思想是在网络中引入…

云上守沪 | 云轴科技ZStack成功实践精选(上海)

为打造国际数字之都,上海发布数字经济发展“十四五”规划,围绕数字新产业、数据新要素、数字新基建、智能新终端等重点领域,加强数据、技术、企业、空间载体等关键要素协同联动,加快进行数字经济发展布局;加快基础软件…

指针(三)

函数指针 定义:整型指针是指向整形的指针,数组指针式指向数组的指针,其实函数指针就是指向函数的指针。 函数指针基础: ()优先级要高于*;一个变量除去了变量名,便是它的变量类型;一个指针变量…

SQL手工注入漏洞测试(Access数据库)-墨者

———靶场专栏——— 声明:文章由作者weoptions学习或练习过程中的步骤及思路,非正式答案,仅供学习和参考。 靶场背景: 来源: 墨者学院 简介: 安全工程师"墨者"最近在练习SQL手工注入漏洞&#…

Linux详解—环境变量

目录 前言 一、基本概念 二、常见环境变量 三、查看环境变量方法 四、和环境变量相关的命令 1. echo: 显示某个环境变量值​编辑 2. export: 设置一个新的环境变量​编辑 3. env: 显示所有环境变量​编辑 4. unset: 清除环境变量​编辑 5. set: 显示本地定义的shell变…

python将时间戳转换为时间

python将时间戳转换为时间 import datetime timestamp 1701862813779 # 将时间戳转换为秒(因为Python的timestamp通常是以秒为单位的) timestamp_seconds timestamp / 1000 # 将时间戳转换为UTC时间 utc_time datetime.datetime.utcfromti…

Java第二十一章网络通信

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

0基础学java-day15

一、泛型 1 泛型的理解和好处 1.1 看一个需求 【不小心加入其它类型,会导致出现类型转换异常】 package com.hspedu.generic;import java.util.ArrayList;/*** author 林然* version 1.0*/ public class Generic01 {SuppressWarnings("all")public st…

VMware 虚拟机 电脑重启后 NAT 模式连不上网络问题修复

问题描述: 昨天 VMware 安装centos7虚拟机,网络模式配置的是NAT模式,配置好后,当时能连上外网,今天电脑重启后,发现连不上外网了 检查下各个配置,都没变动,突然就连不上了 网上查了…

mmc频率配置

代码路径及功能 以zync的 sd mmc来解读 涉及到的设备驱动文件: 文件说明\drivers\mmc\host\dw_mmc-pltfm.c 作为mmc的驱动的入口\drivers\mmc\host\dw_mmc.c dw mmc的通用驱动。虽然各个芯片厂家都有自己的外设接口,但是这些接口通常用的同一个I…

1.2 C语言简介

一、为什么要讲C语言 C语言是编程界的长青藤,可以查看语言排名发现,虽然现在语言很多,但是C语言一直占有一定地址 来源网站:https://www.tiobe.com/tiobe-index/ 在系统、嵌入式、底层驱动等领域存在一定的唯一性(C语…

GNSEC 2022年第8届全球下一代软件工程线上峰会-核心PPT资料下载

一、峰会简介 新一代软件工程是指利用新的理论、方法和技术,在软件开发、部署、运维等过程中,实现软件的可控、可预测、可维护的软件生产方式。它涵盖了多个领域,如软件开发、测试、部署、运维等,旨在提高软件生产效率和质量。 …

Qt-Q_OBJECT宏使用与“无法解析的外部符号qt_metacall/metaObject/qt_metacast“

有时候我们编写Qt类的时候,修改代码时直接加上Q_OBJECT宏,然后直接构建,会报如下错误: 这里的几个函数的声明是由Q_OBJECT宏引入的,而其对应的实现是由moc实现的,如果我们更新了代码但是没有执行qmake&…

【Qt开发流程】之对象模型3:对象树及其所有权

描述 Qt对象树是一种基于父子关系的对象管理机制,用于管理Qt应用程序中的所有对象。在Qt中,每个对象都可以拥有一个或多个子对象,并且每个子对象只能属于一个父对象。每个对象的所有权(也称为生存期)由其父对象控制。…

Linux常用指令详解

目录 前言: Linux的目录结构 Linux常用指令简介 whoami指令 ls指令 pwd指令 cd指令 tree指令 touch指令 mkdir指令 rmdir指令与rm指令 man指令 cp(copy)指令 mv(move)指令 cat指令 重定向及重定向的类型…

SE考研真题总结(一)

本帖开始分享考研真题中设计【软件工程】的部分,预计会出5期左右,敬请期待~ 一.单选题 1.程序编写不是软件质量保障过程~ 静态代码扫描是今年来多数被人提及的软件应用安全解决方案之一,指程序员在编写好代码后无需进行编译,直接…

【网络】抓包工具Wireshark下载安装和基本使用教程

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助&#x1…

电商运营基础(一、新手起店完整的运营流程)

任何东西的学习都要现有广度再有深度 一、学习流程大纲 二、新店运营的完整步骤 1.品类选择(最重要的一步) 切记,电商,选择大于努力 类——类目——做一件代发的——选类目很重要 品——货源——有自己的货源——选品——你做…