1 程序 & 进程 & 内存
程序(program):当我们使用命令行shell执行passwd这个指令,shell会找到passwd对应可执行binarfy file.这个可执行binary file就是所谓的程序(program)
进程(process):当我们执行binary file ,操作系统内核会将程序的执行者的权限与属性、程序可执行binary file,以及依赖包等加载到内存中将执行运行起来的程序在操作系统中称为进程
内存(process):用来存放程序运行的binary file以及依赖。同时存放程序运行中产生的中间数据地方。
我们可以执行一个项目当成执行一个项目,项目执行依赖项目执行计划书里指令一行一行的执行(程序binarfy file),项目执行的计划书必须放到项目会议室中存储(内存),同时项目执行会产生一些中间结果数据同样需要放在会议室中存储(内存)。
2 物理内存
物理内存则分隔成一块一块的页,每一个页的大小为4KB小空间,每一个页对应一个物理地址。
物理内存和会议室一样,它被分隔一个一个小的空间,每一个空间都对应着一个编号,比如3F-10,用来表示三楼十号会议室房间物理地址。
3 虚拟地址
操作系统内核存在内存管理模块,而公司同样需要会议室管理部门。如果每一个项目都随意使用会议室很可能导致项目运行中数据错乱。比如A项目产生的数据被B项目覆盖。
为了保证每一个进程使用的内存都是封闭内存空间,操作系统的内核会为每一个进程分配虚拟地址空间,每一个虚拟地址都可以在CPU内核页表中找到对应物理地址。
每一个进程被分配虚拟地址空间,和虚拟地址编号是相同连续一段数字,但每一个进程相同虚拟地址对应的物理地址是不相同
image4 页表
用来管理操作系统的物理地址和虚拟地址的内存映射。
网友评论