会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
上一页
1
2
3
下一页
2024年3月17日
内存泄漏调试工具
摘要: asan、valgrind、coverity和gpertools都是用于帮助开发人员发现和调试代码中的各种问题的工具,但它们在特定方面有着不同的重点和功能。 ASan (AddressSanitizer): ASan 常用于 C/C++ 代码的静态和动态内存访问错误检测,通过在编译时注入额外的代码来
阅读全文
posted @ 2024-03-17 22:51 未连接到互联网
阅读(79)
评论(0)
推荐(0)
编辑
如何判断操作系统大小端
摘要: 用一个函数判断当前系统是大端序(big-endian)还是小端序(little-endian): #include <stdio.h> int check_endian() { unsigned int num = 1; char *ptr = (char *)# return (int)*
阅读全文
posted @ 2024-03-17 21:51 未连接到互联网
阅读(15)
评论(0)
推荐(0)
编辑
2024年3月1日
C++ 类的内存布局
摘要: 基类类内成员的内存分布 常见类内成员大致分为:类内变量、类内函数、静态变量、虚函数等,内存分布遵循: 所有成员会按照声明的顺序布局 类内成员会进行大对齐 类内函数不占用类的内存,存储在代码区 静态变量不占用类的内存,存储在全局/静态区 所有虚函数共用一个虚函数表指针,虚函数表指针不按声明顺序布局,如
阅读全文
posted @ 2024-03-01 21:14 未连接到互联网
阅读(27)
评论(0)
推荐(0)
编辑
2024年2月14日
【XV6】 mmap
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 文件映射到进程地址 题目要求实现两个系统调用:mmap和munmap。主要功能就是将文件映射到进程的内存中。 题目给出了mmap和munmap的声明: void *mmap(void *addr, size_t
阅读全文
posted @ 2024-02-14 19:06 未连接到互联网
阅读(37)
评论(0)
推荐(0)
编辑
【XV6】 file system
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 支持大文件 XV6目前只支持268个blocks大小的文件,一个block(BSIZE)为1024,文件块inode包含12个一级地址和1个二级地址,二级地址指向另一个block,其中存放了256个一级地址,因
阅读全文
posted @ 2024-02-14 19:06 未连接到互联网
阅读(31)
评论(0)
推荐(0)
编辑
【XV6】 locks
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 内存分配器 单个空闲内存列表可能引起多个CPU的频繁锁争用,题目要求设计内存分配器,让每个CPU维护一个空闲内存列表,不同CPU的分配和释放可以并行执行,但如果一个CPU可用列表为空,而其他CPU可用列表不为空
阅读全文
posted @ 2024-02-14 19:05 未连接到互联网
阅读(24)
评论(0)
推荐(0)
编辑
【XV6】 networking
摘要: 代码:https://github.com/JasenChao/xv6-labs.git E1000网络设备驱动 题目已经在kernel/e1000.c中给出了E1000的初始化函数和发送接收函数,要求完善发送和接收的功能。 其他相关的代码,上层的网络协议在kernel/net.c和kernel/n
阅读全文
posted @ 2024-02-14 19:05 未连接到互联网
阅读(64)
评论(0)
推荐(0)
编辑
【XV6】 Multithreading
摘要: 代码:https://github.com/JasenChao/xv6-labs.git 用户级线程切换 题目要求完成用户级线程系统,提示程序要在uthread.c和uthread_switch.S中补充完成。 用户级线程调度和进程的机制是类似的,因此uthread_switch.S可以复制swtc
阅读全文
posted @ 2024-02-14 19:05 未连接到互联网
阅读(17)
评论(0)
推荐(0)
编辑
【XV6】 Copy-on-Write Fork for xv6
摘要: 代码:https://github.com/JasenChao/xv6-labs.git Copy-on-Write Fork 系统调用fork()会复制一个父进程的用户空间到子进程,一方面如果进程较大,复制需要很长的时间,另一方面复制的内存的大部分会被丢弃,造成浪费。 题目要求实现写时复制COW来
阅读全文
posted @ 2024-02-14 19:04 未连接到互联网
阅读(70)
评论(0)
推荐(0)
编辑
【XV6】 traps
摘要: 代码:https://github.com/JasenChao/xv6-labs.git backtrace 题目要求实现backtrace来对堆栈上调用发生错误的地方进行跟踪。寄存器s0包含指向当前堆栈帧的指针,那么返回地址就位于帧指针的固定偏移量-8,前一个fp地址的偏移量为-16。 在risc
阅读全文
posted @ 2024-02-14 19:04 未连接到互联网
阅读(14)
评论(0)
推荐(0)
编辑
上一页
1
2
3
下一页
勤力一定揾到食
个人主页:https://jasenchao.github.io/
导航
博客园
首页
新随笔
联系
订阅
管理