-
我们在这里拿最典型且开源的Unix/Linux平台举例:
1. 进程
进程:程序的一次动态执行过程,是操作系统管理系统活动的基本单位。从内核的角度看,进程是系统中的一个对象,它对应一个程序的执行流并且是一个资源分配(包括内存和文件等)的单位。
在Linux中,一个进程包括四个部分内容:指令段(正文段):存放程序的CPU指令代码。用户数据段:存放程序所需要的数据。用户堆栈段:程序执行所需要的堆栈空间。系统数据段:操作系统内核内的数据,每个进程对应一套数据,包括页表(page table)和进程控制块(process control block,PCB)。如下图所示:
+--------------------+ 内存低端
| 指令段 |
|----------------------|
| 用户数据段 |
|----------------------|
| 用户堆栈 |
+-------------
进程、过程调用、函数调用、堆、栈
最新推荐文章于 2023-05-12 10:31:40 发布
本文详细介绍了Unix/Linux平台上的进程,包括其组成部分如指令段、用户数据段、用户堆栈段和系统数据段。接着讨论了过程调用、函数调用的概念,以及堆和栈在内存管理中的作用。堆作为动态分配内存的区域,而栈由编译器自动管理,用于快速存取数据和传递参数。文章还提到了帧栈、帧指针和栈指针的概念,阐述了它们在过程调用中的角色。
摘要由CSDN通过智能技术生成