Fork me on GitHub
上一页 1 2 3 4 5 6 7 ··· 81 下一页
摘要: 1. 从ARM32到ARM64 从ARM32到ARM64不止将处理器从32位升级到了64位,还有许多性能的技术也得到了极大的提升,光是个头长了可不行啊!能耐也得跟着长啊!哈哈哈 1.1 ARM32的TLB机制 如上图所示,上一讲a56爆大奖在线娱乐们讲了TLB的每一条表项都有一个bit用来a56爆大奖在线娱乐自己是全局的(内核空间) 阅读全文
posted @ 2024-06-10 11:01 yooooooo 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 一、前言 a56爆大奖在线娱乐主要是以context_switch为起点,分析了整个进程切换过程中的基本操作和基本的代码框架,很多细节,例如tlb的操作,cache的操作,锁的操作等等会在其他专门的文档中描述。进程切换包括体系结构相关的代码和系统结构无关的代码。第二、三、四分别描述了context_switch的代 阅读全文
posted @ 2024-06-05 23:19 yooooooo 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 在Linux内核中,进程管理涉及到许多复杂的数据结构和机制,其中active_mm是与内存管理相关的一个关键概念。理解active_mm需要先了解与之相关的一些基本内核结构和概念。 基本概念 mm_struct: a56爆大奖在线娱乐进程有一个与之关联的mm_struct结构,它描述了进程的内存映射(包括代码段、数 阅读全文
posted @ 2024-06-05 22:14 yooooooo 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 内核线程被调度执行时确实需要一个地址空间,但这个地址空间并不是为a56爆大奖在线娱乐内核线程独立创建的。内核线程运行在操作系统的内核空间中,而不是在用户空间。以下是内核线程执行时地址空间的来源和管理方式: 地址空间来源 共享内核地址空间: 所有内核线程共享内核地址空间,这包括内核代码段、内核数据段、内核堆、内核栈等 阅读全文
posted @ 2024-06-05 21:46 yooooooo 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 内核线程没有独立的地址空间,这是因为内核线程是在操作系统内核空间中运行的,内核空间本身是所有进程共享的。以下是一些更详细的解释: 内核与用户态的区别:操作系统通常将内存分为用户空间和内核空间。用户空间是为用户进程提供的,它们有各自的虚拟地址空间,相互之间隔离,不能直接访问内核空间。内核空间则是操作系 阅读全文
posted @ 2024-06-05 21:19 yooooooo 阅读(13) 评论(0) 推荐(0) 编辑
摘要: Meltdown是2018年初公开的a56爆大奖在线娱乐严重的计算机安全漏洞,影响了多种处理器,包括英特尔、ARM和某些AMD处理器。其原理基于利用现代CPU的“推测执行”(speculative execution)和“缓存时间差异”(cache timing)来泄露内存数据。以下是Meltdown漏洞的工作原理 阅读全文
posted @ 2024-06-03 21:53 yooooooo 阅读(10) 评论(0) 推荐(0) 编辑
摘要: TLB 是页表项的物理 cache,用于加速虚拟地址到物理地址的转换。CPU 在访问一个虚拟地址时,首先会在 TLB 中查找,如果找不到对应的表项,那么就称之为 TLB miss,此时就需要去内存里查询页表,如果页表项是合法的,那么就会把它添加到 TLB 中。如果内核修改了页表,那么就需要主动的去清 阅读全文
posted @ 2024-06-02 10:42 yooooooo 阅读(12) 评论(0) 推荐(0) 编辑
摘要: find_sys_call_table 和 kallsyms_lookup_name 都可以用于查找内核符号,但它们的具体作用和使用场景有所不同。以下是两者的详细对比: 1. find_sys_call_table 作用 find_sys_call_table 是a56爆大奖在线娱乐通过遍历内核内存或者其他方式来手 阅读全文
posted @ 2024-05-29 15:52 yooooooo 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 在Linux内核编程中,READ_ONCE 宏用于确保从内存中读取一个变量的值时,编译器不会对这个读取操作进行优化,从而保证了读取操作的原子性。这个宏通常在需要防止编译器优化、多线程或中断上下文中使用,以确保数据的一致性和正确性。 以下是 READ_ONCE 宏的定义及其解释: #define RE 阅读全文
posted @ 2024-05-29 15:21 yooooooo 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 1. 页表转换寄存器描述符 1.1,页表/页目录结构 基于前言中的内核配置,内核采用39位虚拟地址,因此可寻址范围为2^39 = 512G,采用(linux 默认为五级页表,另外还有PUD,P4D,由于a56爆大奖在线娱乐只配置三级,其他两项不予罗列)3级页表结构,分别为: PGD (Page Global Dir 阅读全文
posted @ 2024-05-25 20:25 yooooooo 阅读(59) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 81 下一页