自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 linux命令行参数编程

GNU/Linux的命令行选项有两种类型:短选项和长选项,前者以 '-' 作为前导符,后者以 '--' 作为前导符 。比如有一个命令: $ myprog -a vv --add -b --file a.txt b.txt - -- -e c.txt 在GNU/Linux系统,对这种情况的一种合理解释是: a是短选项,带一个参数vv; add是长选项,无参数; b是短选项,无参数; f

2012-02-05 19:21:34 389

转载 Linux环境进程间通信(二): 信号(下)

Linux环境进程间通信(二): 信号(下) 级别: 初级 郑彦兴 (mlinux@163.com)国防科大 2003 年 1 月 01 日 在信号(上)中,讨论了linux信号种类、来源、如何安装一个信号以及对信号集的操作。本部分则首先讨论从信号的生命周期上认识信号,或者宏观上看似简单的信号机制(进程收到信号后,作相应的处理,看上去再简单不过了),在微观上究竟是如何实现的,也是在更深层次

2012-02-05 19:20:25 268

转载 Linux环境进程间通信(二): 信号(上)

Linux环境进程间通信(二): 信号(上)   级别: 初级 郑彦兴 (mlinux@163.com)国防科大 2003 年 1 月 01 日   linux信号机制远远比想象的复杂,本文力争用最短的篇幅,对该机制做了深入细致的分析。读者可以先读一下信号应用实例(在信号(下)中),这样可以对信号发送直到相应的处理函数执行完毕这一过程有个大致的印象。本文尽量给出了较新函数的应用实例,着

2012-02-05 19:19:36 252

转载 《Linux环境进程间通信(一):管道及有名管道》

Linux环境进程间通信(一) 管道及有名管道 级别: 初级 郑彦兴 (mlinux@163.com)国防科大计算机学院   2002 年 12 月 11 日 在本系列序中作者概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系

2012-02-05 19:18:47 247

转载 linux 内核时钟驱动

有必要明确一些Linux内核时钟驱动中的基本概念。 (1)时钟周期(clock cycle)的频率:8253/8254 PIT的本质就是对由晶体振荡器产生的时钟周期进行计数,晶体振荡器在1秒时间内产生的时钟脉冲个数就是时钟周期的频率。Linux用宏 CLOCK_TICK_RATE来表示8254 PIT的输入时钟脉冲的频率(在PC机中这个值通常是1193180HZ),该宏定义在include/a

2012-02-05 19:17:24 400

转载 linux下的多线程编程

linux下的多线程编程 1 引言   线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。   为什么有了进程

2012-02-05 19:16:23 211

转载 linux驱动中的 write函数

inux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使       用文件那样向设备传送数据。可是为什么用户使用write函数就可以把数据写到设备里面       去,这个过程到底是怎么实现的呢?             这个奥秘就在于设备驱动程序的write实现中,这里我结合一些源代码来解释如何使得一       个简简单单的write函数能够完成向设

2012-02-05 19:14:48 986

转载 linux驱动中的ioctl函数

我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl,       所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混       了,这几天才弄明白它,于是在这里清理一下头脑。             一、 什么是ioctl。       ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道

2012-02-05 19:13:59 317

转载 使用 /proc 文件系统来访问 Linux 内核的内容

/proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux® 内核空间和用户空间之间进行通信。在 /proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的。本文对 /proc 虚拟文件系统进行了介绍,并展示了它的用法。     最初开发 /proc 文件系统是为了提供有关系统

2012-02-05 19:13:04 280

转载 linux内核空间与用户空间信息交互方法

linux内核空间与用户空间信息交互方法 本文作者: 康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。   摘要:在进行设备驱动程序,内核功能模块等系统级开发时,通常需要在内核和用

2012-02-05 19:11:29 330

转载 Linux设备驱动编程之内存与I/O操作

对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。   进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间,如下图:

2012-02-05 19:09:58 345

转载 shell编程

1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh   符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。   当编辑好脚本时,如果要执行该脚本,还必须使其可执行。   要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.

2012-02-05 19:08:50 223

转载 shell基本编程

在前一篇 bash 的介绍性文章中,Daniel Robbins 为您讲解了脚本语言的一些基本元素和使用 bash 的原因。在本文(即第二部分)中,Daniel 继续前一篇的内容,并讲解条件 (if-then) 语句、循环和更多的 bash 基本结构。     我们先看一下处理命令行自变量的简单技巧,然后再看看 bash 基本编程结构。 接收自变量     在 介绍性文章 中的样本程序中,我

2012-02-05 19:07:39 202

转载 Linux2.6 内核的 Initrd 机制解析

文档选项 Linux2.6 内核的 Initrd 机制解析 级别: 初级 李 大治 (dazhi.li@gmail.com), 软件工程师 2006 年 5 月 23 日 Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像

2012-02-05 19:06:11 666

转载 STL 简介,标准模板库

STL 简介,标准模板库 STL的一般使用 这篇文章是关于C++语言的一个新的扩展——标准模板库的(Standard Template Library),也叫STL。     当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话题的深度和广度。有很多内容要含盖,也有很多详细描述STL的书。因此我重新考虑了一下我原来的想法。我为

2012-02-05 19:04:23 211

转载 vector与 list与 deque的比较

vector   表示一段连续的内存区域每个元素被顺序存储在这段内存中对vector   的随机      访问比如先访问元素5   然后访问15   然后再访问7   等等效率很高因为每次访问离vector      起始处的位移都是固定的但是在任意位置而不是在vector   末尾插人元素则效率很低      因为它需要把待插入元素右边的每个元素都拷贝一遍类似地删除任意一个而不是vect

2012-02-05 19:02:52 225

转载 Linux下的内存泄露检测工具

Linux下的内存泄露检测工具     01)   MallocDebug     02)   Valgrind     03)   Kcachegrind     04)   ElectricFence.     05)   dmalloc     06)   ccmalloc     07)   LeakTracer     08)   memprof

2012-02-05 19:01:24 389

转载 内核编程-基础

《Linux设备驱动程序》       内核编程入门,就以最为简单的hello.c为例。     环境:Redhat 9.0,内核版本2.4.20-8。       虽然现在2.6.x的内核很早就就发布了,但是毕竟很多公司还在使用2.4.x的内核。作为新手,从2.4.x的内核入手是可行的。原因有如下几条:     (1)2.4.x比较成熟。可能你遇到的绝大多数问题,网上都有解决方案。在

2012-02-05 18:59:42 244

转载 brk, sbrk 函数

NAME        brk, sbrk - change data segment size SYNOPSIS        #include ;        int brk(void *end_data_segment);        void *sbrk(ptrdiff_t increment); DESCRIPTION        brk  sets

2012-02-05 18:54:58 2735

转载 函数调用约定:_stdcall,_cdecl,_fastcall

<!-- @page {margin:2cm} pre {font-family:"东文宋体"} p {margin-bottom:0.21cm} --> (1) _stdcall调用 _stdcall 是Standard Call的缩写,是C++的标准调用方式,也是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,如果是调用类成员的话,最后一个入栈的

2012-02-05 18:34:38 284

空空如也

空空如也

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

TA关注的人

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