读书笔记之Linux内核探秘
New_Worms
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第9章 块设备
9.1 块设备的架构9.1.1 块设备、磁盘对象和队列磁盘对象是具体物理块设备在内核中的表示形式。所有对通用磁盘对象的I/O操作都要进入磁盘对象的I/O队列,然后再由内核处理。块设备使用的队列包括:块设备自身的队列和块设备电梯对象的队列。blk_register_region()->kobj_map()把设备号注册到系统的管理链表;kobj_lookup()通过设备号找...原创 2020-04-08 22:11:36 · 211 阅读 · 0 评论 -
第11章 通用块层和scsi层
通用块层和scsi层在内核中位置:上接VFS层,下接硬盘驱动。原创 2020-04-27 21:52:36 · 585 阅读 · 0 评论 -
第10章文件系统读写--3
当要读的页在page cache中数据不是最新的或者在页在page cache不存在时,则需要从磁盘读数据。通过接下来的readpage函数来实现从磁盘读文件。原创 2020-03-25 22:06:47 · 261 阅读 · 0 评论 -
第10章 文件系统读写--2
10.2 文件预读10.3 文件锁10.4 文件读asmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count){____struct file *file;____ssize_t ret = -EBADF;____int fput_needed;/* 通过current指针获得当...原创 2020-03-24 22:07:25 · 211 阅读 · 0 评论 -
4.kobject结构
kobject结构和sys文件系统联系紧密,在sysfs创建文件时,传递的输入参数就是一个kobject。实际上可以认为kobject代表sysfs文件系统的一个目录。4.1.1 kobject和kset的关系struct kobject { ____const char______* k_name; ____char...原创 2020-03-12 21:57:36 · 273 阅读 · 0 评论 -
sys文件系统----打开过程
这个文件系统主要作用是:在用户态展示设备的信息。4.1 文件和目录的创建4.1.1 文件系统的初始化。sysfs_init()4.1.2 sys文件系统目录的创建。int sysfs_create_dir->create_dir->lookup_one_len -&...原创 2020-03-13 12:06:50 · 2384 阅读 · 0 评论 -
文件的打开过程分析
系统调用:sys_open->do_sys_open->do_filp_open->open_namei->path_lookup_open->__path_lookup_intent_open /* 文件存在直接打开*/...原创 2020-03-08 14:14:15 · 557 阅读 · 0 评论 -
最小文件系统分析(aufs.c)
参考:https://blog.youkuaiyun.com/qq_31505483/article/details/608334511、文件系统的目的是用来管理文件的。2、文件系统管理文件的方式: struct super_block, struct vfsmount。3、文件的组织方式:struct inode,struct dentry。4、文件系统加入(登记)到内核的方式:...原创 2020-03-07 14:23:59 · 290 阅读 · 0 评论 -
platform虚拟总线
以内核源码:drivers/input/serio/q40kbd.c为例说明。bus(bus_type): platform_bus_type;device_driver(2-8):platform_driver_register->driver_register->bus_add_driver->driver_attach->bus_for_each_dev-&g...原创 2020-02-29 15:46:39 · 210 阅读 · 0 评论 -
字符设备
1、文件系统和设备的关系 设备是特殊的文件,文件inode的操作函数通过init_special_inode赋值。 ext2_read_inode ->init_special_inode(适合ext2文件系统)void init_special_inode(struct inode *inode, umode_t mode, dev_t rdev){____inode-...原创 2020-02-26 07:20:00 · 170 阅读 · 0 评论 -
ext2文件系统布局
file和dentry之存在与内存中,在物理上不存在。Boot Block: 1字节,存储分区信息。SuperBlock:包括文件系统的信息。比如每个块组的块数目,每个块组的inode数目。GDT(Group Descriptor Table):块组描述符表由多个块组描述符组成。ext2的每个块组描述符为32bytes。 整个文件系统有多少个块组,就有多少个块组描述符。...原创 2020-02-24 20:25:05 · 457 阅读 · 0 评论 -
第10章 文件系统读写---1
Page Cache: Linux系统内核为文件的读写设置的一个缓存.。10.1 page cache机制page cache中存储的数据在I/O执行完成后并不回收,而是一直保留在内存中,除非内存紧张才会回收。10.1.1 buffer I/O 和 direct I/Obuffer I/O:使用page cache的I/O为buffer I/O。(内核默认,在内核空间分配)d...原创 2020-02-18 12:25:25 · 293 阅读 · 0 评论
分享