Linux内存模型:深入理解内存管理

Linux内存模型:深入理解内存管理

你是否曾经遇到过在Linux系统中出现的各种内存问题?比如内存泄漏、内存碎片等等。这些问题都可以通过深入理解Linux内存模型得到解决。

:Linux进程冻结技术:让你的系统更加稳定

:Linux进程冻结技术:让你的系统更加稳定

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

Linux系统休眠(System Suspend)和设备中断处理

Linux系统休眠(System Suspend)和设备中断处理

本节主要解决一个问题:在系统进入休眠状态时,如何暂停设备中断(IRQ)?在唤醒系统时,如何恢复设备IRQ?

Linux设备模型(9)_device resource management

Linux设备模型(9)_device resource management

本文介绍的主题非常实用,能够解答一些困惑,还能让我们的代码变得简单、简洁。先来看一个例子:

详解Linux设备模型(8)_platform设备

详解Linux设备模型(8)_platform设备

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

详解Linux设备模型(7)_Class

详解Linux设备模型(7)_Class

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

详解Linux设备模型(6)_Bus

详解Linux设备模型(6)_Bus

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

Linux设备模型(5)_device和device driver

Linux设备模型(5)_device和device driver

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

详解Linux设备模型(4)_sysfs

详解Linux设备模型(4)_sysfs

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

Linux设备模型(3)_Uevent

Linux设备模型(3)_Uevent

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

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部