linux
张忠琳
我就是我 不用在怀疑
展开
-
【linux内核】 libfuse 源码分析
Fuse是filesystem in user space,一个用户空间的文件系统框架,fuse包含包含一个内核模块和一个用户空间守护进程FUSE分为三大模块:FUSE内核模块(内核态) LibFUSE模块(用户态) 用户程序模块(用户态)LibFUSE 实现文件系统主要框架、对实现的文件系统操作进行封装、mount管理、通过设备/dev/fuse与内核模...原创 2020-02-11 14:20:28 · 10953 阅读 · 0 评论 -
【linux内核】 fuse go 源码分析
Fuse是filesystem in user space,一个用户空间的文件系统框架,fuse包含包含一个内核模块和一个用户空间守护进程 FUSE分为三大模块:FUSE内核模块(内核态) LibFUSE模块(用户态) 用户程序模块(用户态) LibFUSE 实现文件系统主要框架、对实现的文件系统操作进行封装、mount管理、通过设备/dev/fuse与内...原创 2020-02-06 18:08:35 · 7825 阅读 · 0 评论 -
【linux内核】 linux文件系统
如何使用块设备上的区域和个 内核如何管理块设备上的空闲区域 文件的实体 如何命名并管理文件 用户程序如何操作文件和目录1. 文件系统 1.1 文件系统管理数据的机制 通过文件和目录管理块设备上的数据,由于文件系统,用户无需对块种类,规格,数据的存放信息有了解 上图所示...原创 2020-02-04 14:17:33 · 4843 阅读 · 0 评论 -
【块存储block源码分析】 ceph nbd server源码分析
DESC map成块设备,主要有两种方式:通过RBD Kernel Module 通过RBD-NBD Network Block Device(nbd) 已经经过了很长时间的实践,稳定性有所保证。对块设备的请求,由 nbd 间接调用 librbd 完成,可以支持最新的特性,是比较理想的方式 ceph 社区为 nbd 实现了一个 server,这个 ...原创 2020-01-03 15:58:30 · 5502 阅读 · 0 评论 -
【块存储block源码分析】 linux内核模块ceph nbd源码分析
jewel+ 版本支持 rbd-nbd 的特性,需要 map 支持较多特性的 rbd image 时,可以使用该 nbd driver NBD(Network Block Device) 可以将一个远程主机的磁盘空间,当作一个块设备来使用,就像一块硬盘一样。NBD是一个内核模块,大部分Linux发行版都包含它 与 RBD 内核驱动程序相比,NBD有许多优点:...原创 2020-01-03 10:04:28 · 5640 阅读 · 0 评论 -
【笔记】socket网络编程
一. socket原创 2014-06-19 16:32:30 · 3646 阅读 · 0 评论 -
Linux Socket编程(不限Linux)
“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有转载 2014-01-22 16:43:16 · 3340 阅读 · 0 评论 -
【笔记】linux 内核
一. “什么是文件系统”。 文件系统是对一个存储设备上的数据和元数据进行组织的机制原创 2014-07-01 23:35:55 · 3721 阅读 · 0 评论 -
【linux 内核】Linux 内核-常见问题
一。Linux内核主要有几种内核锁 主要有自旋锁和信号量 自旋锁是防止多处理器并发而引入的一种锁,在内核中大量应用于中断处理二。Linux用户模式和内核模式 用户模式是受限模式,对内存和硬件的访问必须通过系统调用实现 内核模式是一种高特权模式,能直接访问内存和硬件三。怎样申请大块内核内存原创 2015-08-13 09:59:37 · 4064 阅读 · 0 评论 -
【linux c】setsockopt 详解
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用法:转载 2013-06-26 22:45:12 · 23518 阅读 · 5 评论 -
【记录】shell脚本及linux命令
一. find原创 2014-07-01 14:48:20 · 4127 阅读 · 0 评论 -
【linux】select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
elect函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型: #include #include int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *ti转载 2013-06-26 00:23:03 · 3239 阅读 · 0 评论 -
getopt()和getopt_long()用法
如果在LINUX环境下面你想做与用户交互的程序开发的话,这个函数我想会对你有很大的帮助!~getopt用法有关系统调用getopt:声明: #include int getopt(int argc, char *const argv[], const char *optstring); extern ch转载 2013-06-26 23:06:43 · 3284 阅读 · 0 评论 -
Linux makefile 教程 非常详细,且易懂
Makefile 介绍———————make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个感兴认识。这个示例来源于GNU的make使用手册,在这个示例中,我们的工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。转载 2013-06-27 00:12:56 · 3415 阅读 · 0 评论 -
linux中select()函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式转载 2013-07-21 13:03:54 · 3042 阅读 · 0 评论 -
fcntl使用
功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);[描述]fcntl()针对(文件)描述符提供控制。参数fd转载 2013-08-05 18:45:14 · 3126 阅读 · 0 评论 -
[精彩] 转一篇讲解网络子系统的帖子
Chapter 7. 网络子系统 Linux强大的网络功能是如何实现的,让我们一起进入Linux内核的网络系统了解一下吧。7.1. sk_buff结构在Linux内核的网络实现中,使用了一个缓存结构(struct sk_buff)来管理网络报文,这个缓存区也叫套接字缓存。sk_buff是内核网络子系统中最重要的一种数据结构,它贯穿网络报文收发的整个周期。该结构在内核源码的转载 2013-08-29 15:44:06 · 3323 阅读 · 0 评论 -
【内核】Linux内核—内核内存管理方式
一 页 内核把物理页作为内存管理的基本单位;内存管理单元(MMU)把虚拟地址转换为物理地址,通常以页为单位进行处理。MMU以页大小为单位来管理系统中的也表。 32位系统:页大小4KB 64位系统:页大小8KB内核用相应的数据结构表示系统中的每个物理页: struct page {}内核通过这样的数据结构管理系统中所有的页,因转载 2013-09-02 19:19:28 · 3174 阅读 · 0 评论 -
Linux程序设计——用getopt处理命令行参数
Linux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。getopt()是一个专门设计来减轻命令行处理负担的库函数。1、命令行参数命令行程序设计的首要任务是解析命令行参数,GUI派的程序员很少转载 2013-06-23 18:33:21 · 3066 阅读 · 0 评论