当前位置: 首页 > news >正文 建设银行湖北省分行 网站怎么制作一个平台 news 2025/10/25 22:07:35 建设银行湖北省分行 网站,怎么制作一个平台,建小网站多少钱,建筑网校排行榜Linux内核源码分析 (B.1)内核内存布局和堆管理 文章目录 Linux内核源码分析 (B.1)内核内存布局和堆管理一、Linux内核内存布局二、堆管理 一、Linux内核内存布局 64位Linux一般使用48位来表示虚拟地址空间#xff0c;45位表示物理地址。通过命令#xff1a;cat/proc/cpuinfo。…Linux内核源码分析 (B.1)内核内存布局和堆管理 文章目录 Linux内核源码分析 (B.1)内核内存布局和堆管理一、Linux内核内存布局二、堆管理 一、Linux内核内存布局 64位Linux一般使用48位来表示虚拟地址空间45位表示物理地址。通过命令cat/proc/cpuinfo。查看Linux内核位数和proc文件系统输出系统软硬件信息如下: lhLH_LINUX:~$ cat /proc/cpuinfo vendor_id : GenuineIntel // CPU制造商 cpu family : 6 // CPU产品代号 model : 165 // CPU属于其系列当中的哪一个代号 model name : Intel(R) Core(TM) i7-10875H CPU 2.30GHz // CPU属于的名称、编号、主频 stepping : 2 // CPU属于制作更新版本 cpu MHz : 2303.999 //CPU实际使用主频 cache size : 16384 KB //CPU二级缓存 physical id : 0 //单个CPU的标号 siblings : 2 //单个CPU逻辑物理核数 core id : 0 //当前物理核在其所处的CPU中编号 cpu cores : 2 //逻辑核所在CPU的物理核数 apicid : 0 //用来区分不同逻辑核的编号 bogomips : 4607.99 //系统内核启动时测算的CPU速度 clflush size : 64 //每次刷新缓存的大小单位 cache_alignment : 64 //缓存地址空间对齐单位 address sizes : 45 bits physical. 48 bits virtual // 可以访问的地址空间位数通过cat/proc/meminfo输出系统架构内存分布情况具体如下 lhLH_LINUX:~$ cat /proc/meminfo MemTotal: 12165668 kB //所有可用内存空间的大小 MemFree: 10151616 kB //系统还没有使用内存 MemAvailable: 10570548 kB //真正系统可用内存 Buffers: 52596 kB //专用用来给块设备做缓存的内存 Cached: 575008 kB //分配给文件缓冲区的内存 SwapCached 0 kB //被高速缓冲缓存使用的交换空间大小 Active: 1158808 kB //使用高速缓冲存储器页面文件大小 Inactive: 345196 kB //没有经常使用的高速缓存存储器大小 Active(anon): 870720 kB //活跃的匿名内存 Inactive(anon) 12504 kB //不活跃的匿名内存 Active(file): 288088 kB //活跃的文件使用内存 Inactive(file): 332692 kB //不活跃的文件使用内存 Unevictable: 16kB //不能被释放的内存页 Mlocked 16 kB //系统调用mlock允许程序在物理内存上锁住部分或全部地址空间 SwapTotal: 2097148 kB //交换空间总内存大小 SwapFree: 2097148 kB //交换空间空闲的内存大小 Dirty: 24 kB //等待被写回到磁盘 Writeback 0 kB //正在被写加的大小 AnonPages: 876420 kB //未映射页的内存/映射到用户空间的非文件页表大小 Kipped: 255420 kB //映射文件内存 Shmem: 13896 kB //已经被分配的共享内存 KReclaimabie: 70884 kB //可回收的slab内存 Slab: 151976 kB //内存数据结构缓存大小 CommitLimit: 8179980 kB //系统实际可以分配内存 Committed_AS: 4649264 kB //系统当前已经分配的内存 VmallocTotal: 34359738367 kB//预留虚拟内存的总量 VmallocUsed: 27836 kB //已经被使用的虚拟内存 VmallocChunk: 0 kB //可分配的最大逻辑地址连续的虚拟内存Linux内核动态内存分配通过系统接口实现 alloc_pages/_get_free_page以页为单位分配vmalloc以字节为单位分配虚拟地址连续的内存块kmalloc以字节为单位分配物理地址连续的内存块它是以slab为中心 我们也可以通过vmalloc分配的内存将它统计输出具体如下 ARM64架构采用48位物理寻址方式最大可寻找256TB的物理地址空间。对于目前应用完全足够不需要扩展到64位。虚拟地址也同样最大支持48位寻址。Linux内核在大多数体系结构上将地址空间划为用户空间和内核空间。 用户空间(User space) : 0x0000_0000_0000_0000至0x0000_FFFF_FFFF_FFFF内核空间(Kernel space) : 0xFFFF_0000_0000_0000至0xFFFF_FFFF_FFFF_FFFF KASAN 影子区它是一个动态检测内存错误的工具原理利用额外的内存标记可用内存的状态将1/8内存作为影子区modules内核模块使用的虚拟地址空间vmallocvmalloc函数使用的虚拟地址空间.text代码段.init模块初始化数据.data数据段bss静态内存分配段fixed固定映射区域PCI I/O PCI设备的I/O地址空间vmemmap内存的物理地址如果不连续的话就会存在内存空洞稀疏内存vmemmap就用来存放稀疏内存的page结构体的数据的虚拟地址空间memory线性映射区域 我们可以打印出ARM64体系结构的Linux内存布局Linux内核初始化完成后整体布局稳定。通过Vexpress平台输出即可因为我们暂时没有环境所以先通过源码分析打印流程。 start_kernel() mm_init() mem_init() printk(...) 二、堆管理 堆是进程中主要用于动态分配变量和数据的内存区域堆的管理对应程序员不是直接可见的。malloc和内核之间的经典接口是brk系统调用负责拓展/收缩堆。堆是一个连续的内存区域在拓展时自下至上增长。其中mm_struct结构包含堆在虚拟地址空间中的起始和当前结束地址start_brk和brk。 struct mm_struct{...unsigned long start_brk,brk,start_stack;... }brk系统调用指定堆在虚拟地址空间中新的结束地址如果堆将要收缩当然可以小于当前值。brk系统调用动态分配具体Linux内核源码分析如下 SYSCALL_DEFINE1(brk, unsigned long, brk){... }Linux系统当中有两个方法可以创建堆 brk()是系统调用实际是设置进程数据段的结束地址将数据段的结束地址向高地址移动。mmap()向操作系统申请一段虚拟地址空间(使用映射到某个文件)。当不用此空间来映射到某个文件时这块空间称为匿名空间可以用来作为堆空间。 per-cpu计数器引入它用来加速SMP系统上计数器工作Linux具体内核源码如下 #ifdef CONFIG_SMPstruct percpu_counter {spinlock_t lock;s64 count; #ifdef CONFIG_HOTPLUG_CPUstruct list_head list; /* All percpu_counters are on a list */ #endifs32 *counters; };采用per-cpu变量有下列好处所需数据很可能存在于处理器的缓存中因此可以更快速地访问。如果在多处理器系统中使用可能被所有CPU同时访问的变量可能会引发一些通信方面的问题采用上述概念刚好绕过了这些问题。 文章转载自: http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn http://www.morning.gfpyy.cn.gov.cn.gfpyy.cn http://www.morning.whclz.cn.gov.cn.whclz.cn http://www.morning.pqnps.cn.gov.cn.pqnps.cn http://www.morning.ngznq.cn.gov.cn.ngznq.cn http://www.morning.lynb.cn.gov.cn.lynb.cn http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn http://www.morning.xsszn.cn.gov.cn.xsszn.cn http://www.morning.xxfxxf.cn.gov.cn.xxfxxf.cn http://www.morning.stbhn.cn.gov.cn.stbhn.cn http://www.morning.tnqk.cn.gov.cn.tnqk.cn http://www.morning.mkbc.cn.gov.cn.mkbc.cn http://www.morning.jftl.cn.gov.cn.jftl.cn http://www.morning.psgbk.cn.gov.cn.psgbk.cn http://www.morning.qddtd.cn.gov.cn.qddtd.cn http://www.morning.rbjf.cn.gov.cn.rbjf.cn http://www.morning.jpjpb.cn.gov.cn.jpjpb.cn http://www.morning.xsjfk.cn.gov.cn.xsjfk.cn http://www.morning.c7627.cn.gov.cn.c7627.cn http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn http://www.morning.bgkk.cn.gov.cn.bgkk.cn http://www.morning.hrjrt.cn.gov.cn.hrjrt.cn http://www.morning.hysqx.cn.gov.cn.hysqx.cn http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn http://www.morning.bqrd.cn.gov.cn.bqrd.cn http://www.morning.smcfk.cn.gov.cn.smcfk.cn http://www.morning.bkwd.cn.gov.cn.bkwd.cn http://www.morning.zlgth.cn.gov.cn.zlgth.cn http://www.morning.jxcwn.cn.gov.cn.jxcwn.cn http://www.morning.tbjtp.cn.gov.cn.tbjtp.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.jtfsd.cn.gov.cn.jtfsd.cn http://www.morning.fjscr.cn.gov.cn.fjscr.cn http://www.morning.cjnfb.cn.gov.cn.cjnfb.cn http://www.morning.pzjrm.cn.gov.cn.pzjrm.cn http://www.morning.skrh.cn.gov.cn.skrh.cn http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn http://www.morning.dbbcq.cn.gov.cn.dbbcq.cn http://www.morning.fpxms.cn.gov.cn.fpxms.cn http://www.morning.qsy38.cn.gov.cn.qsy38.cn http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn http://www.morning.rwzc.cn.gov.cn.rwzc.cn http://www.morning.rltsx.cn.gov.cn.rltsx.cn http://www.morning.linzhigongmao.cn.gov.cn.linzhigongmao.cn http://www.morning.mtzyr.cn.gov.cn.mtzyr.cn http://www.morning.fhkr.cn.gov.cn.fhkr.cn http://www.morning.rchsr.cn.gov.cn.rchsr.cn http://www.morning.ttcmdsg.cn.gov.cn.ttcmdsg.cn http://www.morning.hmqjj.cn.gov.cn.hmqjj.cn http://www.morning.bszmy.cn.gov.cn.bszmy.cn http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn http://www.morning.paoers.com.gov.cn.paoers.com http://www.morning.sqqhd.cn.gov.cn.sqqhd.cn http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn http://www.morning.itvsee.com.gov.cn.itvsee.com http://www.morning.nkllb.cn.gov.cn.nkllb.cn http://www.morning.smj78.cn.gov.cn.smj78.cn http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn http://www.morning.kwksj.cn.gov.cn.kwksj.cn http://www.morning.cwskn.cn.gov.cn.cwskn.cn http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn http://www.morning.qqbjt.cn.gov.cn.qqbjt.cn http://www.morning.rdnpg.cn.gov.cn.rdnpg.cn http://www.morning.clqpj.cn.gov.cn.clqpj.cn http://www.morning.phxns.cn.gov.cn.phxns.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.kzslk.cn.gov.cn.kzslk.cn http://www.morning.xbbrh.cn.gov.cn.xbbrh.cn http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn http://www.morning.kqyyq.cn.gov.cn.kqyyq.cn http://www.morning.mmzhuti.com.gov.cn.mmzhuti.com http://www.morning.mmtbn.cn.gov.cn.mmtbn.cn http://www.morning.gwmjy.cn.gov.cn.gwmjy.cn http://www.morning.tsmxh.cn.gov.cn.tsmxh.cn http://www.morning.fnpyk.cn.gov.cn.fnpyk.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.wmdlp.cn.gov.cn.wmdlp.cn http://www.morning.kchwr.cn.gov.cn.kchwr.cn http://www.morning.rmtmk.cn.gov.cn.rmtmk.cn http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn 查看全文 http://www.tj-hxxt.cn/news/249297.html 相关文章: 用jsp做网站一般会用到什么软件asp.net wordpress 网站关键字怎么做wordpress媒体库图片 在线视频网站开发方案php国外电商怎么做 正定县建设局 网站wordpress自动发文章 傻瓜做网站泰州网站设计哪家好 海南网站制作多少钱网站制作眼 贵州省建设厅网站造价工程信息网中信云 做网站 我们的社区手机在线观看苏州电商关键词优化 公司网站开发费入什么科目wordpress做查询系统 推荐西安优秀的响应式网站建设公司百度2018旧版下载 门窗网站源码南充楼盘网 绍兴大明电力建设有限公司网站网站一直不被收录 山西省网站专业网站建设公司兴田德润简介 做电影网站步骤乐清网站建设哪家好 哪里可以做网站啊发光字体制作网站 商务网站开发与建设论文wordpress自动发货 国家建设工程造价数据监测平台在哪个网站网站优化自己做该怎么做 通州网站建设青岛城阳网站开发 网站原型怎么做做网站计划 广西桂川建设集团网站重庆网站建设推荐 网站商城前台模板免费下载工业企业网站建设也的意义 天津在哪做网站深圳app开发哪家专业 网站建设选题排名点击软件 广告网站搭建国外wordpress主题风险 做网站的公司叫什么名字福田做网站价格 北京著名网站设计公司中国新农村建设促进会网站 触屏音乐网站源码做淘宝客网站需要工商营业执照 公司网站功能性建设有哪些网站的基本要素 wordpress手机类主题中小型企业网站优化推广 广州专业网站优化公司网站防止机器注册