我们知道命令本质也是一种可执行文件,但为什么自己创建的可执行文件在执行时需要添加路径?
这是因为OS自己内置的环境变量 PATH的原因,PATH存放了各种文件的路径,当使用系统命令时,系统会自动在PATH中查询文件路径,执行路径下的与指令同名文件
echo $NAME //NAME:你的环境变量名称
显示环境变量的值

显示所有环境变量



清除环境变量
显示本地定义的shell变量和环境变量

将main函数类比成指令,通过不同选项,实现指令的子功能
获取环境变量

命令行上启动的进程,其父进程都是bash(命令行解释器)
环境变量可以被子进程继承下去。这样子进程的一些系统操作就可以实现。
语言上所说的内存是虚拟内存,并不是物理内存

本质上是进程控制块PCB中内嵌的一种数据类型
struct mm_struct
{
int codebegin;
int codeend;
int galbegin;
int galend;
...
int heapbegin;
int heapend;
..
int stackbegin;
int beginend;
};
通过算法,让虚拟内存和物理内存之间建立一种隐射,由OS管理着。
为什么同一地址会出现2个不同值?


通过页表建立好映射关系,这样就可以完成同一虚拟地址 ,存放2个不同值