linux内核
梦中飞
这个作者很懒,什么都没留下…
展开
-
Linux系统中使用SystemTap调试内核
Linux系统中使用SystemTap调试内核 SystemTap 是一种新颖的 Linux 内核诊断工具,提供了一种从运行中的 Linux 内核快速和安全地获取信息的能力。SystemTap 是内核研发人员和系统管理员的福音,因为这使得他们能够通过编写或重用简单的脚本来收集内核的实时数据,而无需再忍受修改源码、编译内核、重启系统的漫长煎熬。本文介绍了 SystemTap 的安装、使转载 2012-11-05 16:35:35 · 411 阅读 · 0 评论 -
fuse通信协议分析
fuse在内核中通过设备号 /dev/fuse来进行内核与用户空间之间通信,其中内核代码(/fs/fuse),通信之间采用协议方式。内核发送到用户态时就会发送一个头fuse_in_head(用户数据进入端):struct fuse_in_header{__u32 len;__u32 opcode;__u64 unique;__u32 nodeid;原创 2012-12-06 13:53:15 · 2061 阅读 · 0 评论 -
Linux内核态下的文件操作
在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个系统调用,但是在linux内核中没有这样的系统调用我们如何操作文件呢?我们知道read和write在进入内核态之后,实际执行的是sys_read和sys_write,但是查看内核源代码,发现这些操作文件的函数都没有导出(使用EXPORT_SYMBOL导出),也就是说在内核模块中是不能使用的,那如何是好?通转载 2012-12-06 14:59:04 · 531 阅读 · 0 评论 -
fuse_operations与fuse_lowlevel_ops结构学习
fuse为开发者提供了两组接口,分别是fuse_lowlevel_ops以及fuse_operations,开发者只需要实现这两组接口的一种即可实现一个用户空间文件系统。struct fuse_lowlevel_ops的成员如下所示,其中init方法在其它所有方法之前调用,用于初始化文件系统,fuse已经实现,destroy则是在文件系统被卸载时做一些清理工作。用于大多数请求的参数都是fu原创 2013-01-25 09:21:16 · 1789 阅读 · 0 评论 -
卸载文件系统
Umount系统调用完成卸载文件系统,umount直接调用sys_umount。一 sys_umount执行过程1. 调用__user_walk(fs/namei.c)获取加载点的路径名。查找的结果保存在nameidata定义的nd中。并且检查:Ø 查找的路径是否是文件系统的挂载点。Ø 被卸载的文件系统原创 2013-04-18 09:43:18 · 1075 阅读 · 0 评论 -
文件指针/句柄(FILE*)、文件描述符(fd)以及 文件路径(filepath)的相互转换
文件指针/句柄(FILE*)、文件描述符(fd)以及 文件路径(filepath)的相互转换最近在linux下编程常需要对一些文件进行操作。有时不同的条件下,需要将文件指针/句柄(FILE*)、文件描述符(fd)以及文件路径(filepath)进行相互转换,以满足实际的编程需要。现简单的做一下整理。如下。1:文件路径 文件描述符应是唯一的。文件指针(值)不是唯一的,但指向的原创 2013-11-28 10:32:58 · 465 阅读 · 0 评论 -
用户空间与内核空间,进程上下文与中断上下文
1、前言 最近在学习linux内核方面的知识,经常会看到用户空间与内核空间及进程上下文与中断上下文。看着很熟悉,半天又说不出到底是怎么回事,有什么区别。看书过程经常被感觉欺骗,似懂非懂的感觉,很是不爽,今天好好结合书和网上的资料总结一下,加深理解。2、用户空间与内核空间 我们知道现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为转载 2015-08-26 11:25:56 · 389 阅读 · 0 评论