当前位置: 首页 > news >正文

0802|IO进程线程 day5 进程概念

一、进程的基础

1.1 什么是进程

1)进程程序一次执行过程

  • 程序:是静态的,它是存储在外存上的可执行二进制文件;
  • 进程:动态的概念,它是程序的一次执行过程,包括了进程的创建,调度、消亡,是存在于内存中的。

2)进程是独立的,可以被CPU调度的任务

  • Linux中的调度机制:时间片轮询机制;
  • 操作系统会给每一个进程分配时间片,当时间片结束后,cpu资源会切走,当前进程等待下一次调度。

3)进程在被调度的时候,系统会分配和释放各种资源(CPU资源,内存资源,进程调度块(PCB))。

1.2 进程的五种状态及五态图

五种状态:

  1. 创建态
  2. 就绪态
  3. 运行态
  4. 阻塞态
  5. 终止态

ps:进程运行过程中有5种种状态,运行态只是进程运行过程中的一种状态。

五态图:

1.3 进程的内存分布【重点】

1)内存分布

  1. 在Linux操作系统中,每个进程都会被分配4G的内存空间(虚拟内存);
  2. 其中0-3G是用户空间代码使用,每个进程相互独立;
  3. 其中3-4G是内核空间,所有进程共享。

每个进程的用户空间都有自己独立的区:

1> 静态存储区 2> 堆区 3> 栈区

2)虚拟内存和物理内存

虚拟内存和物理内存之间的关系--->映射关系

物理内存:

  • 硬件上(内存条上)真正存在的存储空间。

虚拟内存:

  • 程序启动后,会分配4G的虚拟地址空间,用户只能访问到虚拟地址空间。当要使用的时候,由虚拟地址映射到物理地址上。
  • 32位操作系统,指针变量的大小为4bytes,取值范围为[0, 2^32-1],所以寻址范围为4G
  • 64位操作系统,指针变量的大小为8bytes,只取了前48bit存储地址,所以寻址范围是256TB

虚拟内存的目的:

  • 动态分配内存。

 

1.4 进程是资源分配的最小单位【重点】

以进程为单位分配和释放各种资源。

  1. 内存资源的申请和释放;
  2. 文件描述符表:每个进程都有自己的1024个文件描述符;
  3. 时间片;
  4. 管理自己的虚拟地址空间,使用的时候映射到物理地址上;

... ...

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&#xff09;进程是程序的一次执行过程 程序&#xff1a;是静态的&#xff0c;它是存储在外存上的可执行二进制文件&#xff1b;进程&#xff1a;动态的概念&#xff0c;它是程序的一次执行过程&#xff0c;包括了进程的创建&#xff0c;调度、…...

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关联怎么处理

对于亚马逊买家账号&#xff0c;同样需要注意IP关联问题。在亚马逊的眼中&#xff0c;如果多个买家账号共享相同的IP地址&#xff0c;可能会被视为潜在的操纵、违规或滥用行为。这种情况可能导致账号受到限制或处罚。 处理亚马逊买家账号IP关联问题&#xff0c;建议采取以下步骤…...

NO4 实验四:生成Web工程

1、说明 使用 mvn archetype&#xff1a;generate 命令生成 Web 工程时&#xff0c;需要使用一个专门的 archetype。这个专门生成 Web 工程骨架的 archetype 可以参照官网看到它的用法&#xff1a; 2、操作 注意&#xff1a;如果在上一个工程的目录下执行 mvn archetype&…...

【linux】进程

文章目录 前言一、概念基本概念进程-PCBtask_structtask_struct内容分类 二、查看和创建进程查看进程PID创建进程 三、进程状态五、僵尸进程和孤儿进程僵尸进程孤儿进程获取进程退出码 四、进程优先级基本概念查看系统进程PRI and NI用top命令更改已存在进程的nice 前言 我们常…...

电商高并发设计之SpringBoot整合Redis实现布隆过滤器

文章目录 问题背景前言布隆过滤器原理使用场景基础中间件搭建如何实现布隆过滤器引入依赖注入RedisTemplate布隆过滤器核心代码Redis操作布隆过滤器验证 总结 问题背景 研究布隆过滤器的实现方式以及使用场景 前言 本篇的代码都是参考SpringBootRedis布隆过滤器防恶意流量击穿缓…...

