【进程概念】

news2024/11/17 22:24:53

目录

  • 什么是在计算机运行的程序
  • 这么多运行的程序计算机是如何管理的
    • 先描述
    • 再组织

什么是在计算机运行的程序

对于一个在磁盘可执行的二进制文件,也可叫做可执行程序。对于一个可执行的程序,程序有自己的代码和数据。一旦运行起来,就会在计算机内部运作起来。
根据冯诺依曼体系,一个程序要被运行起来,先是要加载到内存当中,然后再到CPU调度。当代计算机中,能运行一个程序,就能运行多个程序,然后每个二进制的可执行文件程序都像在自己干自己的事情,互不干扰。这就是在计算机运行的程序。

这么多运行的程序计算机是如何管理的

先描述

当程序加载到内存的时候,计算机的操纵系统(OS)必然会对这个程序进行管理,操作系统是通过对程序对象的先描述,抽象成一个对象,这个概念就是进程(process),所以程序运行起来就是操作系统的一个进程(操作系统创建一个进程来运行这个程序)。操作系统对程序的管理转而变为对进程的管理,进程有程序的代码和数据。实际上在磁盘的程序在运行之前,是把代码和数据拷贝到内存当中,而程序依据再磁盘保存着,所以说运行的程序其实是操作系统中运行的进程。然后这些进程在合适的时机会被CPU调度。

再组织

对程序拷贝到内存的代码和数据进行描述完成后,操作系统要对这些进程管理,再linux系统当中,会以一个叫task_struct的结构体对象对进程进行管理,task_struct包含着进程的属性,task_struct就是操作系统管理进程的控制块(process contorl block),然后task_struct以某种数据结构类型相互联系起来。再以一个struct runqueue的运行队列结构体管理。
进程包含(代码 + 数据 + 进程控制数据结构)

struct task_struct {
	volatile long state;	/* -1 unrunnable, 0 runnable, >0 stopped */
	prio_array_t *array;//有该进程被cpu调度的优先级
	pid_t pid;//有进程的id编号
	pid_t tgid;
	struct mm_struct *mm, *active_mm;//进程的内存地址空间
	int exit_code, exit_signal;//进程的退出码和退出信息
	struct task_struct *next_task, *prev_task;
	//
	//...........................................
	//该进程的一系列属性。
}
//操作系统也是软件,上述结构体就是操作系统管理进程的task_struct
struct task_struct *next_task, *prev_task;

操作系统通过这种双链表的形式组织管理这些进程控制块。
在这里插入图片描述

当新的程序执行的时候,操作系统再次创建进程,把进程通过链表的链入规则连接到运行队列,如果进程结束,则task_struct在链表上删除,然后重新连接。

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

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

相关文章

旅游分享系列之:福建旅游攻略

旅游分享系列之:福建旅游攻略 一、漳州1.福建土楼2.云水谣3.四菜一汤景点 二、厦门1.园林博览苑2.海上自行车道3.山海步道4.海滩5.闽南菜6.落日 三、泉州1.衙口沙滩2.海上日出3.珞珈寺4.海滩烟花 一、漳州 游玩2个景点:云水谣,四菜一汤可以住…

永恒之黑和永恒之蓝 漏洞解析及复现

充当攻击机的机器是kali,另外需要关闭防火墙策略。 永恒之黑(CVE-2020-0796) 靶机:windows 10的IP地址:192.168.200.30 原理:实现远程代码执行 注意: 这个脚本运行有时候会导致靶机蓝屏&am…

OpenAI Sora引领AI跳舞视频新浪潮:字节跳动发布创新舞蹈视频生成框架

OpenAI的Sora已经引起广泛关注,预计今年AI跳舞视频将在抖音平台上大放异彩。下面将为您详细介绍一款字节跳动发布的AI视频动画框架。 技术定位:这款框架采用先进的diffusion技术,专注于生成人类舞蹈视频。它不仅能够实现人体动作和表情的迁移…

(done) 什么是正定矩阵?Positive Definite Matrices

正定矩阵的定义:https://baike.baidu.com/item/%E6%AD%A3%E5%AE%9A%E7%9F%A9%E9%98%B5/11030459 正定矩阵的作用、验证视频:https://www.bilibili.com/video/BV1Ag411M76G/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c…

webpack配置杂记

