![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kernel
wangww631
linux c,HA,zfs
展开
-
【转】对Linux内核中进程上下文和中断上下文的理解
转自:http://www.embedu.org/Column/Column240.htm内核空间和用户空间是操作系统理论的基础之一,即内核功能模块运行在内核空间,而应用程序运行在用户空间。现代的CPU都具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作。Linux系统设计时利用了这种硬件特性,使用了两个级别,最高级别和最低级别,内核运行在最高级别(内核转载 2017-11-02 13:48:22 · 199 阅读 · 0 评论 -
【转】Linux 内核中的Device Mapper机制
转自:https://www.ibm.com/developerworks/cn/linux/l-devmapper/index.html,写的很通俗易懂,转载学习下。Device Mapper 是 Linux2.6 内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构,如图 1。图1 Device Mapper的内核体系架构转载 2017-11-17 15:23:04 · 363 阅读 · 0 评论 -
【转】inode缓存与dentry缓存
inode缓存与dentry缓存 ,转载,供学习参考1. inode缓存 1: struct inode { 2: /* RCU path lookup touches following: */ 3: umode_t i_mode; 4: uid_t i_uid;转载 2017-11-15 16:34:26 · 1720 阅读 · 0 评论 -
spin_lock、spin_lock_irq、spin_lock_irqsave区别
void spin_lock(spinlock_t *lock);void spin_lock_irq(spinlock_t *lock);void spin_lock_irqsave(spinlock_t *lock, unsigned long flags);1、spin_lock与spin_lock_irq区别在Linux内核中何时使用spin_lock,何时转载 2017-12-04 20:13:18 · 369 阅读 · 0 评论 -
oops call trace 解析
Call Trace:[ 221.634988] [] ? kmld_pte_lookup+0x17/0x60[ 221.635016] [] ? kmld_fault+0x94/0xf0[ 221.635051] [] ? kmld_pte_lookup+0x17/0x60[ 221.635转载 2017-11-27 10:41:34 · 2327 阅读 · 0 评论 -
从用户空间开始进行对文件的读过程
读:读取一个文件的时候,陷入系统调用,先检查数据是否在缓存中,如果没有则触发一次读盘操作,然后等待磁盘上的数据被更新到缓存中。 读取磁盘过程:调用文件系统层的readpages函数,使用各种文件系统层的get_block函数获取磁盘物理地址,存放到bh里(即buffer_head),使用bh构造bio,然后提交bio(一般使用submit_bio函数将数据bio提交到io的块设备层)。函数转载 2018-01-22 16:46:00 · 626 阅读 · 0 评论