`
kula
  • 浏览: 56285 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • highill: 在baidu上看了 HTML5与FLASH的斗争和前景分析.d ...
    html5和flash
  • interjc: 问题是html5的标准如何才能完全同意,不要到时候搞得群雄割据 ...
    html5和flash
  • evanmeng: 谷歌地图上早就可以利用点评网的数据显示某地周围的餐饮信息。但我 ...
    openapi 简介

linux内核 结构图

阅读更多
内核结构图

驱动分层图

file_operations结构
/*
 * NOTE:
 * read, write, poll, fsync, readv, writev, unlocked_ioctl and compat_ioctl
 * can be called without the big kernel lock held in all filesystems.
 */
struct file_operations {
	struct module *owner;
	loff_t (*llseek) (struct file *, loff_t, int);
	ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
	ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
	ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
	int (*readdir) (struct file *, void *, filldir_t);
	unsigned int (*poll) (struct file *, struct poll_table_struct *);
	int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
	long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
	long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
	int (*mmap) (struct file *, struct vm_area_struct *);
	int (*open) (struct inode *, struct file *);
	int (*flush) (struct file *, fl_owner_t id);
	int (*release) (struct inode *, struct file *);
	int (*fsync) (struct file *, struct dentry *, int datasync);
	int (*aio_fsync) (struct kiocb *, int datasync);
	int (*fasync) (int, struct file *, int);
	int (*lock) (struct file *, int, struct file_lock *);
	ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
	unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
	int (*check_flags)(int);
	int (*flock) (struct file *, int, struct file_lock *);
	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
	ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
	int (*setlease)(struct file *, long, struct file_lock **);
};


file文件结构
struct file {
	struct file *next;
	struct file *parent;
	char *name;
	int lineno;
	int flags;
};


包含必要的头文件

填充file_operations

填充usb_driver

usb_register\usb_deregister

module_init\ module_exit

  • 大小: 102.8 KB
  • 大小: 90.5 KB
分享到:
评论

相关推荐

    linux内核结构图

    linux内核结构图,从硬件,到设备控制,再到bridge,虚拟成,用户接口层等,用图形把内核结构描述出来,是不可多得的了解linux内核的好图片。

    linux内核图解,包含多个内核结构图

    包含了linux内核各个数据结构的图解,是广大内核爱好者学习内核源代码的辅助材料

    Linux内核结构+流程图+VISO

    原创模版关于Linux内核结构+流程图+VISO 可商用+分享学习路径(无水印)首发

    linux内核代码结构图

    linux内核代码结构图

    Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理

    关于Linux内核的书已经不计其数,但这本书却是独树一帜的,它的内容代表着Linux内核研究成果的世界顶尖级水平,它在世界范围内首次提出并阐述了操作系统设计的核心指导思想——主奴机制,这是所有操作系统研究者的一...

    linux kernel map 内核结构图

    linux kernel map 内核结构图 一张大图,图上有资源出处,很不错的网站。

    深入理解linux内核(第三版.中文)【有目录】

    几年前,当我们拿到Linux 内核代码开始研究时,可以说茫然无措。其规模之大,叫“覆 压三百余里,隔离天日”似乎不为过;其关系错综复杂,叫"廊腰线回,檐牙高啄,各 抱地势,勾心斗角”也非言过其实。阿房宫在规模...

    linux内核笔记——进程管理_80386基础

    初学者在在学习linux内核的时候,其启动代码无疑是横在阅读这恰面的一座大山,才一开始就碰倒了复杂的AT&T语法与保护模式,大多数初学者往往由于无法理解其古怪的语法和难解的数据结构与管理方式,从而放弃在linux...

    linux内核设计与实现学习总结

    基于书本内容,结合Linux源码,并进行实际开发,完成了大数库和ECC向Linux内核的移植,并形成本总结,涵盖原书知识点,并增加了自己的理解,尤其对对VFS和块I/O增加了多张数据结构关系图,使你更容易理解这些模块的...

    深入Linux内核架构(英文原版Professional Linux® Kernel Architecture)

    《深入Linux内核架构》讨论了Linux内核的概念、结构和实现。主要内容包括多任务、调度和进程管理,物理内存的管理以及内核与相关硬件的交互,用户空间的进程如何访问虚拟内存,如何编写设备驱动程序,模块机制以及...

    Linux内核修炼之道-pdf版

    Linux内核问题门..........................................................................................................................13 缅怀已逝的十八年(1991~1998) ...............................

    Linux内核设计的艺术

    关于Linux内核的书已经不计其数,但这本书却是独树一帜的,它的内容代表着Linux内核研究成果的世界顶尖级水平,它在世界范围内首次提出并阐述了操作系统设计的核心指导思想——主奴机制,这是所有操作系统研究者的一...

    linux内核代码解析

    不久大批公司如 Compaq 开始制造 IBM PC 的复制品, PC 的结构成为了事实的标准。这个事实的标准使大批硬件公司可以在这个不断增长的市场上一起竞争,反过来,可以遏制价格,让用户满意。现代 PC 承袭了早期 PC 的...

    UNIX_Linux操作系统内核结构1-6章

    Linux操作系统内核结构详解【内核技术】,是有关unix/linux的相关信息,希望通过阅读这篇文章,您能够有所收获,文章末尾延伸阅读部分收集了与本文相关的文章、图片及视频,便于拓展读者了解,以下是完整的【Linux...

    linux项目工程资料-个人学习笔记 , 涵盖C , C++, Linux驱动, Linux内核, 嵌入式.zip

    个人学习笔记 , 涵盖C , C++, Linux驱动, Linux内核, 嵌入式, 数据结构, 算法, QT, Android安卓, 音视频, 物联网 , 正在逐步更新 , 使用的typora编辑 , 大家可以使用 typora 打开查看 , 床图为 gitee Linux项目是一...

    Linux内核情景分析

    1. 1 Linux内核简介 1. 2 Intel X86 CPU系列的寻址方式 1. 3 i386的页式内存管理机制 1. 4 Linux内核源代码中的C语言代码 1.5 Linux内核源代码中的汇编语言代码 第2章 存储管理 2.1 Linux内存管理的基本框架 2.2 ...

    Linux内核学习

    几年前,我们拿到Linux内核代码开始研究时,可以说茫然无措。其规模之大,叫“覆压三百余里,隔 离天日”似乎不为过;其关系错综复杂,叫“廊腰缦回,檐牙高啄,各抱地势,勾心斗角”也不言过其实; 阿房宫在规模和...

    一图胜千言-Linux用户态系统态内核态结构图

    一图胜千言-Linux用户态系统态内核态结构图

    LINUX内核源代码分析

    网络模型图,接收包相关数据结构,接收包处理,TCP_IP协议,内容很详细。

Global site tag (gtag.js) - Google Analytics