一、题外话
说到进程这个概念,还是以前上机的时候,每当VS卡得运行不了的时候,老师就会让我们打开任务管理器,在进程那个窗口下,选中VS,然后结束掉这个进程,如下图所示:
那时还不懂什么是进程,但是能猜到大概的意思应该就是一个程序在运行时的状态。
最近的一段时间在学习Linux方面的东西,对进程做了进一步的了解,下面就来看一看进程的相关知识。
二、进程的基本概念
1、先来看一下不同的书籍上对进程是如何定义的
(1)程序的一个执行实例;
(2)操作系统对一个正在运行的程序的抽象;
(3)能分配处理器并且由处理器执行的实体;
(4)内核观点:担当分配系统资源(CPU时间,内存)的实体。
进程的两个基本元素是程序代码(可能被执⾏行相同程序的其他进程共享)和代码相关联的数据集。
三、对进程定义的几点疑问
看了以上进程的概念,我有三点疑惑
1、程序和进程有什么区别?
经过查询资料,总结了一下两点区别:
(1)存储的位置不同
进程是加载到内存中的,而程序实在硬盘上的二进制文件。
(2)属性不同
进程是一个动态的概念,是程序正在运行时的过程;而程序是一个静态的概念,是一些预先编译好的指令和数据集合的二进制文件。
2、进程是如何来分配系统资源的?
(1)首先我们来了解一下什么叫做“多任务系统”?
你的PC机上的所有应用程序都以进程的方式在运行,当然应用程序是如何创建进程的,这个我们在后面进行讨论。每个进程都有自己独立的地址空间,使得进程之间可以相互隔离。CPU由操作系统统一进行分配,但是是根据什么进行分配的呢,当然是根据进程的优先级,优先级高的进程能优先得到CPU的资源。
(2)再来了解什么叫做“抢占式分配”?
如上所说,当某一个进程的运行时间超出了一定范围,它长时间占用CPU,那么操作系统就要将该进程暂停了,强制剥夺CPU的资源给目前最需要的进程,这就是所谓的抢占式分配,现在大多数的操作系统都是采用这一方式。
通过以上的描述,我们对进程是如何分配CPU资源的有了一个大概的了解,当然很多细节性的问题还没有涉及到,通过对进程的更深入的理解,可以及时进行补充。
3、处理器又是如何执行进程的?
(1)处理器的分类
处理器可以分为单核处理器和多核处理器,所谓的单核处理器就是只包含一个CPU的处理器;而多核处理器就是将多个CPU集成在一个芯片上的处理器。
(2)以单核处理器为例来说明处理器是如何执行进程的
在说明这个之前我们要了解到,在系统上运行程序的时候,我们会得到一个假象,那就是CPU好像同时在执行多个进程,但是在任何时刻,单处理器都只能执行一个进程的代码。这又是怎么回事呢?这种现象是由我们的处理器在进程之间切换实现的,具体的切换过程举例进行说明:
文字描述:刚开始运行的是A进程,即等待命令行上的输入,但是此时B进行要运行,怎么办呢,对于单核的处理器来说,在任何时刻只能运行一个进程,于是就只能进行切换了,A进行首先要通过系统调用将自己的控制权传给操作系统内核,操作系统内核拿到A的控制权之后会做三件事,先将A的上下文环境保存起来,以便后续从A停止的地方继续运行A进程,然后再将控制权给B进程,并且创建B进程的上下文环境,表示B进程现在有权利占用系统资源了。至此就是将A进程切换到B进程的全过程,当然要切换回去也是同样的道理。
四、几个常见的概念
1、逻辑控制流
逻辑控制流就是程序计数器PC里面保存的序列值,简称逻辑流。
2、并发流
一个逻辑流与另一个逻辑流在时间上的重叠称为并发流。为了更好的理解这个概念我们举例来进行说明:
现在我们来判断一下进程三个进程之间的关系:
B是在A开始之后,结束之前开始运行的,即AB时间上有重叠,因此AB并发执行,同理可以判断AC并发执行,BC不是并发执行。
3、并行流
如果两个流在时间上有重叠,并且它们运行在不同的处理器或者PC机上,那么我们称他们为并行流。
4、多任务和时间片
一个进程和另外一个进程轮流运行的概念成为多任务。
一个进程执行它的控制流的每一部分的时间段称为时间片。
例如:
上图中的进程A就有两个时间片;进程B只有一个时间片;进程C有两个时间片。
相关推荐
MIMO-OFDM 通信-感知一体化(ISAC)中的联合优化与性能权衡
本文深入探讨了MIMO-OFDM技术在通信-感知一体化(ISAC)系统中的核心作用与挑战。文章分析了如何通过联合优化资源分配、波束成形与波形设计,在有限的频谱与硬件资源下,实现通信速率与感知精度之间的最佳平衡,并指出了工程实践中面临的同步、干扰等关键难题。
【操作系统】进程概述
进程是计算机系统中正在运行的程序的实例。它是操作系统对程序执行的基本单位,可以看作是程序在执行过程中的动态表现。每个进程都有自己的内存空间、代码、数据和执行状态。多个进程可以同时运行在计算机系统中。1)进程是程序的一次执行过程。2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。3)进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。引入进程实体的概念后,我们可以把。
MemSeg:一种差异和共性来检测图像表面缺陷的半监督方法
本文认为人为创建类内差异和保持类内共性可以帮助模型实现更好的缺陷检测能力,从而更好地区分非正常图像。如图一所示。差异(differences):MemSeg引入人工模拟的异常图像在训练阶段使模型能够区分正常和异常的图像,减轻了半监督学习只能用正常样本进行训练的不足,然后在推理阶段可以直接输入图像无需做任何后处理。共性(commonalities):MemSeg引入了一个记忆池来记录正常样本的通用模式,在训练和推理阶段,比较输入图像和记忆池中的样本之间的差异,为异常区域的定位提供有用的信息。
进程的概念以及进程的创建
并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。子进程所独有的只有它的进程号,计时器等。此外,在可剥夺的操作系统中,当有更高优先级的进程就 、 绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。: 任何进程( 除 init 进程)都是由另一个进程创建,该进程称为被创建进程的父进程,对应的进程号称为父进程号(PPID)。
TLV320AIC3204音频CODEC硬件设计与调试实战
本文深入解析了TLV320AIC3204音频CODEC的硬件设计与调试实战。文章从芯片功能定位入手,详细阐述了电源时钟设计、模拟输入电路等关键硬件设计要点,并提供了软件驱动配置与分层调试方法,帮助工程师有效规避常见陷阱,解决底噪、失真等典型音频调试问题。
旋转变压器软件解码simulink仿真
旋转变压器软件解码simulink仿真、电机转速位置测量
进程的基本概念
在现代计算机系统中, 进程既是操作系统中的一个重要概念,又是系统进行资源分配和独立运行的基本单位。本章将介绍进程的基本概念、进程的状态、线程的基本概念、进程同步与互斥、进程的控制,进程的通信、进程调度及死锁的概念。 引入 现代操作系统的重要特点是程序的并发执行,及共享系统资源和系统的不确定性。这三个特点是相互联系和相互依赖的 资源共享是程序并发执行的必然结果,只有对资源共享实施有效管理,才能实现和保证程序的并发执行; 系统的不确定性也是程序并发和资源共享的必然结果,操作系统必须具备随时响应和正确处理各种随机
Win10平台下QT6.9.0 OpenCV 4.10.0从入门到精通
我最近开发一个视觉项目,我们从0开始记录在windows 10下 用QT6.9+OpenCV 4.10.0搞定整个项目的开发过程。以抛砖引玉,大家共同进步。
操作系统——进程之基本介绍
进程与线程
告别实车测试:手把手教你用Vector VT平台搭建OBC/DCDC的HIL测试台架
本文详细介绍了如何利用Vector VT平台搭建新能源汽车OBC/DCDC的HIL测试台架,涵盖硬件选型、模型部署到自动化测试的全流程。通过HIL仿真测试技术,工程师可以高效验证动力域关键部件,大幅缩短开发周期并降低成本,特别适合新能源汽车三电系统的开发验证。
【020】C++ 动态内存管理解析:new 和 delete 的正确使用
C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。
Linux基础之进程的基本概念
进程是什么?课本概念:程序的一个执行实例,正在执行的程序等。内核观点:担当分配系统资源(CPU时间,内存)的实体。这个概念比较的官方,等会我可以给大家讲一讲我是怎么去理解进程这个概念的。
Python爬虫-爬取汽车之家各品牌周销量榜数据,进行数据分析
本文是该专栏的第57篇,后面会持续分享python爬虫干货知识。本文中,笔者已经整理20篇汽车平台相关的爬虫项目案例。对此感兴趣的同学,可以直接翻阅查看。同样,笔者在本文中将继续以汽车之家平台为例子。基于Python爬虫,实现批量爬取“各品牌周销量榜单”的数据。废话不多说,具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,跟着笔者直接往下看正文详细内容。(附带完整代码)
Linux 进程(1) 进程基本概念
由于前置知识的缺失,上来就去了解进程的概念是非常困难的。因此我先从体系结构方面对硬件和软件进行了一定程度的认识。首先是冯 诺依曼体系结构的基础认知。有些资料把内存归为CPU一类,有些资料把内存从CPU独立开,这里我的CPU是指运算器和控制器构成的CPU内核。外设指的是除了CPU以外的硬件。包括输入设备、输出设备和外存储器。(这里只画了数据逻辑关系,不包含控制)Q:为什么CPU不能直接读取外存储器(就是c盘d盘里的程序)运行呢?A:因为CPU速度很快,而外存储器速度很慢。
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
liunx操作系统 进程的基本概念
在没有存储器之前,所有的信息都是直接进入CPU,这样效率很差,因为读入,写出的速度远远慢于cpu计算的速度。在操作系统的管理下,操作系统用结构体描述结构体的,该结构体描述了设备的重要特性,通过管理特性数据管理你,比如设置你关机,你就关机。神奇的是 test并不是r状态,而是s状态,s状态是浅度睡眠,浅度睡眠是可以打断的睡眠。当5次循环结束后,子进程结束,子进程并不会直接被干掉,而是变为僵尸进程,僵尸进程是等待父进程接受退出数据用的。进程的概念:进程是操作系统最重要的概念,他在书上都是说他是运行起来的程序。
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
进程和线程基本概念
1 进程基本概念 1.1 多进程模型 多个进程是分时执行的,每个进程的指令流按顺序执行。 多个进程在一个处理器上分时运行,如图: 操作系统需要做的事情是:维护一个全局的进程表,记录下当前有哪些进程正在被执行;把时间分成适当的片段,现代处理器结构可以通过设置时钟中断,每次时钟中断到来时系统就会获得控制权,在进程间实施切换,即保留上一个进程的环境信息,恢复下一个进程的执行环境。 1.2 进程和程序 程序的内存布局结构 一个c/c++ 程序的典型布局结构,如图: 程序内存区域有三种类...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
【Linux】进程的基本概念(进程控制块,ps命令,top命令查看进程)
程序就像是一本菜谱,描述了如何准备一道菜的步骤、所需的食材以及烹饪方法,但它本身并不会做任何事情;而进程则是根据菜谱准备食物的实际过程,它是程序在执行过程中的动态实例。就像你可以同时烹饪多道菜一样,操作系统可以同时执行多个进程,每个进程都在独立地执行它们的指令,拥有自己的资源和状态。
进程基本概念及创建
Linux内核通过唯一的进程标识符PID来标识每个进程,PID存放在进程描述符的pid字段中,新创建的PID通常是前一个进程的PID加1,PID的值有上限(通常为32767),在Linux中获得当前进程的进程号(PID)和父进程号(PPID)的系统调用函数分别为。相当于克隆了一个自己。Linux首先把终止的进程设置为僵尸状态时,进程无法投入运行,它的存在只为父进程提供信息,父进程得到信息后,调用wait函数族,最终杀死子进程,子进程所占用的资源被全部释放。和_exit(0);fork()函数简单实例。
【进程】进程的基本概念理解
1.基本概念 1.1 冯诺依曼体系结构 冯诺依曼体系结构对应现代计算器 输入设备:键盘 输出设备:显示屏、打印机 存储器:内存 运算器:CPU 控制器:南桥北桥 1.2 操作系统 任何计算机系统都包含的一个基本的程序集合,称为操作系统。包含内核(进程管理,内存管理,文件管理,驱动管理)和其他程序。是一款纯正搞管理的软件。 1.3 系统调用和库函数的区别 系统调用:操作系统对外表现为一个整体,会暴露自己的部分接口,供上层开发使用,由操作系统提供的接口。 库函数:对部分操作系统调用进行适度封装,从而形成
Linux——进程基本概念、僵尸进程与孤儿进程
文章目录前言一、进程基本概念1.1 程序计数器在Linux下的样子:1.2 上下文信息1.3 内存指针二、进程创建三、僵尸状态和僵尸进程3.1 ????♂️进程的模拟3.2 ????♀️的危害(僵尸进程的危害)3.3 如何处理四、孤儿进程 前言 此文章初步探究一下进程的基本概念,以及僵尸进程与孤儿进程,后续还会对进程有更加深入的学习。 一、进程基本概念 PCB:进程控制块(struct task_struct),初步包含了一下几个模块: PID 进程状态 程序计数器:保存程序即将要运行的下一条指令
216



被折叠的 条评论
为什么被折叠?



