为什么函数返回值, 会被外部拿到呢?
我们的返回值其实是先给了寄存器, 再由寄存器给外部
计算机怎么知道我们的当前进程,执行到哪行代码了?
cou内有一个程序寄存器(pc
指针 || eip), 他会记录当前进程正在执行的指令的下一行的地址。当cpu 执行完当前代码后, 就会去pc里找下一行代码, 而pc又会自动去记录下一行的地址
cpu内的的寄存器里保存的是进程的相关数据
(对其进行访问和修改), 进程在从CPU
上离开的时候,要将自己的上下文数据保存好
甚至是直接带走
,保存的目的是是为了未来再执行的时候恢复现场
所以 进程在被切换的时候要经历两个过程
1 保存上下文
2 恢复上下文
环境变量
基本概念
先讲一点实例
为什么我们在使用which
时系统能帮我们找到他在哪?
PATH
以:
为分隔符, 存储了很多的路径, 这些路径, 通常都是我们在执行指令时候, 系统去查找指令的地方。
我们称这个环境变量为Linux 中的指令搜索路径
;
如果我们将我们自己编写的程序放进这个环境变量包含的目录里, 或者是, 将其所在的地址设置进环境变量里, 我们就可以将执行指令一样去执行我们的程序了
这里我们只演示第二种
如何往PATH添加环境变量
注意
:等于是直接覆盖, 所以如果不加上$PATH
的话, 原本设置的环境变量就会被覆盖,其中,$PATH
就是环境变量里包含的内容
成功添加进去了
发现现在运行可执行程序不需要带路径了;
用which
也能直接找到我们的可执行程序了
如果我们