魏蓝

以梦为马

导航

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

posted on 2022-03-13 17:56  魏蓝  阅读(132)  评论(0编辑  收藏  举报