SpringBoot第25讲:SpringBoot集成MySQL - MyBatis 注解方式

SpringBoot第25讲&#xff1a;SpringBoot集成MySQL - MyBatis 注解方式 本文是SpringBoot第25讲&#xff0c;上文主要介绍了Spring集成MyBatis访问MySQL&#xff0c;采用的是XML配置方式&#xff1b;我们知道除了XML配置方式&#xff0c;MyBatis还支持注解方式。本文主要介绍Sp…...

服务器返回 413 Request Entity Too Large

问题 上传一个大于1.5M的文件时&#xff0c;报错&#xff1a;413 Request Entity Too Large 使用的配置 1、用的是docker环境&#xff0c;还有一层代理&#xff0c;代理用的镜像是&#xff1a;jwilder/nginx-proxy 2、docker里是有php和nginx 确认配置 docker里的php和ngi…...

如何一目了然地监控远程 Linux 系统

动动发财的小手&#xff0c;点个赞吧&#xff01; Glances 是一款免费的开源、现代、跨平台、实时 top 和类似 htop 的系统监控工具&#xff0c;与同类工具相比&#xff0c;它提供了先进的功能&#xff0c;并且可以在不同的模式下运行&#xff1a;作为独立模式、客户端/服务器模…...

9.环境对象和回调函数

9.1环境对象 指的是函数内部特殊的变量this&#xff0c;它代表着当前函数运行时所处的环境 作用&#xff1a; 弄清楚this的指向&#xff0c;可以让我们代码更简洁 ➢函数的调用方式不同&#xff0c;this指代的对象也不同 ➢[谁调用&#xff0c;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 定时任务不按照规定时间执行

这里写目录标题 使用异步启动可能出现的问题排查代码中添加的定时任务步骤是否正确排查是否任务阻塞&#xff0c;如果定时任务出现异常阻塞后&#xff0c;将不会在次执行java中多个Scheduled定时器不执行为了让Scheduled效率更高&#xff0c;我们可以通过两种方法将定时任务变成…...

Android复习(Android基础-四大组件)—— Activity

Activity作为四大组件之首&#xff0c;是使用最为频繁的一种组件&#xff0c;中文直接翻译为"活动"&#xff0c;不过如果被翻译为"界面"会更好理解。正常情况&#xff0c;除了Window&#xff0c;Dialog和Toast &#xff0c; 我们能见到的界面只有Activity。…...

Linux系统安装部署MongoDB完整教程(图文详解)

前言&#xff1a;本期给大家分享一下目前最新Linux系统安装部署MongoDB完整教程&#xff0c;我的服务器采用的是Centos7&#xff0c;在部署之前我重装了我的服务器&#xff0c;目的是为了干净整洁的给大家演示我是如何一步步的操作的&#xff0c;整体部署还是挺简洁&#xff0c…...

CSS图片放到<div>里面,自适应宽高全部显示,点击图片跳到新页面预览,点击旋转按钮图片可旋转

有一个需求是图片放到一个固定宽高的<div>里面&#xff0c;不管是横图还是竖图&#xff0c;都要全部显示出来并且保持图片的长宽比例不变形&#xff0c;点击图片可以跳到一个新页面预览&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html> <head>…...

二阶段web基础与http协议

dns与域名 网络是基于tcp/ip协议进行通信和连接的 应用层-----传输层-----网络层-----数据链路层-----物理层 ip地址&#xff0c;每一台主机都有一个唯一的地址标识&#xff08;固定的ip地址&#xff09; 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&#xff08;XML Path Language&#xff09;是一种用于在XML文档中定位和选择节点的语…...

字符串匹配-KMP算法

KMP算法&#xff0c;字符串匹配算法&#xff0c;给定一个主串S&#xff0c;和一个字串T,返回字串T与之S匹配的数组下标。 在学KMP算法之前&#xff0c;对于两个字符串&#xff0c;主串S&#xff0c;和字串T&#xff0c;我们根据暴力匹配&#xff0c;定义两个指针&#xff0c;i指…...

OpenClaw初学者套装:Qwen3.5-9B镜像+5个基础技能

