
:Linux进程冻结技术:让你的系统更加稳定
你是否曾经遇到过在系统休眠时出现的各种问题?比如文件系统被破坏、创建hibernation image失败、设备suspend异常等等。这些问题都可以通过Linux进程冻结技术得到解决。

详解Linux设备模型(8)_platform设备
在Linux设备模型的抽象中,存在一类设备被称作“平台设备”(Platform Device)。根据内核官方文档(Documentation/driver-model/platform.txt)的描述,平台设备通常被视为系统中的独立实体。它们包括旧式端口设备(legacy)、主机桥接到外围总线的设备、以及大多数集成到SoC平台上的控制器。这些设备通常有一个共性,就是可以通过CPU总线进行直接寻址(例如在嵌入式系统中常见的“寄存器”)。虽然极少数平台设备可能连接到其他类型的总线上,但它们的寄存器仍然可以直接访问。

详解Linux设备模型(7)_Class
在设备模型中,Bus、Device、Device driver等等都比较好理解,因为它们都对应着实实在在的东西,所有的逻辑都是围绕这些实体展开的。然而,本文所要描述的Class则有些不同,因为它是虚拟出来的,只是为了抽象设备的共性。

详解Linux设备模型(6)_Bus
在Linux设备模型中,Bus(总线)是一类特殊的设备,它是连接处理器和其他设备之间的通道(channel)。为了方便设备模型的实现,内核规定,系统中的每个设备都要连接在一个Bus上,这个Bus可以是一个内部Bus、虚拟Bus或者Platform Bus。

Linux设备模型(5)_device和device driver
在Linux驱动开发中,device和device driver是基本概念。Kernel的核心思路就是为设备和其驱动程序分别定义device和device_driver两个数据结构,本文将围绕这两个数据结构,介绍Linux设备模型的核心逻辑,包括:

详解Linux设备模型(4)_sysfs
sysfs是一种基于RAM的文件系统,它与Kobject结合使用,能够将Kernel的数据结构以及属性导出到用户空间,以文件目录结构的形式提供对这些数据结构的访问支持。

Linux设备模型(3)_Uevent
Uevent是Kobject的一部分,用于在Kobject状态发生改变时(例如增加、移除等),通知用户空间程序。用户空间程序在接收到这样的事件后,会做出相应的处理。