目录
传统艺能😎
小编是双非本科大一菜鸟不赘述,欢迎大佬指点江山,qq-1319365055
此前博客点我!点我!请搜索博主 【知晓天空之蓝】
🎉🎉非科班转码社区诚邀您入驻🎉🎉
小伙伴们,打码路上一路向北,彼岸之前皆是疾苦
一个人的单打独斗不如一群人的砥砺前行
这是我和梦想合伙人组建的社区,诚邀各位有志之士的加入!!
直达: 社区链接点我
🎉🎉🎉倾力打造转码社区微信公众号🎉🎉🎉
1319365055)

内建命令🤔
假如我们 kill 掉 bash 进程,我们命令行中的进程就会嗝屁,所以命令行中启动的进程,父进程全部都是 bash 进程。
我们知道环境变量具有全局属性,这个全局属性的依据就是环境变量会被子进程继承下去,也就是说只要 bash 一开始就 export 了环境变量, bash 在开枝散叶后的所有子进程的环境变量都会随 bash 份子,但是本地变量不会继承。
那么问题来了,比如我定义一个本地变量,执行一个命令:
str = hello
echo $str
结果是 hello 毫无疑问,但是不是说子进程不继承本地变量吗?这里 echo 是系统指令,那么它本质上也是一个子进程,他是如何处理的本地变量呢?
其实 Linux 下大部分是通过子进程执行,但是还有一部分由 bash 自己执行,他会调用自己对应的函数来完成,这种命令我们称之为内建命令,比如 cd 命令,说白了这种命令系统可信度非常高,bash 决定自己直接执行。
地址空间🤔
我们很早就有说过地址空间的分布,就像我们说 32 位系统下指针大小是 4 字节,因为 4 正好是 32 个比特位,刚好可以表示全 0 到全 1 ,但是地址空间不是以前的非黑即白:
本文探讨了Linux进程地址空间的概念,包括虚拟地址、页表和mm_struct结构。地址空间对于维护进程独立性和保护内存至关重要。进程在执行时,虚拟地址通过页表映射到物理内存,确保了写时拷贝和独立性。同时,地址空间的统一视角简化了程序的编译和内存管理。
最低0.47元/天 解锁文章
6711

被折叠的 条评论
为什么被折叠?