OpenClaw初学者套装&#xff1a;Qwen3.5-9B镜像5个基础技能 1. 为什么选择这个组合&#xff1f; 上周六下午&#xff0c;我盯着电脑里散落各处的会议纪要、参考文章和代码片段&#xff0c;突然意识到自己每天要重复几十次"CtrlF→切换窗口→复制粘贴"的操作。作为一…...

Neosegment库:面向七段数码管式NeoPixel的嵌入式驱动框架

1. Neosegment库概述&#xff1a;面向七段数码管式NeoPixel模块的嵌入式驱动框架Neosegment是一个专为Neosegment Digit模块设计的Arduino兼容嵌入式驱动库&#xff0c;其核心目标是将WS281x/SK6812系列智能LED的底层时序控制与七段数码管&#xff08;7-segment display&#x…...

【FMCW雷达】频率调制连续波FMCW雷达系统(从波形生成到利用小胞平均常误报率CA-CFAR进行目标检测)【含Matlab源码 15242期】含报告

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;Matlab武动乾坤博客之家&#x1f49e;…...

构建企业级AI智能体:LangGraph多智能体框架实战指南

构建企业级AI智能体&#xff1a;LangGraph多智能体框架实战指南 【免费下载链接】langgraph Build resilient language agents as graphs. 项目地址: https://gitcode.com/GitHub_Trending/la/langgraph 在当今AI应用开发中&#xff0c;开发者面临着一个核心挑战&#x…...

高效医学知识图谱构建方案:CMeKG工具自动化处理中文医学文本技术深度解析

高效医学知识图谱构建方案&#xff1a;CMeKG工具自动化处理中文医学文本技术深度解析 【免费下载链接】CMeKG_tools 项目地址: https://gitcode.com/gh_mirrors/cm/CMeKG_tools 在医疗信息化与人工智能深度融合的今天&#xff0c;中文医学知识图谱构建面临严峻的技术挑…...

大数据:Hadoop(Yarn)

第1章 Yarn资源调度器Yarn是一个资源调度平台&#xff0c;负责为运算程序提供服务器运算资源&#xff0c;相当于一个分布式的操作系统平台&#xff0c;而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。1.1 Yarn基础架构1.2 Yarn工作机制&#xff08;1&#xff09;…...

三星 Infinite AI 葡萄酒冰箱:智能厨房新尝试能否突围?

AI 加持&#xff0c;葡萄酒管理新体验周一&#xff0c;三星推出了 Infinite AI 葡萄酒冰箱&#xff0c;目前仅在韩国有售。这款冰箱采用了“AI 葡萄酒管理器”&#xff0c;借助安装在顶部的“AI 视觉”摄像头&#xff0c;能检测用户放入或取出的酒瓶及位置&#xff0c;还能分析…...

当相机位姿已知:利用COLMAP从稀疏到稠密重建的实战指南

1. 环境准备与数据格式转换 在开始COLMAP重建之前&#xff0c;我们需要确保环境配置正确&#xff0c;并完成相机位姿数据的格式转换。COLMAP支持Windows、Linux和macOS系统&#xff0c;但为了获得最佳性能&#xff0c;建议使用配备NVIDIA显卡的机器&#xff0c;并安装CUDA加速版…...

PyTorch 2.8镜像真实效果:物理实验→电磁场/流体力学可视化视频

PyTorch 2.8镜像真实效果&#xff1a;物理实验→电磁场/流体力学可视化视频 1. 开箱即用的专业级物理模拟环境 当你第一次启动这个基于RTX 4090D优化的PyTorch 2.8镜像时&#xff0c;最直接的感受就是"专业工具就该这样"。这个镜像不是普通的深度学习环境&#xff…...

基于Maxwell的750W内转子伺服电机设计:14极12槽优化方案解析

基于maxwwell设计的经典750W&#xff0c;3000RPM 内转子 私服电机&#xff0c;14极12槽&#xff0c;外径76 轴向长度56.7 &#xff0c;转矩1Nm,直流母线12V&#xff0c;辅助槽优化了齿槽转矩&#xff0c;特色是转子加工方便&#xff0c;永磁同步电机&#xff08;PMSM BLDC&…...