手机做服务器建网站泰州网站设计咨询

张小明 2025/12/31 18:48:53
手机做服务器建网站,泰州网站设计咨询,北流网站建设制作,建筑公司需求发布网站【Linux 进程详解】从 PCB 到 fork#xff0c;一篇搞懂进程核心知识作为操作系统的核心概念之一#xff0c;进程是程序运行的载体#xff0c;也是理解 Linux 系统调度、资源管理的基础。本文将从进程定义、PCB 结构、进程与程序的区别#xff0c;到虚拟内存、进程状态、调度…【Linux 进程详解】从 PCB 到 fork一篇搞懂进程核心知识作为操作系统的核心概念之一进程是程序运行的载体也是理解 Linux 系统调度、资源管理的基础。本文将从进程定义、PCB 结构、进程与程序的区别到虚拟内存、进程状态、调度机制再到fork创建子进程的实操全面梳理进程的核心知识。一、进程是什么进程是程序的一次运行过程它会占用系统的 CPU、内存等资源。而操作系统用于管理进程的核心数据结构是PCBProcess Control Block进程控制块—— 每个运行中的进程都对应一个 PCB存储着进程的关键信息如 PID、状态、资源限制等。二、PCB 的核心内容PCB 是进程的 “身份证 资源清单”以 Linux 系统为例其 PCB 包含的关键信息部分PID进程的唯一标识符运行状态如就绪、运行、阻塞等资源限制打开文件数上限默认 1024、栈大小默认 8M等文件描述符表记录进程打开的文件、设备等用户 / 组 ID进程所属的用户、组权限标识。三、进程与程序的区别很多人会混淆 “进程” 和 “程序”核心差异如下维度程序进程存在形式永久存储在磁盘的二进制文件临时运行时才存在结束后销毁状态变化无静态文件有就绪、运行、阻塞等状态切换资源占用不占用系统资源占用 CPU、内存等资源与其他实体的关系无进程间会竞争系统资源运行方式一个程序可运行多次生成多个进程一个进程对应一个程序的一次运行四、进程的虚拟内存Linux 中进程的内存空间是虚拟地址空间通过地址映射表与物理内存关联。这样做的核心目的是隔离性进程不能直接访问其他进程的内存避免相互干扰安全性通过权限控制如内核空间 / 用户空间划分防止进程非法访问系统资源。进程的虚拟地址空间通常分为多个段Code 段存储程序的代码指令Data 段存储全局变量、静态变量Heap 段动态内存分配区域如malloc申请的内存Stack 段存储函数栈帧、局部变量默认大小 8M共享区用于进程间共享数据如共享内存。五、进程的分类根据运行特性进程可分为 3 类交互式进程需要用户输入、输出的进程如 Shell、文本编辑器批处理进程后台自动运行的进程如定时任务守护进程长期运行的后台进程如sshd、nginx通常在系统启动时运行等待特定事件触发。六、进程的状态与切换进程在生命周期中会在多个状态间切换Linux 中典型的进程状态包括就绪态进程已准备好等待 CPU 调度运行态进程正在 CPU 上执行阻塞态进程等待某事件如 IO 完成、信号暂时无法运行。状态切换的触发条件就绪态 → 运行态CPU 调度该进程运行态 → 就绪态时间片耗尽或被更高优先级进程抢占运行态 → 阻塞态进程发起 IO 请求、等待信号等阻塞态 → 就绪态等待的事件完成如 IO 结束。七、进程的调度Linux 是多任务操作系统但 CPU 核心数有限因此需要进程调度来决定 “下一刻哪个进程运行”。常见的调度算法时间片轮转每个进程分配固定时间片超时则切换短任务优先优先调度运行时间短的进程进程优先级为进程设置优先级高优先级进程优先运行完全公平调度CFSLinux 默认调度算法以 “公平分配 CPU 时间” 为核心。八、进程的创建fork 函数在 Linux 中创建新进程的核心函数是fork()它会复制当前进程父进程的 PCB、地址空间等资源生成一个新进程子进程。fork 的返回值规则父进程中返回子进程的 PID大于 0子进程中返回 0创建失败返回 - 1。示例fork 创建子进程c运行#include stdio.h #include sys/types.h #include unistd.h int main() { pid_t pid fork(); if (pid 0) { // 父进程逻辑 printf(父进程PID%d子进程PID%d\n, getpid(), pid); } else if (pid 0) { // 子进程逻辑 printf(子进程PID%d父进程PID%d\n, getpid(), getppid()); } else { perror(fork失败); return 1; } return 0; }运行结果示例plaintext父进程PID1234子进程PID1235 子进程PID1235父进程PID1234九、进程相关的常用命令ps查看进程信息如ps aux查看所有进程top实时监控进程的 CPU、内存占用kill向进程发送信号如kill -9 PID强制终止进程。以上就是 Linux 进程的核心知识从概念到实操覆盖了进程的生命周期、管理、调度等关键环节。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

个人网站建设规划论文锦州网站建设市场

小红的矩阵 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有…

张小明 2025/12/31 5:23:02 网站建设

记事本做网站怎么调整图片间距电商网站建设的内容

ChronoEdit时空推理AI:重塑图像编辑的终极完整教程 【免费下载链接】ChronoEdit-14B-Diffusers 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/ChronoEdit-14B-Diffusers 在人工智能技术飞速发展的今天,图像编辑领域迎来了一场革命性的变…

张小明 2025/12/30 13:39:35 网站建设

南宁百度网站建设公司哪家好c2c网站的盈利模式有哪些

BiliTools AI总结功能:从信息过载到智能内容管理的技术突破 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit…

张小明 2025/12/30 22:21:59 网站建设

苏州cms建站asp.net网站开发实例视频教程

接触力学与摩擦学原理详解与技术应用指南 【免费下载链接】接触力学与摩擦学原理及其应用 接触力学与摩擦学原理及其应用欢迎来到本资源库!这里为您提供了一份珍贵的学习资料——《接触力学与摩擦学的原理及其应用》PDF电子书的压缩包 项目地址: https://gitcode.…

张小明 2025/12/30 17:19:38 网站建设

哪些网站做高尔夫旅游wordpress分类文章

想要快速掌握Windows系统下强大的DLL注入工具吗?Xenos作为一款专业的Windows DLL注入器,能够帮助开发者和安全研究人员实现高效的进程注入操作。本指南将带你从基础概念到实战应用,全面掌握这款强大的进程调试工具。 【免费下载链接】Xenos W…

张小明 2025/12/31 4:04:10 网站建设

宁波网站建设网站开发为什么网站显示建设中

工业控制开发实战:Keil C51 与 MDK 的安装配置全解析 在工业自动化现场,一个稳定、高效的嵌入式开发环境,往往决定了项目能否按时上线。作为8051和ARM Cortex-M两大主流架构的“黄金搭档”, Keil C51 和 Keil MDK 虽然功能强…

张小明 2025/12/29 4:00:54 网站建设