01 2011 档案
摘要:原文地址:http://hi.baidu.com/_kouu/blog/item/c7f1bcd864bb76f939012f9f.html Big Kernel Lock(BKL)(大内核锁),是linux内核中使用到的一种锁,它跟普通的锁原理上的一样的:lock_kernel();/* 临界区 */unlock_kernel(); 但是它又有一些非常诡异的地方。从表面上看: 1、BKL是一...
阅读全文
摘要:常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,CPU和系统总线、...
阅读全文
摘要:赵蔚 (zhaoway@public1.ptt.js.cn) 简介: 本文主要讲述 Linux 上比较流行的 ext2 文件系统在硬盘分区上的详细布局情况。Ext2 文件系统加上日志支持的下一个版本是 ext3 文件系统,它和 ext2 文件系统在硬盘布局上是一样的,其差别仅仅是 ext3 文件系统在硬盘上多出了一个特殊的 inode(可以理解为一个特殊文件),用来记录文件系统的日志,也即所谓的 ...
阅读全文
摘要:2009年12月30日 星期三 20:33使用方法:[root@localhost beinan]# mkfs -t 文件系统 存储设备 注:这里的文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等... ...设备比如是一个硬盘的分区,软盘,光驱等.. ... 在格式化分区之前,您得懂得如何查看硬盘分区情况,并有针对性的格式化;比如用 fdisk...
阅读全文
摘要:1: /* 2: * mkfs.c - make a linux (minix) file-system. 3: * 4: * (C) 1991 Linus Torvalds. This file may be redistributed as per 5: * the Linux copyright. 6: */ 7: 8: /* 9: * 24.11...
阅读全文
摘要:转载自http://kernel-of-linux.blogbus.com/logs/15569454.html 首先先编写这样一个SHELL程序,目的:把当前目录下的所有文件中的“EXT2”都改为“MYEXT2”。 在/home/xs的目录下建立substitute.sh #mkdir xs #cd xs #touch substitute.sh # vi substitute.sh ...
阅读全文
摘要:引用自http://www.blogbus.com/public/tb.php/4346144/15887442/5aaba108490b7c1550d529b8371fb1b4 创建和添加一个文件系统一、问题描述 本项目的内容是要添加一个类似于ext2的自定义文件系统xs_ext2。我们对xs_ext2文件系统的描述如下: 1、xs_ext2文件系统的物理格式定义与ext2基本一致,除了xs_ext2的magic number是0x6666,而ext2的magic number是0xEF53。 2、xs_ext2是ext2的定制版本,它只支持原来ext2文件系统的部分操作,以及修改了部
阅读全文
摘要:在Linux操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法...
阅读全文
摘要:功能说明:设置循环设备。 语 法:losetup [-d][-e 加密方式][-o 平移数目][循环设备代号][文件] 补充说明:循环设备可把文件虚拟成区块设备,籍以模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。 参 数: -d 卸除设备。 -e加密方式 启动加密编码。 -o平移数目 设置数据平移的数目。
阅读全文
摘要:转载自http://linux.chinaunix.net/doc/system/2005-02-03/1086.shtml dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。 dd 的主要选项:指定数字的地方若以下列字符结尾乘以相应的数字:b=512, c=1, k=1024, w=2, xm=number m if=fi...
阅读全文
摘要:方法其实方法很EASY, 1.让IIS支持ASPX,添加Web服务扩展的方法 打开IIS,本地计算机,右击"默认网站"点"所有任务"再点"添加Web服务扩展",这样就有Web服务扩展了,有了这个,那该IIS也就支持aspnet了. 如果有了Web服务扩展还不支持aspnet的话,则,继续下面的方法: 一、先注册asp.net组件: (asp.NET 组件即:.Net Framework )...
阅读全文
摘要:用gcc编译c程序的时候 经常会出现implicit declaration of function '...' 的warning 偶经过这几天的经验,发现主要有2种情况会产生这种warning 1 没有把函数所在的c文件生成.o目标文件2 在函数所在的c文件中定义了,但是没有在与之相关联的.h文件中声明
阅读全文
摘要:服务器上安装了ASP.NET v2.0组件,但是在IIS的Web服务扩展中并没有找到ASP.NET v2.050727这项,这导致基于.NET2.0开发的网页都无法正常浏览。 解决方法:打开IIS,转至Web服务扩展中,点击右侧窗口任务下的“添加一个新的Web服务扩展”,在弹出的窗口中,点击添加,然后找到x:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\...
阅读全文
摘要:出现的错误如下: 您无权查看该网页您可能没有权限用您提供的凭据查看此目录或网页。 解决办法: 1、没有设置好首页文件 打开IIS然后依次打开该网站的属性--文档--添加,把需要设置成首页的文件填上去,如index.asp 2、没有允许ASP 打开IIS然后找到“web 服务扩展”,把“Active Server Pages”允许就行了 3、权限设置错误 全部都使用“IUSR_计算机...
阅读全文
摘要:一、定义: struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是: 721struct file { 722 /* 723 * fu_list becomes invalid after file_free is called and queued via 724 * fu_rcuhead for RCU freeing...
阅读全文
摘要:struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * fu_list becomes invalid after file_free is called and queued via * fu_rcuhead for RCU freeing */ union { struct list...
阅读全文
摘要:在Linux2.6内核中一个字符设备用cdev结构来描述,其定义如下:struct cdev { struct kobject kobj; struct module *owner; //所属模块 const struct file_operations *ops; //文件操作结构,在写驱动时,其结构体内的大部分函数要被实现 struct list_head list; dev_t dev; ...
阅读全文
摘要:在 linux 2.6内核中,使用 cdev结构体描述字符设备,cdev 的定义在 linux/cdev.h 中可找到,其定义如下:引用 struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list; dev_t dev; uns...
阅读全文
摘要:Linux中的File_operations结构体2008-07-07 12:34File_operations结构体 file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了Linux设备驱动程序的工作。 在系统内部,I/O设备的存取操作通过特定的入口...
阅读全文
摘要:我的理解是这样的: 两个主要数据结构如下:struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (...
阅读全文
摘要:copy_to_user,copy_from_user,get_user,put_user函数比较copy_to_user -- Copy a block of data into user space. copy_from_user -- Copy a block of data from user space.get_user -- Get a simple variable from use...
阅读全文
摘要:在Linux平台下,每一个进程都有一个task_struct数据结构,用来存储该进程的相关信息。task_struct在内核的以下代码中定义(以2.6.36为例,其他类似):http://lxr.linux.no/linux+v2.6.27/include/linux/sched.h。 task_struct最简单的两个成员,其他的这里就不再介绍了:进程名称点击隐藏C CODE1153115411...
阅读全文
摘要:尽管内核模块不象应用程序一样顺序执行, 内核做的大部分动作是代表一个特定进程的. 内核代码可以引用当前进程, 通过存取全局项 current, 它在 asm/current.h 中定义, 它产生一个指针指向结构 task_struct, 在 linux/sched.h 定义. current 指针指向当前在运行的进程. 在一个系统调用执行期间, 例如 open 或者 read, 当前进程是...
阅读全文
摘要:http://blog168.chinaunix.net/space.php?uid=24219701&do=blog&cuid=2439407 硬件接法:L3MODE - GPB2 L3DATA-GPB3 L3CLOCK-GPB4 内核自带的声卡驱动,可以正常编译,也会打印出正确的配置信息,但是播放时没有声音,也不能进行录音。要替换掉内核自带的驱动(注意先备份[sound/soc/s3c...
阅读全文
摘要:http://blog.csdn.net/lemon_fantasy/archive/2009/02/17/3901030.aspx Linux 将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux内核和应用程序之间的接口,那么设备驱动程序则可以看成是Linux 内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样...
阅读全文
摘要:发布日期: 2004 年 8 月 01 日 杨沙洲 (pubb@163.net)国防科技大学计算机学院 简介: 本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。 原文地址:http://www.ibm.com/developerworks/cn/linux/kernel/l-chain/index.html 一、 链表数据结构简介 链表是一种常...
阅读全文
摘要:转载自 http://blog.csdn.net/jjbear_ustc/archive/2009/12/22/5057009.aspx 在Linux内核中,各个子系统之间有很强的相互关系,某些子系统可能对其它子系统产生的事件感兴趣。为了让某个子系统在发生某个事件时通知感兴趣的子系统,Linux内核引入了通知链技术。通知链只能够在内核的子系统之间使用,而不能够在内核和用户空间进行事件的通知。1 数...
阅读全文
摘要:发布日期: 2006 年 2 月 16 日 燚 杨 (yang.y.yi@gmail.com), 计算机科学硕士 简介: 本系列文章包括两篇,它们文详细地地介绍了Linux系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌握这些技术的...
阅读全文
摘要:[日期:2006-02-27] 杨燚 ,计算机科学硕士 本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与 sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌握这些技术的使用。本文是该系列文章的第一篇,它介绍了内核启动参数、模块参...
阅读全文
摘要:1)往受到系统保护的内存地址写数据 有些内存是内核占用的或者是其他程序正在使用,为了保证系统正常工作,所以会受到系统的保护,而不能任意访问. 编译和执行一下, 咋一看,好像没有问题哦,不就是读取一个数据然后给输出来吗? falcon@falcon:~/temp$ gcc -g -o segerr segerr.c –加-g选项查看调试信息 falcon@falcon:~/temp$ gdb ./...
阅读全文
摘要:这个简单的Shell,其功能有:解释执行命令,支持输入输出重定向,支持管道,后台运行程序。 1、运行本程序后,它支持以下命令格式 单个命令,如:ls。 带l到多个参数的命令,如ls -l /tmp。 带一个输出重定向的命令,如ls -l / a。 带一个输入重定向的命令,如wc -c a。 带一个管道的命令,如ls -l / | wc -c 后台运行符&可回在以上各个命令的最后面。 如:l...
阅读全文
摘要:These are part of the GNU readline library. Strange that Mandrake doesn't have this installed by default You can download the readline library from http://www.gnu.org/directory/libs/readline.html
阅读全文
摘要:摘要:本期的目的是向大家介绍shell的概念和基本原理,并且在此基础上动手做一个简单shell解释器。同时,还将就用到的一些 linux环境编程的知识做一定讲解。 本文适合的读者对象 对linux环境上的c语言开发有一定经验; 对linux环境编程(比如进程、管道)有一点了解。概述 本章的目的是带大家了解shell的基本原理,并且自己动手做一个shell解释器。为此, 首先,我们解释什么是...
阅读全文
摘要:FLEX 什么是FLEX?它是一个自动化工具,可以按照定义好的规则自动生成一个C函数yylex(),也成为扫描器(Scanner)。这个C函数把文本串作为输入,按照定义好的规则分析文本串中的字符,找到符合规则的一些字符序列后,就执行在规则中定义好的动作(Action)。例如在规则中可以这样定义:如果遇到一个换行字符\n,那么就把行计数器的值加一。 Flex文件就是一个文本文件,内容包括定义好的...
阅读全文

浙公网安备 33010602011771号