![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【Linux 内核】
你必须十分努力,才能看起来毫不费力
纸上得来终觉浅,绝知此事要躬行
展开
-
kernel 启动流程之 【head.S】 学习笔记
1、系统引导程序 【参考:kernel-3.18/Documentation/arm/Booting】bootloader 要干的主要事情:找到并初始化内存;初始化和使能一个串口输出,这个对于调试很重要;获取CPU类型,指的是具体体现结构CPU的类型,比如ARM Cortex-x系列;初始化kernel tagged list,向kernel传递系统内存原创 2016-10-21 17:53:49 · 4438 阅读 · 0 评论 -
深入 kernel panic 流程
一、前言 我们在项目开发过程中,很多时候会出现由于某种原因经常会导致手机系统死机重启的情况(重启分Android重启跟kernel重启,而我们这里只讨论kernel重启也就是 kernel panic 的情况),死机重启基本算是影响最严重的系统问题了,有稳定复现的,也有概率出现的,解题难度也千差万别,出现问题后,通常我们会拿到类似这样的kernel log信息(下面log仅以调用BUG原创 2016-11-19 22:19:48 · 18143 阅读 · 2 评论 -
kernel 启动流程之 【设备驱动加载】 学习笔记
先上总流程图,一图胜千言!点击查看大图head.S 初始化完成后跳转到 start_kernel 入口:kernel-3.18/init/main.c:505:asmlinkage __visible void __init start_kernel(void)START => 源码分析:这里要干的事情非常原创 2016-10-21 18:00:10 · 8016 阅读 · 9 评论 -
Professional Linux kernel Architecture - 锁与进程间通信
1、相关概念:IPC :(Interprocess communication) 进程间通信竞态条件 :几个进程在访问资源时彼此干扰的情况,进程执行在不应该中断的地方被中断,从而导致进程工作不正确。锁的作用:确保每次只有一个CPU或者进程访问被保护的范围参考《Professional Linux kernel Architecture》 .原创 2016-08-04 15:53:41 · 1028 阅读 · 0 评论 -
Linux 内核进程管理之进程ID
转载:http://www.cnblogs.com/hazir/p/linux_kernel_pid.htmlLinux 内核进程管理之进程IDLinux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构,Linux 内核所有涉及到进程和程序的所有算法都是围绕该数据结构建立的,是内核中最重要的数据结构之一。该数据结构在内核文件 include/linux/转载 2016-08-04 15:42:08 · 817 阅读 · 0 评论 -
异步通知 fasync 用法积累
最近工作中用的一个features需要在native层监听kernel层的interrupt上报,最开始使用的方式是最简单的轮询方式,native层开一个线程通过ioctrl的方式去不断的check 驱动的状态,返回check到的data,不过后面发现这样效率有些低下,而且不断的ioctrl操作驱动,功耗方面会比较大,所以就学习了使用异步通知fasync的方式+阻塞来做,下面简单总结下用法:原创 2016-01-08 21:21:22 · 1135 阅读 · 0 评论 -
vmalloc 实现
vmalloc 简介。vmalloc区为非连续内存分区,首地址为 VMALLOC_START,结束地址为VMALLOC_END。由若干vmalloc子区域组成,每个vmalloc子区域间隔4KB,作为安全隔离区防止非法访问。用vm_struct表示每个vmalloc子区域,每次调用vmalloc()在内核成功申请一段连续虚拟内原创 2015-12-13 21:15:48 · 3524 阅读 · 0 评论 -
Linux内核相关知识点记录【内存管理】【进程调度】【异常调试】【锁】【kvm虚拟化】【内核启动】
1、内存管理 怎么阐述自己的理解?。硬件原理,分页机制原理内核内存管理由MMU提供硬件支持,MMU实现虚实地址VA=>PA的转换以及权限检查,虚拟地址和物理地址之间的映射关系是页表机制,每一个页表项都保持物理地址页及其访问权限,页表机制和图书馆借书是一个原理,为什么要用多级页表呢?假设只有一级,类比成数组,用a【i】记录每一项,那么记录所有映射关系i=4GB/4KB=1000*1000项,显...原创 2018-03-26 20:54:04 · 1661 阅读 · 0 评论