- 博客(10)
- 资源 (5)
- 收藏
- 关注
原创 5.Linux内存管理----其他工程问题以及调优
文章目录一、DMA与cache的一致性一、DMA与cache的一致性1、解决方法: (1) 一致性DMA: 访问 DMA 内存区域是不带有cache的,这样cpu和外设看到的DMA的内存数据时时刻刻都是一致的 api函数: void * dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flag); void dma_free_coherent(stru
2020-12-13 12:45:00
180
原创 4.Linux内存管理----内存与IO交换
Linux内存管理第四课----内存与IO交换文章目录Linux内存管理第四课----内存与IO交换一、Page Cache二、free命令详解三、read/write 和 mmap四、swap 和 zRam五、页面回收和LRU一、Page Cache1.page cache解释:在Linux读写文件时,用于缓存文件的逻辑内容,从而加快磁上映像和数据的访问。2.产生page cache 的操作:read/write,mmap(内存映射)(1)read/write ①read: 当cpu首
2020-12-13 12:44:39
206
原创 3.Linux内存管理----进程中的内存消耗、泄露
文章目录一、VMA(virtual memory area)二、pagefault(缺页中断)三、用户空间的虚拟内存在实际物理内存的分布四、判断内存泄露一、VMA(virtual memory area)1.VMA(虚拟内存空间)概述 一个进程用结构体task_struct结构体描述。task_struct中包含内存结构体mm_struct ;mm_struct 包含虚拟内存结构体vm_area_struct。 vm_area_struct中,包含虚拟内存的用户空间的地址范围,以及该内存
2020-12-13 12:44:03
188
原创 2.Linux内存管理----内存动态申请、释放
文章目录一、内核态、用户态的内存申请和释放二、内核内存申请api三、进程申请内存的过程四、OOM(内存溢出:Out of Memory)一、内核态、用户态的内存申请和释放 Linux最底层的物理内存是通过buddy算法进行管理的,但是buddy的最小单位为页,如果我们想申请一个字节的时候,该怎么办。 在Linux内核态中,以字节为单位的申请是通过slab算法进行管理的;用户态中是通过libc进行管理的。slab和libc相当于一个二级内存分配管理器。 1、slab----内核态的
2020-12-13 12:43:27
515
原创 1.Linux内存管理----CPU寻址
文章目录一、内存寻址一、内存寻址1、cpu寻址 linux系统中,从cpu角度去访问的地址是虚拟地址;cpu将虚拟地址发送给MMU(l内存管理单元,Memory Management unit),MMU去寻找实际内存的物理地址。虚拟地址到物理地址映射关系的实现可以称之为地址转换(Address Translation)。 用户空间中,进程A切换到进程B时,MMU会把物理会把进程B的页表的基地址加载到MMU。2、页表项 页表的高20bit,表示虚拟地址的页码;低12位表示该页码的
2020-12-13 12:42:50
226
原创 解决:UBIFS error (ubi0:0 pid 684): ubifs_iget: failed to read inode 11731, error -2
文章目录一、问题日二、产生问题原因三、解决方法四、涉及到ubif文件挂载的指令一、问题日[ 31.256321] UBIFS error (ubi0:0 pid 684): ubifs_iget: failed to read inode 11731, error -2[ 31.265311] UBIFS error (ubi0:0 pid 684): ubifs_lookup: dead directory entry 'core.test.0.d8ab38090e5b49faa8f42f3
2020-11-21 19:55:09
1390
原创 Uboot网络启动根文件系统
文章目录一、静态IP启动Kernel Command二、DHCP 启动Kernel Command三、两者区别一、静态IP启动Kernel Commandconsole=ttyO0,115200n8 \root=/dev/nfs \nfsroot=10.10.41.224:/home/mozzie/nfsroot/rootfs,v3,nolock rw \ip=10.10.41.123:10.10.41.224:10.10.41.1:255.255.255.0::eth0:off二、DHCP
2020-11-21 18:18:49
497
原创 Linux更换内核Logo
文章目录一、bmp转化为ppm一、bmp转化为ppm(1) bmptoppm pic.bmp > temp1.ppm //生成ppm(2) ppmquant 224 temp1.ppm > temp2.ppm //转换成224颜色(3) pnmnoraw temp2.ppm > logo.ppm //转换成ascii格式
2020-11-21 17:55:57
300
原创 Systemd文件系统设置程序开机自启动 并 实现自启动程序的打印输出 (arm linux)
开发环境 :处理器: AM335x SDK:06_03_00_106文章目录一、编写测试程序二、创建启动脚本三、原因详解一、编写测试程序1、编写测试程序 test.c#include <stdio.h>#include <unistd.h>void main () { while (1) { printf("this is a test programmer !\n"); sleep(1
2020-10-02 17:50:44
2728
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人