0802|IO进程线程 day5 进程概念
一、进程的基础
1.1 什么是进程
1)进程是程序的一次执行过程
- 程序:是静态的,它是存储在外存上的可执行二进制文件;
- 进程:动态的概念,它是程序的一次执行过程,包括了进程的创建,调度、消亡,是存在于内存中的。
2)进程是独立的,可以被CPU调度的任务
- Linux中的调度机制:时间片轮询机制;
- 操作系统会给每一个进程分配时间片,当时间片结束后,cpu资源会切走,当前进程等待下一次调度。
3)进程在被调度的时候,系统会分配和释放各种资源(CPU资源,内存资源,进程调度块(PCB))。
1.2 进程的五种状态及五态图
五种状态:
- 创建态
- 就绪态
- 运行态
- 阻塞态
- 终止态
ps:进程运行过程中有5种种状态,运行态只是进程运行过程中的一种状态。
五态图:
1.3 进程的内存分布【重点】
1)内存分布
- 在Linux操作系统中,每个进程都会被分配4G的内存空间(虚拟内存);
- 其中0-3G是用户空间代码使用,每个进程相互独立;
- 其中3-4G是内核空间,所有进程共享。
每个进程的用户空间都有自己独立的区:
1> 静态存储区 2> 堆区 3> 栈区

