Fork me on GitHub
上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 99 下一页
摘要: 在linux kernel里,有一个debug选项LOCKUP_DETECTOR。 使能它可以打开kernel中的soft lockup和hard lockup探测。 这两个东西到底有什么用处那? 首先,soft/hard lockup的实现在kernel/watchdog.c中, 主体涉及到了3个 阅读全文
posted @ 2020-06-15 14:02 yooooooo 阅读(1139) 评论(0) 推荐(0) 编辑
摘要: crash 是目前广泛使用的 linux 内核崩溃转储文件的分析工具,掌握 crash 的使用技巧,对于分析定位内核崩溃的问题,有着非常重要的作用。本文首先介绍了 crash 的基本概念和安装方法,其次详细介绍了如何使用 crash 工具分析内核崩溃转储文件,包括各种常用调试命令的使用方法,最后以几 阅读全文
posted @ 2020-06-14 08:57 yooooooo 阅读(1633) 评论(0) 推荐(0) 编辑
摘要: 前言: 众所周知,Android厂商非常多,各种尺寸的android手机、平板层出不穷。导致了Android生态环境的碎片化现象越来越严重。Google公司为了解决分辨率过多的问题,在Android的开发文档中定义了px、dp、sp,方便开发者适配不同分辨率的Android设备。对于初级程序员来说理 阅读全文
posted @ 2020-06-11 10:32 yooooooo 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 你应该曾经纠结过是用kmalloc(),还是vmalloc()?现在你不用那么纠结了,因为内核里面现在有个API叫kvmalloc(),可以认为是kmalloc()和vmalloc()的双剑合一。屠龙刀和倚天剑的合体。 内核里面有大量的代码现在都使用了kvmalloc(),譬如: source/ip 阅读全文
posted @ 2020-06-10 20:03 yooooooo 阅读(1786) 评论(0) 推荐(0) 编辑
摘要: 一、准备环境 1)获取crash工具。注意区分版本(arm/arm64/x86_64)。 2)获取对应软件版本的符号表文件(如vmlinux),可以将该文件放置 crash工具同一目录下。 3)获取sysdump文件,并把所有sysdump文件追加到一个文件sysdump.core中: cat sy 阅读全文
posted @ 2020-05-20 14:25 yooooooo 阅读(2726) 评论(0) 推荐(0) 编辑
摘要: 1. SELinux 背景知识 1.1 DAC 与 MAC 在 SELinux 出现之前,Linux 上的安全模型叫 DAC,全称是 Discretionary Access Control,翻译为自主访问控制。 DAC 的核心思想很简单,就是:进程理论上所拥有的权限与执行它的用户的权限相同。比如, 阅读全文
posted @ 2020-05-19 09:40 yooooooo 阅读(927) 评论(0) 推荐(0) 编辑
摘要: 内核中常用的分配物理内存页面的接口函数是alloc_pages(),用于分配一个或者多个连续的物理页面,分配页面个数只能是2个整数次幂。相比于多次分配离散的物理页面,分配连续的物理页面有利于提高系统内存的碎片化,内存碎片化是一个很让人头疼的问题。alloc_pages()函数有两个,一个是分配gfp 阅读全文
posted @ 2020-05-16 15:09 yooooooo 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: ARM64架构处理器采用48位物理寻址机制,最大可以寻找到256TB的物理地址空间。对于目前的应用来说已经足够了,不需要扩展到64位的物理地址寻址。虚拟地址也同样最大支持48位支持,所以在处理器的架构设计上,把虚拟地址空间划分为两个空间,每个空间最大支持256TB。Linux内核在大多数体系结构中都 阅读全文
posted @ 2020-05-11 09:06 yooooooo 阅读(4871) 评论(1) 推荐(0) 编辑
摘要: Linux内核在启动时会打印出内核内存空间的布局图,下面是ARM Vexpress平台打印出来的内存空间布局图: 这部分信息打印是在mem_init()函数中实现的。 编译器在编译目标文件并且链接完成之后,就可以知道内核映像文件最终的大小,接下来打包成二进制文件,该操作由 控制,其中也划定了内核的内 阅读全文
posted @ 2020-05-09 14:48 yooooooo 阅读(1889) 评论(0) 推荐(0) 编辑
摘要: 在内存系统初始化过程中,有如下代码: 这里,我们看到了神秘的swapper_pg_dir,全局搜索一下,发现了 在head_32.S中,定义了如下的BSS段,BSS段是在内核映像文件中不占空间,但是在内核被加载到内存时,会保留相应的空间。 在BSS段,一共保留了4个页面的空间,分别用initial_ 阅读全文
posted @ 2020-05-04 16:42 yooooooo 阅读(1988) 评论(0) 推荐(0) 编辑
上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 99 下一页