Linux内核
pengliang528
这个作者很懒,什么都没留下…
展开
-
linux内核框架
概述本节将介绍linux操作系统的分层模型,并简述各层的作用,以便后续分析子模块时搭建一个整体的视图Linux操作系统分层视图内核作用:对下管理所有的硬件 对上提供系统调用接口以供应用访问(shell、库函数调用的本质依然是系统调用)内核切分为5大子系统以满足上述需求Process Scheduler(进程管理子系统):合理分配CPU资源,让各进程以合理的方式...原创 2019-09-01 17:03:00 · 500 阅读 · 0 评论 -
linux VFS文件系统(一)
概述本节重在讨论VFS文件系统的设计目标、涉及结构体的相关联系视图。unix标准文件类型有5种:普通文件、目录文件、符号链接文件、设备文件、管道文件,本节集中讨论前3者,后2者将另外分析。VFS的作用Linux宗旨是一切皆“文件”,广义的讲,凡是可以产生或者消耗信息的都是文件。文件系统是指操作系统用来管理文件以及对文件进行操作的机制和实现。将各文件按照上述分类即形成了不同的文件系统,为...原创 2019-09-01 17:04:16 · 263 阅读 · 0 评论 -
linux VFS文件系统(二)
概述本节将从VFS文件系统的挂载、打开并操作本地文件来详述其具体实现和机制VFS作用VFS只是一个基于软件的适配层,作用如下:提供文件系统的管理集,即文件系统注册管理列表缓存 提供文件的管理策略,即inode、dentry管理列表缓存、对缓存的管理以便高效、实时定位文件 提供文件系统的抽象管理集,用于重定向文件操作至具体文件系统下对应的操作文件系统的挂载操作分属具体文件系...原创 2019-09-03 14:04:02 · 487 阅读 · 0 评论 -
设备驱动模型与sysfs之间的关系
概述本节将对比分析字符设备驱动、平台设备驱动、设备驱动模型、sysfs文件系统,以此揭露之间的关系设备驱动linux设备驱动分为三种,字符设备驱动、块设备驱动、网络设备驱动字符设备驱动:只能按字节流先后顺序访问设备内存,不能随机访问(示例:鼠标、触摸屏、LCD等) 块设备驱动:可以随机访问设备内存的任意地址(示例:硬盘、SD卡、NAND FLASH等) 网络设备驱动:示例:网卡...原创 2019-09-04 16:20:36 · 647 阅读 · 1 评论 -
字符设备详解
概述本章节以应用开始访问字符设备为切入点,逐步深入分析字符设备的软件层次、组成框架和交互、如何编写字符设备驱动、设备文件的创建和mdev原理,并对相关接口及涉及到的结构体做一个简要介绍,展示字符设备驱动的全面详情应用示例int main(void) { char buf[10] = {0,}; int fd = open("/dev/led",O_RDWR); ...原创 2019-09-05 13:33:28 · 1567 阅读 · 0 评论 -
平台设备驱动详解
概念:平台总线只是一种设备模型,其管理的设备本质不变,因此应用访问平台总线上的设备通过/dev这个通道也不会发生改变,只是将设备(符合平台总线设备共性)塞入驱动框架的平台总线来管理,相比字符设备而言只是增加了sys目录下的视图关系。本章将以平台设备的添加、驱动的注册为切入点,逐步分析总线、平台总线设备的软件层次、组成框架来展示平台总线设备的详情。应用示例平台备添加设: stat...原创 2019-09-05 14:48:19 · 1866 阅读 · 1 评论 -
framebuffer子系统
概述本系列文章将分析framebuffer的驱动作用(需求)、框架、接口实现和使用。按笔者一直倡导的Linuc学习理念---从软件需求的角度去理解Linux,对于Linux各个子系统,我们首要理解其软件需求,从中自然会清楚其存在的价值和作用;接下来是理解子系统在 Linux整个驱动框架中的层次、角色和如何交换;最后是理解驱动的接口如何实现软件需求,明确接口如何在各场景中使用。Linux设...原创 2019-09-05 15:15:12 · 507 阅读 · 0 评论 -
MTD子系统剖析
概念MTD:Memory Technology Device即内存技术设备作用: 1.引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口 2.MTD将文件系统与底层FLASH存储器进行了隔离MTD分层图及对应作用:MTD设备通常可分为四层,从上到下依次是:设备节点、MTD设备层、MTD原始设备层、硬件驱动层1.Flas...原创 2019-09-05 15:41:16 · 190 阅读 · 0 评论