2026/1/25 15:19:49
网站建设
项目流程
wdcp设置网站安全,网站建设实训心得,注册公司在哪个网站,网站html地图导航代码以下是针对您提供的关于进程的笔记内容的整理和解释。我将以清晰的结构帮助您逐步理解这些操作系统概念。内容基于标准的操作系统知识#xff0c;确保真实可靠。1. 进程的含义进程是一个程序在执行过程中的动态实体#xff0c;它涉及内存资源的分配和 CPU 的调度。进程的核心…以下是针对您提供的关于进程的笔记内容的整理和解释。我将以清晰的结构帮助您逐步理解这些操作系统概念。内容基于标准的操作系统知识确保真实可靠。1. 进程的含义进程是一个程序在执行过程中的动态实体它涉及内存资源的分配和 CPU 的调度。进程的核心是PCBProcess Control Block这是一个系统维护的结构体用于存储进程的状态信息。PCB 包含了进程的元数据和执行上下文确保系统能有效地管理和调度进程。PCB 中的关键内容PCB 存储了多种信息包括但不限于PID进程标识符唯一标识进程的数字。当前工作路径chdir进程当前所在的目录路径。umask文件创建时的默认权限掩码例如0002。进程打开的文件列表在文件 I/O 操作中提到的文件句柄。信号相关设置处理异步 I/O 和信号的配置。用户 ID 和组 ID进程的所有者和所属组用于权限控制。进程资源的上限通过命令ulimit -a可以显示这些上限如内存、文件描述符等资源限制。2. 进程与程序的区别程序是静态的代码和数据集合存储在硬盘中而进程是程序执行的动态过程包括创建、调度和消亡。关键区别包括持久性程序是永存的例如.c文件编译成a.out进程是临时的例如运行a.out生成进程 PID。状态变化进程有状态变化如就绪、执行、阻塞程序没有。并发性进程可以并发运行宏观并行程序本身不具备并发性。资源竞争进程间会竞争计算机资源如 CPU、内存而程序只是代码。关系一个程序可以运行多次生成多个进程如多次运行a.out一个进程可以运行一个或多个程序如通过系统调用。3. 虚拟内存虚拟内存是操作系统提供的一种机制用于隔离和保护进程的内存空间隔离性在多进程环境中一个进程如进程 A不能直接访问另一个进程如进程 B的内存空间防止数据冲突。安全性Linux 内核运行在内存中通过权限控制限制进程对内核的访问非任意访问。内存分布在 Linux 中虚拟地址空间分为0-3G用户空间供进程使用。3G-4G内核空间供操作系统使用。地址映射虚拟地址通过 MMU内存管理单元映射到物理内存或虚拟内存页大小通常为4K。4. 进程分类基于功能和用途进程可分为三类交互式进程用户交互式任务如命令行工具。批处理进程自动化任务如 shell 脚本。守护进程后台服务持续运行如系统守护进程。进程的主要作用是实现并发操作系统在一个时间段内同时运行多个任务的能力。例如一个进程可能包含多个循环如while(1)并发执行不同任务如处理视频和用户输入。5. 进程的状态进程的状态描述了其执行阶段基本状态模型三状态就绪态进程准备运行等待 CPU 分配。执行态进程正在运行。阻塞态进程等待资源如 I/O处于睡眠状态。Linux 扩展状态运行态正在执行。睡眠态等待事件。僵尸态进程已终止但父进程尚未回收。暂停态被信号暂停如SIGSTOP。6. 进程调度与上下文切换由于系统中多个进程竞争有限的 CPU 资源操作系统需要调度策略调度算法常见算法包括时间片轮转每个进程运行固定时间、短任务优先优先调度短进程、优先级调度、完全公平调度算法CFS。并发机制宏观上并行多个进程在时间段内同时运行微观上串行某一时刻只有一个进程运行。上下文切换当进程的时间片耗尽如从进程 A 切换到 B系统保存当前进程的状态PCB、寄存器、PC 等到内存或硬盘并加载下一个进程的状态。这确保了进程间的无缝切换。相关命令ps aux显示所有进程的详细信息。topLinux 的任务管理器实时监控进程。kill发送信号给进程如kill -9 PID强制终止指定进程。killall -9 a.out终止所有名为a.out的进程。7. 相关函数以下是进程操作的关键函数fork()pid_t fork(void);功能创建一个子进程。一次调用返回两次父进程和子进程各返回一次。执行顺序不确定子进程或父进程先运行。变量不共享。细节子进程复制父进程的用户空间0-3G和 PCB但 PID 不同。子进程从fork后开始执行与父进程共享相同代码逻辑。返回值父进程成功时返回子进程 PID0失败返回-1。子进程成功时返回0失败无返回值。getpid()pid_t getpid(void);功能获取调用进程的 PID。参数无。返回值进程的 PID。getppid()pid_t getppid(void);功能获取调用进程的父进程 PID。参数无。返回值父进程的 PID。这个解释覆盖了您提供的所有关键点。如果您有特定问题或需要更深入讨论某个部分请随时补充