02 2022 档案
摘要:背景:字节对齐是编译器来处理的,但是我们依然需要适当关注;字节对齐是为了提高内存系统性能(字节对齐可以减少内存访问的次数) 主流的字节对齐方法 一、结构体中调整成员变量的顺序 struct test{ int a; char b; int d; short d; } 占用空间:4+4+4+4 =16
阅读全文
摘要:一、可执行文件及objdump输出 build/kernel.img: file format elf64-little Sections: Idx Name Size VMA LMA File off Algn 0 init 0000b5b0 0000000000080000 0000000000
阅读全文
摘要:一、内存映射是一个很有趣的思想,我们都知道操作系统分为用户态和内核态,用户态是不能直接和物理设备打交道,如果我们用户空间想访问硬盘的一块区域数据,则需要两次拷贝(硬盘->内核->用户),但是内存映射的设计只需要发生一次拷贝,大大提高了读取数据的效率。 二、内存映射如下图: 三、mmap()必须以PA
阅读全文
摘要:一、 ls malloc和pthread_create ls命令: % time seconds usecs/call calls errors syscall 0.00 0.000000 0 7 read 0.00 0.000000 0 1 write 0.00 0.000000 0 12 clo
阅读全文
摘要:一、两个程序映射同一个文件到自己的地址空间, 进程A先运行, 每隔两秒读取映射区域, 看是否发生变化. 进程B后运行, 它修改映射区域, 然后推出, 此时进程A能够观察到存储映射区的变化。 #include <sys/mman.h> #include <sys/stat.h> #include <f
阅读全文
摘要:一 mmap用于映射文件的读写 #include <stdio.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include
阅读全文

浙公网安备 33010602011771号