1、热更新 安装webpack-dev-server : npm i webpack-dev-server -D webpack.config.js配置 module.exports {// 其他配置...,// 热更新配置devServer: {host: "localhost",port: 3000,}, } 2、入口entry:使用相对路径们也就是webpack程序运行的路径&am…

PNAS|多倍体物种极致突破

羊草(Leymus chinensis)是欧亚草原多年生优势草本植物,以其显著的适应性和饲料品质而闻名。尽管人们越来越认识到其生态和经济价值,但基因组序列的缺失及其遗传转化所面临的挑战限制了其在基础研究和野生植物改良方面的关键应用。…

transformer,视觉模型改进论文的讨论

1、efficientVIT efficientformer 模型 快48.9倍的新SAM!清华&MIT&英伟达开源EfficientViT-SAM:精度不变,原地起飞 YOLOv8改进 | 2023主干篇 | EfficientViT替换Backbone(高效的视觉变换网络) - Snu77的文章 -…

《Python 语音转换简易速速上手小册》第5章 音频数据处理(2024 最新版)

文章目录 5.1 音频数据的基本处理5.1.1 基础知识5.1.2 主要案例:音频剪辑工具案例介绍案例 Demo案例分析 5.1.3 扩展案例 1:自动音量调节器案例介绍案例 Demo案例分析 5.1.4 扩展案例 2:语音识别预处理案例介绍案例 Demo案例分析 5.2 使用 Py…

dell r740服务器黄灯闪烁维修现场解决

1:首先看一下这款DELL非常主力的PowerEdge R740服务器长啥样,不得不说就外观来说自从IBM抛弃System X系列服务器后,也就戴尔这个外观看的比较顺眼。 图一:是DELL R740前视图(这款是8盘机型) 图二&#xff…

散列表Hash Table(哈希表)+散列函数+散列冲突及散列表插入、查找的时间复杂度分析

散列表(Hash Table)又名哈希表/Hash表,是根据键key直接访问在内存存储位置的值value的数据结构,它是由数组演化而来的,利用了数组支持按照下标进行随机访问数据的特性。但这个键key有时不是纯数值,不能够做为数组的下标,这时就可以把这个非纯数值的key转…

MediaPipe姿态识别pose_landmark_lite.tflite缺失问题

背景说明 最近朋友提供了一个姿态识别的简易代码,让自己帮忙调试改进一下。自己打开代码看了一下,使用的是mediapipe 框架进行的人体姿态检测,当我在配置好环境初始化pose(姿态检测对象)时出现了错误:Downl…

喀秋莎画中画怎么设置 喀秋莎画中画视频怎么导出 喀秋莎什么意思 camtasia studio下载

画中画视频,顾名思义,就是在一个视频中有两个画面,游戏解说、微课等类型的视频常常就以画中画的形式出现。作为一款专业的视频编辑软件,使用camtasia可以轻松地制作画中画视频并导出。接下来我将为大家介绍:喀秋莎画中…

Spring Boot中实现列表数据导出为Excel文件

点击下载《Spring Boot中实现列表数据导出为Excel文件》 1. 前言 本文将详细介绍在Spring Boot框架中如何将列表数据导出为Excel文件。我们将通过Apache POI库来实现这一功能,并解释其背后的原理、提供完整的流程和步骤,以及带有详细注释的代码示例。最…

bilibili尚硅谷周阳老师JUC并发编程与源码分析课程笔记第十一章——Synchronized与锁升级

文章目录 先从阿里及其它大厂面试题说起本章路线总纲阿里手册对锁使用的强制要求Synchronized锁优化的背景Synchronized锁的升级过程Synchronized锁的升级标志 Synchronized的性能变化Java5以前,只有Synchronized,这个是操作系统级别的重量级锁为什么每一…

推荐一款Vite中加载svg的小工具

最近开发中使用到一个好玩的Vite三方小插件vite-plugin-svg-icons很实用,可以辅助我们开发过程中快速加载svg小图标。其原理是在Vite编译器的时候通过一次性的DOM操作将SVG插入DOM结构中,然后通过使用内联SVG进行加载访问,极大的方便了我们的…

【码银送书第十二期】世界顶级名校计算机专业,都在用哪些书当教材?

清华、北大、MIT、CMU、斯坦福的学霸们在新学期里要学什么?今天我们来盘点一下那些世界名校计算机专业采用的教材。 01《深入理解计算机系统》 (原书第3版) 作者:兰德尔 E.布莱恩特 大卫 R. 奥哈拉伦 推荐理由:卡内基…

怿星科技测试实验室(EPT LABS)服务介绍

据中国汽车工业协会数据,2023年我国汽车产销量分别达3016.1万辆和3009.4万辆,年产销量双双创历史新高,汽车行业进入了新时代。新汽车时代下的OEM竞争更激烈,汽车电子架构更复杂,研发周期更短,软件迭代更快&…

vue3项目引入本地js文件,实现一个音频播放按钮

目前有一个需求就是在网页上放置一个音乐控制按钮,并且是在vue3项目里面。于是小白的我遇到了2个问题,第一个问题是如何实现没有进度条的播放按钮,这个网上有现成的代码,可以通过js代码切换不同的图片或者是别的样式,并…

电脑wifi丢失修复

当你打开电脑突然发现wifi功能不见了,可以先查看一下网卡的状态 在控制面板中找到设备管理器,打开就能找到网络适配器, 我这里是修复过的,wifi丢失后这里可能会显示WALN是丢失的,其他项显示黄色感叹号。 如何修复呢…

170基于matlab的DNCNN图像降噪

基于matlab的DNCNN图像降噪,网络分为三部分,第一部分为ConvRelu(一层),第二部分为ConvBNRelu(若干层),第三部分为Conv(一层),网络层数为17或者20层…