Linux内核设计与实现
文章平均质量分 93
qq_40537232
这个作者很懒,什么都没留下…
展开
-
虚拟文件系统VFS(下)
8 索引节点操作struct inode_operations { int (*create) (struct inode *,struct dentry *,int, struct nameidata *); struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameidata *); int (*link) (struct dentry *,struct inode *,struct dentry *); int原创 2021-06-20 17:10:35 · 244 阅读 · 0 评论 -
Linux中断下半部和推后执行的工作
Linux中断下半部和推后执行的工作中断处理程序只能完成整个中断处理流程的上半部分,同时中断处理程序具有相当的局限性:中断处理程序以异步方式执行,并且有可能会打断其他重要代码的执行。因此,为了避免被打断的代码停止时间过长,中断处理程序应该执行的越快越好。如果当前有一个中断处理程序正在执行,在最好的情况下(如果IRQF_DISABLED没有设置),与当前中断同级的中断会被屏蔽;在最坏的情况下(IRQF_DISABLED被设置),当前处理器上所有其他中断都会被屏蔽。因为禁止中断相当于禁止硬件与操作系统通原创 2021-06-16 15:07:24 · 362 阅读 · 0 评论 -
虚拟文件系统VFS(上)
虚拟文件系统 VFS 虚拟文件系统(VFS)作为内核子系统,为用户空间程序提供了文件和文件系统相关的接口。系统中所有文件系统依赖VFS共存、协同工作,程序利用标准的Unix系统调用对不同的文件系统,甚至不同介质的文件系统进行读写操作。1 通用文件系统接口 VFS使得用户可以直接使用Open()、read()、write()这样的系统调用而无须考虑具体文件系统和实际物理介质。 VFS将各种不同的文件系统抽象后采用统一的方式进行操作。同原创 2021-06-15 22:55:21 · 204 阅读 · 0 评论 -
Linux中断和中断处理程序
Linux中断和中断处理程序由于处理器的速度与外设的速度相差很大,无法采取处理器向外设发出请求然后等待的方法。处理器与外设通信的方法:轮询:处理器定期对设备的状态进行查询(缺点:在不需要通信的情况下,处理器仍然需要周期性地重复执行)中断:一种特殊的电信号,由硬件设备发送给处理器。处理器接收信号后,由操作系统负责对数据进行处理中断随时可以产生,内核随时可能因为新到来的中断被打断。从物理层面讲,中断是一种电信号。由硬件设备产生,直接送入中断控制器的输入引脚中。中断控制器是个简单的电子芯片,将多原创 2021-05-21 11:12:21 · 496 阅读 · 0 评论