第六章 进程总结

Posted EasternCabbage

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六章 进程总结相关的知识,希望对你有一定的参考价值。

进程是可执行程序的实例

程序是包含了一系列信息的文件,这些信息描述了如何在运行时创建一个进程,有如下信息

1:二进制格式标识符:执行方式

2:机器语言指令:对程序算法进行编码

3:程序入口地址:标识程序执行时的起始指令位置

4:数据:各种变量和常量

5:符号表和重定位表

6:共享库和动态链接库

7:许多其他信息

 

每个进程有一个进程号PID,每个进程有自己父进程号,getppid()可以获取父进程号。

子进程的父进程终止,子进程就会变成“孤儿”,pstree可以查看“家族书“(family tree)

 

进程内存布局

每个进程分配的内存由很多部分组成,通常称之为”段(Segment)“

文本段:包含了程序运行的程序机器语言指令。
初始化数据段:包含显式初始化的全局变量和静态变量
未初始化数据段:包含了未显式初始化的全局变量和静态变量(BSS段)
栈(Stack):是一个动态增长收缩的段,由栈帧(stack frames)组成。系统会为每个当前调用的函数分配一个栈帧。栈帧中储存了函数的局部变量,实参和返回值
堆(heap):是运行时为(变量)动态进行内存分配的一块区域。

 

 

 

虚拟内存(6.4节的讲解实在牛b,看的我十分佩服,对虚拟内存有了更深入的理解)

上述的进程内布局忽略了一个事实,内存布局是存在虚拟内存中的。

linux,像大多数现代内核一样,采用了虚拟内存管理技术,此技术利用了大多数程序共有的典型特性,即局部访问性,以求高效使用CPU和RAM(物理内存)。有这两种类型的局部性。

以上是关于第六章 进程总结的主要内容,如果未能解决你的问题,请参考以下文章

第六章总结

操作系统概念笔记——第六章:进程同步

第六章总结

第六章总结

数据结构第六章学习总结

第六章作业和总结