自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

转载 Linux可加载内核模块(LKM)

I.基础知识1.什么是LKM 2.什么是系统调用3.什么是内核符号表4.如何进行内核与用户空间内存数据的交换5.使用用户空间的各种函数方法6.常用内核空间函数列表7.什么是内核后台进程8.创建自己的设备II.深入探讨1.如何截获系统调用2.哪些系统调用应被截获2.1 寻找重要的系统调用(strace命令方法)3.迷惑内核系统表4.针对文件系统

2012-12-12 22:21:08 9408 2

转载 Linux内核的同步机制

本系列文章分两部分,第一部分详细地介绍了Linux 内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,使用要求以及一些典型示例。第二部分将详细介绍在Linux内核中的另外一些同步机制,包括大内核锁、读写锁、大读者锁、RCU和顺序锁。第1 部分一、  引言在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同

2012-12-12 22:16:44 1004

转载 iSCSI技术白皮书

一、前言ISCSI(INTERNET SCSI)是由Internet Engineering Task Force(IETF)开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,ISCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,ISCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。因

2012-12-12 10:29:58 3022

转载 open-iscsi源码分析 -- 会话建立

前面可以看出,处理控制中心还是iscsid守护进程,其他进程都是向它发出服务请求,然后它做出响应,而它完成一些操作又是向底层驱动发出指令。在前面的源码中可以发现,重要是一个mgmt_ipc_functions的函数指针数组是一个操作函数集合,其中的函数分别处理不同的服务,服务id就是它在函数指针数组中的索引。/*不同任务id对应的处理函数地址*/static mgmt_ipc_fn_t

2012-12-11 22:20:15 2394

转载 open-iscsi源码分析 -- list-head分析

list-head结构在linux内核中用得非常多,这是一个双向链表结构,可以灵活嵌入其他数据结构中,对于建立链表非常方便。在Linux内核中,由于很多数据结构都需要连成一个链表进行管理,所以有了list-head将链表的管理独立出来,所以在内核编程不需要自己实现list-head的一些管理函数,可以直接调用。  在open-iscsi用户态编程时,将这个文件从内核中拷贝出来了:

2012-12-11 22:18:13 1031

转载 open-iscsi源码分析 -- 进程通信

前面分析了open-iscsi主要有一个守护进程iscsid,即通过本地socket和用户其他进程通信,比如iscsiadm管理执行任务时,需要和iscsid通信,iscsi的底层驱动则通过netlink和iscsid通信,而用户态其他进程还通过共享内存和iscsid日志守护进程通信。所以在iscsi服务启动后,我们会发现在系统中有两个名为iscsid的进程,其中一个为日志守护进程,另一个

2012-12-11 22:16:42 2494

转载 open-iscsi源码分析 -- 流程详细分析

在iscsid.c文件的main函数中,有:sysfs_init();这个函数主要是获取系统sys目录://获取sys目录int sysfs_init(void){const char *env;/*从环境变量中获取sys路径*/env = getenv("SYSFS_PATH");if (env) {strlcpy(sysfs_path

2012-12-11 22:15:24 2729

转载 open-iscsi源码分析 -- 日志处理

在iscsid主函数中有:  log_pid = log_init(program_name, DEFAULT_AREA_SIZE, daemonize ? log_do_log_daemon : log_do_log_std, NULL);   初始化日志系统,现在进入log_init函数,对open-iscsi的日志处理方式进行详细分析:       /*

2012-12-11 22:13:37 2013

转载 open-iscsi源码分析 -- iscsid

最近用到open-iscsi作用initiator,遇到很多问题,就打算粗率对open-iscsi的源码进行一个分析。    open-iscsi的组成和用法就不讲了,源码包中的README说得非常清楚,主要分为驱动和用户态两部分,用户态又分为服务守护进程和管理程序,必须先加载驱动,守护进程才能启动成功,最后才是运行iscsiadm进行一些常规管理。    今天首先对open-is

2012-12-11 22:11:52 3549

转载 LINUX SCSI I/O分析

概述LINUX 内核中 SCSI 子系统由 SCSI 上层,中间层和底层驱动模块 [1] 三部分组成,主要负责管理 SCSI 资源和处理其他子系统,如文件系统,提交到 SCSI 子系统中的 IO 请求。因此,理解 SCSI 子系统的 IO 处理机制对理解整个 SCSI 子系统就显的十分重要,同时也有助于理解整个 LINUX 内核的 IO 处理机制。本文从 SCSI 设备访问请求的提交,SCSI

2012-12-11 21:30:35 10708 1

转载 Linux I/O调度

Linux I/O调度一) I/O调度程序的总结    1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成.    2) 每个块设备都有它自己的队列.    3) I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/O操作变为有序的I/O操作.    4) 内核必须首先确定队列中一共有多少个请求,然后才开始进

2012-12-11 20:31:44 1010

空空如也

空空如也

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

TA关注的人

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