
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
文章目录1. DSA 背景介绍1.1 mmheap1.2 mmblk2. TLFS 原理2.1 存储结构2.2 内存池初始化2.3 free2.4 malloc参考资料1. DSA 背景介绍动态内存管理算法 DSA,Dynamic storage allocation。RTOS 一般情况下动态内存使用malloc申请分配,但是存在两个缺陷:由于分配算法的复杂度,分配的时间不定;在不断申请、释放的过
文章目录1. unittest 简介1.1 python 单元测试1.2 unittest 测试框架1.3 默认模式1.4 手工模式2. nose 扩展框架2.1 `nose` 的安装和基本用法2.2 `被测对象` 的扩展2.3 `TestFixture` 的扩展2.4 nose 插件参考资料1. unittest 简介1.1 python 单元测试1、python语言非常简洁和方便,一个最简单的
文章目录1. 简介2. Platform Layer2.1 Platform Device2.2 Platform Driver3. UDC/Gadget Layer3.1 Gadget Bus3.2 Gadget Device3.2.1 Endpoint Alloc3.2.2 EndPoint Access3.2.3 UDC Control3.3 Gadget Driver (Configfs)
文章目录1. 简介2. ADBD 源码3. Gadget Device 配置3.1 functionfs3.2 legacy 方式配置 functionfs3.3 configfs 方式配置 functionfs3.4 adb 使用配置参考资料1. 简介ADB 是 Android 环境下非常好用的调试工具。它是 client-server架构,由三部分组成:1、client (adb),运行于开发
文章目录1. 背景简介2. 主体(subject)2.1 用户2.2 进程2.2.1 凭证(credentials)2.2.2 uid/suid/euid/fsuid2.2.3 初始uid (fork())2.2.4 uid权限升级 (SUID execve())2.2.5 uid权限降级 (setreuid()/setuid()/setresuid()/setfsuid())3. 客体(obje
1. 背景简介Linux 内存管理包含很多内容,主要知识点可以参考 Linux Mem。本文只描述其中的一个知识点 Paging and MMU。本文以全志 D1 为例,包含了平头哥出品的一颗 Riscv64 的 CPU IP-Core,代号 C906。具体手册可以参考 C906 用户手册。2.X86_64同样是 64bit cpu,x86_64 支持 48bit 和 57bit 两种线性地址模式
1. RT-ThreadRT-Thread 是国内出产的一款非常优秀的 RTOS。它和 FreeRTOS 、uCos 等经典 RTOS 最大的不同是:它不仅仅是一个实时内核,还具备丰富的中间层组件。它提供了一个完整的软件栈解决方案,而不需要用户搜集各种 核心组件 手工从头搭建。包括以下部分:内核层:RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程
1. 基本原理LSM是内核安全模块的一套框架,本质是插桩法。它的主要有两个特点:1、在内核安全相关的关键路径上插入了Hook点:内核安全相关的关键对象有:task_struct(任务和进程)、linux_binprm(程序)、super_block(文件系统)、inode(管道、文件或者 socket套接字)、file(打开的文件)、sk_buff(网络缓冲区)、net_device(网络设备)、
Linux Phy 驱动的架构解析,phy 芯片的状态怎么传递给 mac netdev 驱动的流程分析。
1. 历史背景1.1 frame pointers在调试的时候经常需要进行堆栈回溯。最简单的方式是使用一个独立的寄存器(ebp)来保存每层函数调用的堆栈栈顶(frame pointer):pushl%ebpmovl%esp,%ebp...popl%ebpretx86_64的frame point模式arm64的frame point模式这种方式在堆栈回溯时非常方便快捷。但是这种方法也有自己的不足:







