摘要: 什么是tlb cache是对内存数据的缓存; tlb是对mmu地址转换结果的缓存; tlb基础知识 tlb entry主要包含:vpn->pfn,一些属性 采用组相连; tlb也分l1 tlb,l2 tlb; l1 tlb分指令tlb和数据tlb; l2 tlb是统一的tlb; tlb重名同名问题; 阅读全文
posted @ 2024-12-25 00:19 _xingxing 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 基础知识 MMU包括TLB和页表遍历单元(TWU)两个部件; TLB:是一个高速缓存,用于缓存页表转换的结果; TWU:页表的维护是软件进行的(这个很好理解,虚拟地址映射到哪个物理地址放给用户去设置),但是具体页表的查询是硬件完成的,这个硬件单元就是TWU; mmu有两个职责: 第一个:虚拟地址到物 阅读全文
posted @ 2024-12-25 00:18 _xingxing 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 异常等级: el0:应用 el1:内核 el2:虚拟化 el3:安全 异常 异常分为两类,同步异常,异步异常; 同步异常 同步异常是可以预知的,指处理器执行某条指令而直接产生的异常,通常需要对应的修复处理后程序才能继续执行;比如缺页异常; 异常的原因会存放在esr寄存器,fsr等相关寄存器中; 在中 阅读全文
posted @ 2024-12-25 00:17 _xingxing 阅读(19) 评论(0) 推荐(0) 编辑
摘要: last保存的是什么? last = cpu_switch_to(prev, next) cpu_switch_to函数是一段汇编,根据arm64函数的调用规则来看,x0保存的是函数返回值,也就是prev进程; 比如A进程切换到B进程,那么last 就是进程 A; 为什么需要保存last? 有这么一 阅读全文
posted @ 2024-12-23 11:15 _xingxing 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 设计思想 基本 读与读不互斥; 读与写互斥; 写与写互斥; 等待机制 读只有睡眠等待 写有忙等待,与睡眠等待; 唤醒 读:唤醒链表上的读进程,直到遇到一个写进程为止; 写:一次只能唤醒一个写者 count计数:(不保证完全正确) 概述 通过count标识锁的状态; 空闲状态:(0,0) 等待队列存在 阅读全文
posted @ 2024-12-19 21:33 _xingxing 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 为什么需要高速缓存 解决处理器访问速度与内存速度严重不匹配的问题; 高速缓存架构 l1 cache:分为dcache,icache,存在于每个cpu内部; l2 cache:不区分dcache, icache,由一个cluster内的cpu共享; l3 cache:不区分dcache, icache 阅读全文
posted @ 2024-12-14 18:58 _xingxing 阅读(14) 评论(0) 推荐(0) 编辑
摘要: copy_process wake_up_new_task scheduler_tick __schedule 什么是调度类 struct sched_class, 目的是将调度器模块化; Linux 有哪些调度类 dl_sched_class: rt_sched_class: fair_sched 阅读全文
posted @ 2024-12-14 18:58 _xingxing 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 分配 释放 __find_buddy_pfn,去寻找page对应的buddy pfn; 寻找的逻辑是 异或 (1 << order); 也就是对 (1 << order) 这一个bit做取反操作(和1异或相当于是取反),其余的bit(和0异或保持原值) 不变化; 由于互为buddy的page,必定是 阅读全文
posted @ 2024-11-21 10:52 _xingxing 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 前言 不是特别懂,但是先把自己目前的理解写下来(甚至目前的有些理解都是错的),随着时间的积累再丰富; 内存模型的目的? 建立page与pfn的关系 内存模型 有三种内存模型: Flat Memory:所有内存都是连续的,通过数组管理所有的page,数组的下标就是pfn;所有可以很简单的pfn下标找到 阅读全文
posted @ 2024-11-20 19:27 _xingxing 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 前言 结合应用层demo + vim2m.c 详细分析各个ioctl细节 VIDIOC_REQBUFS QUERYBUF V4L2_MMAP VIDIOC_STREAMON VIDIOC_QBUF VIDIOC_DQBUF VIDIOC_STREAMOFF 阅读全文
posted @ 2024-10-25 14:47 _xingxing 阅读(11) 评论(0) 推荐(0) 编辑