2)虚拟内存和物理内存
虚拟内存和物理内存之间的关系--->映射关系
物理内存:
- 硬件上(内存条上)真正存在的存储空间。
虚拟内存:
- 程序启动后,会分配4G的虚拟地址空间,用户只能访问到虚拟地址空间。当要使用的时候,由虚拟地址映射到物理地址上。
- 32位操作系统,指针变量的大小为4bytes,取值范围为[0, 2^32-1],所以寻址范围为4G
- 64位操作系统,指针变量的大小为8bytes,只取了前48bit存储地址,所以寻址范围是256TB
虚拟内存的目的:
- 动态分配内存。
1.4 进程是资源分配的最小单位【重点】
以进程为单位分配和释放各种资源。
- 内存资源的申请和释放;
- 文件描述符表:每个进程都有自己的1024个文件描述符;
- 时间片;
- 管理自己的虚拟地址空间,使用的时候映射到物理地址上;
... ...
1.5 进程标识
操作系统会给每一个进程分配一个编号,这个编号就是进程号。
主要进程标识
- 进程号:PID (process id)
- 父进程号:PPID (parent process id)
- 进程组号:PGID (process group id) 若干个进程的集合,称之为进程组,默认情况下新创建的进程会继承父进程的组ID
- 会话组号:SID (session id) 若干个进程组的集合,称之为会话组,默认情况下新创建的进程会继承父进程的会话ID
操作系统刚启动的时候,会启动三个进程。三个特殊的进程号:
- 0 idle进程 操作系统引导程序,创建1号,2号进程。
- 1 init进程 初始化内核的各个模块,当内核启动完成后,用于收养孤儿进程(没有父进程的进程)
- 2 kthreadd进程 用于进程间调度。
1.6 进程相关的shell指令
1) ps -aux
功能:显示进程占计算机资源的百分比;USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
2) ps -ajx
功能:显示进程之间的关系PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
父进程 进程号 进程组 会话组
3) pidof
功能:根据进程名字获取PID号;
格式:pidof a.out
4) pstree
功能:显示进程关系树
5) kill
kill -9 pid 根据pid号杀死进程
killall -9 进程名字 根据进程名字杀死进程
6) 进程的STAT
D 不能被中断的阻塞状态R 运行状态S 可以被中断的阻塞状态T 被信号控制的挂起状态t 进程被调试的挂起状态X 死亡态,死亡是一瞬间的,该状态永远看不到Z 僵尸状态,当前进程退出后,父进程没有为其收尸。< 高优先级的N 低优先级的L 有些页被锁进内存s 会话组组长l 多线程+ 运行在前端
相关文章:
0802|IO进程线程 day5 进程概念
一、进程的基础 1.1 什么是进程 1)进程是程序的一次执行过程 程序:是静态的,它是存储在外存上的可执行二进制文件;进程:动态的概念,它是程序的一次执行过程,包括了进程的创建,调度、…...
4 Promethues监控主机和容器
目录 目录 1. 监控节点 1.1 安装Node exporter 解压包 拷贝至目标目录 查看版本 1.2 配置Node exporter 1.3 配置textfile收集器 1.4 启动systemd收集器 1.5 基于Docker节点启动node_exporter 1.6 抓取Node Exporter 1.7 过滤收集器 2. 监控Docker容器 2.1 运行cAdviso…...
亚马逊买家账号ip关联怎么处理
对于亚马逊买家账号,同样需要注意IP关联问题。在亚马逊的眼中,如果多个买家账号共享相同的IP地址,可能会被视为潜在的操纵、违规或滥用行为。这种情况可能导致账号受到限制或处罚。 处理亚马逊买家账号IP关联问题,建议采取以下步骤…...
NO4 实验四:生成Web工程
1、说明 使用 mvn archetype:generate 命令生成 Web 工程时,需要使用一个专门的 archetype。这个专门生成 Web 工程骨架的 archetype 可以参照官网看到它的用法: 2、操作 注意:如果在上一个工程的目录下执行 mvn archetype&…...
【linux】进程
文章目录 前言一、概念基本概念进程-PCBtask_structtask_struct内容分类 二、查看和创建进程查看进程PID创建进程 三、进程状态五、僵尸进程和孤儿进程僵尸进程孤儿进程获取进程退出码 四、进程优先级基本概念查看系统进程PRI and NI用top命令更改已存在进程的nice 前言 我们常…...
电商高并发设计之SpringBoot整合Redis实现布隆过滤器
文章目录 问题背景前言布隆过滤器原理使用场景基础中间件搭建如何实现布隆过滤器引入依赖注入RedisTemplate布隆过滤器核心代码Redis操作布隆过滤器验证 总结 问题背景 研究布隆过滤器的实现方式以及使用场景 前言 本篇的代码都是参考SpringBootRedis布隆过滤器防恶意流量击穿缓…...
SpringBoot第25讲:SpringBoot集成MySQL - MyBatis 注解方式
SpringBoot第25讲:SpringBoot集成MySQL - MyBatis 注解方式 本文是SpringBoot第25讲,上文主要介绍了Spring集成MyBatis访问MySQL,采用的是XML配置方式;我们知道除了XML配置方式,MyBatis还支持注解方式。本文主要介绍Sp…...
服务器返回 413 Request Entity Too Large
问题 上传一个大于1.5M的文件时,报错:413 Request Entity Too Large 使用的配置 1、用的是docker环境,还有一层代理,代理用的镜像是:jwilder/nginx-proxy 2、docker里是有php和nginx 确认配置 docker里的php和ngi…...
如何一目了然地监控远程 Linux 系统
动动发财的小手,点个赞吧! Glances 是一款免费的开源、现代、跨平台、实时 top 和类似 htop 的系统监控工具,与同类工具相比,它提供了先进的功能,并且可以在不同的模式下运行:作为独立模式、客户端/服务器模…...
9.环境对象和回调函数
9.1环境对象 指的是函数内部特殊的变量this,它代表着当前函数运行时所处的环境 作用: 弄清楚this的指向,可以让我们代码更简洁 ➢函数的调用方式不同,this指代的对象也不同 ➢[谁调用,this 就指代谁] 是判断this指向的…...
51单片机(普中HC6800-EM3 V3.0)实验例程软件分析概览
本专栏将分析普中HC6800-EM3 V3.0 (9.22)\5--实验程序\基础实验例程中的各个例程的代码。 引言:本专栏将对历程中的关键代码进行分析与拓展,再学习一遍51,记录与各位一起进步。 下面是文件列表: E:\USER\000study\000_51单片机\000普中HC6800-EM3 V3.0 (9.22)\5--实…...
ubuntu18.04 安装php7.4-xdebug
文章目录 场景解决 场景 apt install php7.4-xdebug 下载失败, 只好通过编译解决了 解决 https://xdebug.org/wizard 输入php -i的执行结果...
java 定时任务不按照规定时间执行
这里写目录标题 使用异步启动可能出现的问题排查代码中添加的定时任务步骤是否正确排查是否任务阻塞,如果定时任务出现异常阻塞后,将不会在次执行java中多个Scheduled定时器不执行为了让Scheduled效率更高,我们可以通过两种方法将定时任务变成…...
Android复习(Android基础-四大组件)—— Activity
Activity作为四大组件之首,是使用最为频繁的一种组件,中文直接翻译为"活动",不过如果被翻译为"界面"会更好理解。正常情况,除了Window,Dialog和Toast , 我们能见到的界面只有Activity。…...
Linux系统安装部署MongoDB完整教程(图文详解)
前言:本期给大家分享一下目前最新Linux系统安装部署MongoDB完整教程,我的服务器采用的是Centos7,在部署之前我重装了我的服务器,目的是为了干净整洁的给大家演示我是如何一步步的操作的,整体部署还是挺简洁,…...
CSS图片放到<div>里面,自适应宽高全部显示,点击图片跳到新页面预览,点击旋转按钮图片可旋转
有一个需求是图片放到一个固定宽高的<div>里面,不管是横图还是竖图,都要全部显示出来并且保持图片的长宽比例不变形,点击图片可以跳到一个新页面预览,代码如下: <!DOCTYPE html> <html> <head>…...
二阶段web基础与http协议
dns与域名 网络是基于tcp/ip协议进行通信和连接的 应用层-----传输层-----网络层-----数据链路层-----物理层 ip地址,每一台主机都有一个唯一的地址标识(固定的ip地址) 1.区分用户和计算机 2.通信 ip地址的问题在于32位二进制数组成的&…...
SpringBoot+Freemark根据html模板动态导出PDF
SpringBootFreemark根据html模板导出PDF 1、引入maven2、两个工具类2.1 test.html模板2.2 test.html模板中的Freemark语法 3、controller导出pdf 1、引入maven 导出pdf的一些必要jar包 <dependency><groupId>org.projectlombok</groupId><artifactId>…...
XPath数据提取与贴吧爬虫应用示例
XPath数据提取与贴吧爬虫应用示例 XpathXpath概述Xpath Helper插件 XPath语法基本语法查找特定节点选取未知节点选取若干路径 lxml模块使用说明使用示例 百度贴吧爬虫 Xpath Xpath概述 XPath(XML Path Language)是一种用于在XML文档中定位和选择节点的语…...
字符串匹配-KMP算法
KMP算法,字符串匹配算法,给定一个主串S,和一个字串T,返回字串T与之S匹配的数组下标。 在学KMP算法之前,对于两个字符串,主串S,和字串T,我们根据暴力匹配,定义两个指针,i指…...
Windows系统优化终极指南:用Win11Debloat免费快速提升性能
Windows系统优化终极指南:用Win11Debloat免费快速提升性能 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter an…...
MySQL从节点上的服务崩了后如何做主从读写分离?
背景 我们的项目采用了读写分离的方案:查询和更新的业务走主库,统计相关的功能走从库,从而减少主库的压力。原理如下图所示: 读写分离的方案 如果从库崩了,实在无法访问了,就会把所有请求打到主库上。原理…...
集团型企业BI试点,为什么一定要先做多域资源隔离?
艾瑞咨询《2025年中国BI市场报告》显示,超7成集团型企业的首次BI试点项目因跨业务单元权限冲突、数据口径混乱延期或终止(统计样本覆盖120家年营收超50亿的国内集团企业,统计窗口为2022-2024年试点项目全生命周期)。这个数据和大部…...
GNU Radio滤波器设计实战指南:从原理到高性能实现
GNU Radio滤波器设计实战指南:从原理到高性能实现 【免费下载链接】gnuradio GNU Radio – the Free and Open Software Radio Ecosystem 项目地址: https://gitcode.com/gh_mirrors/gn/gnuradio GNU Radio作为开源软件定义无线电生态系统,提供了…...
Windows驱动存储深度管理:从问题诊断到系统优化的完整解决方案
Windows驱动存储深度管理:从问题诊断到系统优化的完整解决方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 问题发现:驱动管理中的隐形痛点与风险 系…...
DeOldify开发者效率提升:10分钟集成到现有Flask/Django项目中
DeOldify开发者效率提升:10分钟集成到现有Flask/Django项目中 1. 项目简介 你是不是遇到过这样的场景:客户想要一个黑白照片上色的功能,但你完全不懂深度学习?或者想要给老照片修复应用添加AI能力,却被复杂的模型部署…...
51单片机实战:从零构建电子密码锁系统
1. 项目背景与硬件准备 第一次接触51单片机时,我就被它的实用性深深吸引。作为电子爱好者入门的最佳选择,STC89C52这款经典芯片就像乐高积木的基础模块——价格亲民(某宝20元就能买到开发板)、资源丰富(8K Flash、512…...
基于GOOSE - Transformer - LSTM的数据回归预测探索
基于GOOSE-Transformer-LSTM的数据回归预测 模型结合Transformer的全局注意力机制和LSTM的短期记忆及序列处理能力 首先,采用Transformer自注意力机制捕捉数据的全局依赖性,并输出一个经过全局上下文编码的表示;然后,采用2024年最…...
自适应陷波器的FPGA实现 作用:消除特定频率的干扰信号 包含quartus源码与models...
自适应陷波器的FPGA实现 作用:消除特定频率的干扰信号 包含quartus源码与modelsim仿真自适应陷波器 FPGA 实现 —— 从算法到硬件的完整技术解码一、引言在通信、雷达、音频以及工业测控等场景中,窄带干扰往往比宽带噪声更难处理:它能量集中、时变性强&…...
快速部署Python3.10环境:Miniconda镜像实战教学
快速部署Python3.10环境:Miniconda镜像实战教学 1. 为什么选择Miniconda搭建Python环境? 在Python开发中,最让人头疼的问题之一就是环境管理。不同项目可能需要不同版本的Python和依赖库,直接安装会导致版本冲突。Miniconda提供…...

