本文共 1110 字,大约阅读时间需要 3 分钟。
冯诺依曼体系结构是现代计算机的基础架构,主要包含以下组成部分:
操作系统是计算机的管理软件,主要功能包括:
从程序层面看,进程是一个正在执行的程序实例。
从系统层面看,进程是资源的拥有者,负责分配和管理系统资源(CPU、内存等)。
进程的出现可以用进程控制块(PCB)来描述,系统需要记录进程的各项属性,主要包括:
进程信息可以通过以下命令查看:
ps aux
:显示所有进程ps -elf
:显示详细进程信息top
:实时监控进程状态以下是用C语言演示的fork函数程序:
#include#include #include int main() { int ret = fork(); if (ret < 0) { perror("fork"); return 1; } else if (ret == 0) { // 子进程 printf("I am child : %d!, ret: %d\n", getpid(), ret); } else { // 父进程 printf("I am father : %d!, ret: %d\n", getpid(), ret); } sleep(1); return 0;}
进程的运行状态包括以下几种:
定义:当进程退出但父进程未调用wait/waitpid
等函数等待时,子进程会成为僵尸进程。
表现:僵尸进程占用系统资源,可能导致内存泄漏。
解决方法:
wait/waitpid
当父进程提前退出而子进程仍在运行时,子进程会被1号init进程领养,其资源由init回收。
转载地址:http://vsacz.baihongyu.com/