自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Linux系统和内核目录

在根目录下有多个子目录,在各个子目录下又有相应的子目录等等:存放着最经常使用的命令。:存放的是启动Linux时使用的核心文件,包括一些链接文件和镜像文件。:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。:存放所有的系统管理所需要的配置文件和子目录。:用户的主目录。每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。:存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。

2024-05-04 21:20:08 955

原创 DMA存储映射IO(三)

Linux驱动和用户空间交互时,都是通过file_operations 结构体中的设备操作函数read()和write()以及驱动程序中的copy_from_user/copy_to_user把用户空间和内核空间的数据相互转移,都是通过先将数据拷贝过来,然后再操作。DMA如果传输数据较大,原来的拷贝方式显然效率特别低,存储映射 I/O是一种基于内存区域的高级 I/O 操作,它能将一个文件映射到进程。

2024-04-30 17:24:46 773 2

原创 Linux中DMA驱动空间映射(二)

在内存块中按照2的order次方字节来创建多个slab描述符,如16字节、32字节、64字节、128字节等大小,系统会 分别创建kmalloc-16、kmalloc-32、kmalloc-64等slab描述符,在系统启动时这在()函数中完成。例如,要分配30字节的一个小内存块,可以用“kmalloc(30,GFP_KERNEL)’’ 实现,之后系统会从kmalloc-32 slab描述符中分配一个对象。kmalloc:分配物理连续的内存地址(则虚拟地址自然连续,基于 slab)。

2024-04-28 21:24:10 1046 2

转载 Linux中内存管理基础(一)

Linux中DMA驱动空间映射和应用空间映射操作系统环境都是 x86架构的32位 Linux系统Linux采用虚拟内存管理技术,利用虚拟内存技术让每个进程都有4GB 互不干涉的虚拟地址空间。进程初始化分配和操作的都是基于这个虚拟地址,只有当进程需要实际访问内存资源的时候才会建立虚拟地址和物理地址的映射,调入物理内存页。优点:1、保护操作系统:避免用户直接访问物理内存地址,防止一些破坏性操作,2、获取比实际物理内存更大的地址空间:每个进程都被分配了4GB的虚拟内存,4GB 的进程虚拟地址空间被分成两部分

2024-04-26 20:42:08 37

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除