linux进程和内存管理了解
1.进程简介
1)运行中的一个程序的一个副本,是被载入内存的一个指令集合,是资源分配的单位
2)查看所有进程(两种):
[root@centos8 ~]# pstree -p #花括号的为线程 [root@centos8 ~]# ll /proc/ #目录里的数字其实就是进程文件 #在这些文件中含有一个名为"status"的文件,其中就显示了线程信息
[root@centos8 ~]# cat /proc/711/status
3)线程
可以把进程比作一个组织,而线程就是其中的员工,资源共享,每个线程也有私有资源比如:栈等。
4)协程
通过代码实现,可以理解为一个函数
2.进程结构
进程和进程之间会构成一个进程列表(the task lisk)由一个内存空间存储,构成一个双向循环链表,中间有指针双向连接,每个进程都存放在一个项(PCB)中。
3.进程相关概念
Page Frame:页框,用于存储页面数据,存储Page4k
查看:
[root@centos8 ~]# getconf -a | grep -i size
4.物理地址空间和虚拟地址空间
MMU:Memory Management Unit 负责虚拟地址转换为物理地址
程序在访问一个内存地址指向的内存时,CPU不是直接把这个地址送到内存总线上,而是被送到 MMU(Memory Management Unit),然后把这个内存地址映射到实际的物理内存地址上,然后通过总 线再去访问内存,程序操作的地址称为虚拟内存地址
TLB:Translation Lookaside Buffer 翻译后备缓冲区,用于保存虚拟地址和物理地址映射关系的缓存
写于2022-3-13-17:56