首页 > 系统相关 >进程地址空间(虚拟内存)

进程地址空间(虚拟内存)

时间:2023-08-13 10:56:22浏览次数:36  
标签:struct 地址 内存 进程 虚拟内存 内核

  • 进程地址空间,进程虚拟内存的管理。某个进程地址空间的全部区域可以以红黑树+链表的形式存放。
  • 内核线程没有mm_struct没有进程地址空间,没有相关的内存描述符,这也是内核线程的真实含义--它们没有用户上下文。当一个进程被调度时,该进程的mm域指向的地址空间被装载到内存,PCB中的active_mm 会更新,当一个内核线程被调度时,内核发现它的mm为空,就会保留前一个进程的地址空间,更新active_mm。
  • 每个相关的内存区域都对应一个vm_area_struct 结构体。vm_area_struct 结构体描述了指定地址空间内连续区间上的一个独立内存范围。
  • 内核使用do_mmap()创建一个新的线形地址空间,从空闲的虚拟内存中拿一块到某个进程的地址空间。do_mummap()删除一块vm_area_struct放回空闲虚拟内存中,还内存的时候肯定会释放和物理内存相关的页表项。组织虚拟内存可以用链表等数据结构。
  • 内核通过mm_struct 表示进程地址空间,内核通过vm_area_struct表示该空间的内存区域,内核通过do_mmap do_mummap 建立和撤销这些内存区域。进程地址空间的描述性数据结构的内存都是由内核动态分配的。
  • 内存管理一定是先做物理内存管理,然后才是虚拟内存管理,因为管理虚拟内存所需要的数据结构建立在物理内存管理的基础上。

标签:struct,地址,内存,进程,虚拟内存,内核
From: https://www.cnblogs.com/wuyun--wy/p/17286616.html

相关文章

  • 进程管理 & (系统调用 内核同步)
    进程管理在现代操作系统中,进程提供两种虚拟机制,虚拟处理器和虚拟内存PCB描述一个正在执行的程序:打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程。在2.6以前的版本中,PCB直接放在内核栈的尾端,或者放一个pcb_info间接索引......
  • Linux 共享内存mmap,进程通信
    @TOC前言进程间通信是操作系统中重要的概念之一,使得不同的进程可以相互交换数据和进行协作。其中,共享内存是一种高效的进程间通信机制,而内存映射(mmap)是实现共享内存的一种常见方法。一、存储映射I/O存储映射I/O是一个磁盘文件与存储空间中的一个缓冲区相映射。于是,当从缓冲......
  • 进程的基本概念
    一、进程的基本概念1、进程与程序程序是存储在磁盘上的可执行文件,程序被加载到内存中开始运行称为进程,一个程序可以同时加载成多个进程,进程就是处于活动状态下的程序2、进程的分类进程根据功能不同一般分为三种类型:交互进程、批处理进程、守护进程交互进程:由一个shell终端启......
  • python多进程运行
    多进程并行的模块:multiprocessingultiprocessing包的详解需要涉及到以下几个方面:进程类(Process):这是multiprocessing包的核心类,它用于创建和管理一个进程。进程类接受一个target参数,指定要在进程中执行的函数,以及一个args参数,指定要传递给函数的参数。进程类还有一些方法和属性,......
  • Jtti:如何删除服务器端口地址的详细步骤和实施方法
    服务器端口是网络通信中的关键要素,它们定义了服务器上特定服务的入口点。然而,有时我们需要删除不再需要或不再使用的端口地址以提高网络安全性和性能。通过本文中提供的指南和解释,读者将能够了解如何准确地删除服务器端口地址,包括常见的删除方法、重要的注意事项以及相关的实施技巧......
  • 进程间通信的6种方式
    1、管道:1)管道传输数据是单向的,如果想相互通信,需要建立两个管道。2)管道这种通信方式效率低,不适合进程间频繁地交换数据。3)优点是简单,很容易得知管道里的数据已经被另一个进程读取了。 2、消息队列:1)消息队列是保存在内核中的消息链表,AB进程互相发送消息,只要把数据放在消息队......
  • 有了 IP 地址,为什么还要用MAC地址?
    来源:网络技术平台IP地址和MAC地址可以类比生活中寄快递的过程。“在整个网络中数据被封装成数据报文进行发送,就像我们生活中寄快递时将物品放进包裹中。而数据在路由器之间的跳转也可以看作是不同地区快递小哥对物流的交接。IP地址ip地址等价于快递包裹上的收件人地址。“快递......
  • 微信支付商家转账到零钱提示:此IP地址不允许调用该接口
    微信支付商家转账到零钱提示:此IP地址不允许调用该接口在商户后台,菜单中点击“产品中心”,找到“商家转账到零钱”。点击“前往功能”,点击“接口安全”。在这里分别添加ipv4和ipv6,有时候只添加ipv4可能还会提示ip问题。就需要添加ipv6了。......
  • 记录一个,百度云直链解析的方法和地址
    百度网盘直链提取聚合API是一款免费百度网盘不限速下载工具,和以往发的百度网盘不限速工具差不多,使用方法也简单,工具把真实的文件链接解析出来,然后借助第三方工具IDM、Aria2或者Motrix等等工具进行下载,速度直接拉满,而且工具目前还是免费的,请务必低调用。 网站截图:使用教程:第......
  • 进程 线程 协程的区别
    进程进程是操作系统,进行资源分配和调度的基本单位,多个进程之间相互独立,进程的特点是稳定性好,如果一个进程崩溃,不影响其他进程,但是进程消耗资源大,开启的进程数量有限制线程线程是cpu进行资源分配和调度的基本单位,线程是进程的一部分,是比进程更小的,能独立运......