自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

翻译 预备翻译C99文档

摘要封面将由国际标准化组织(ISO组织)秘书处提供。ABSTRACT(Coversheet to be provided by ISO Secretariat.)该标准规定了C语言的格式,对C语言的各种表达式进行了解释,以保证在不同的计算机系统里C语言的可移植性,可靠性,可维护性以及执行的效率This International Standard specifies the form a

2009-12-05 15:29:00 2266 1

原创 emc的4道面试题自解

 1.int main() {  fork();  fork()&&fork()||fork();  fork(); } 问:共创建了多少进程?这道题我第一个映像就是短路求值,然后又想到了几何级数,以及fork函数,fork后还有fork我的答案是20-1=19。前边的20是进程总数,后边-1是创建进程数第一个fork完后共用2个进程(ID=1,ID=2),第二个fork,当返回值为0

2009-11-12 19:19:00 5051

转载 库函数和系统调用的区别 -

Unix操作系统设计上的陈述:理解库函数的区别和系统调用,首先要里理解Unix的kernel mode和user mode。考虑下面的函数段:int main(){    int fd = create("filename",0666);    exit(0);}在执行main函数时,是在user mode下执行,当遇到create函数时,继续在user mode下执行。然

2009-10-22 13:58:00 2017

转载 使用 Linux 系统调用的内核命令

使用 Linux 系统调用的内核命令探究 SCI 并添加自己的调用      级别: 中级M. Tim Jones, 顾问工程师, Emulex

2009-10-22 13:41:00 1736

转载 了解 TCP 系统调用序列

从内核到应用程序级别的函数调用序列    文档选项   打印本页   打印本页     将此页作为电子邮件发送   将此页作为电子邮件发送   级别: 中级Bindu Anupama ([email protected]), 软件工程师, IBM 2007 年 12 月 10 日TCP/IP 编程接口提供各种系统调用,以帮助您有效地使用该协议。TCP 堆栈代码数量繁多,深入到内

2009-10-22 13:40:00 1752

转载 linux系统调用列表

2002 年 3 月 01 日本文列出了大部分常见的Linux系统调用,并附有简要中文说明。以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。按照惯例,这个列表以man pages第2节,即系统调用节为蓝本。按照笔者的

2009-10-22 13:37:00 1720

转载 Linux内核2.6.14源码分析-双向循环链表代码分析

Linux内核源码分析-链表代码分析分析人:余旭分析时间:2005年11月17日星期四 11:40:10 AM雨 温度:10-11度编号:1-4 类别:准备工作Email:[email protected]时代背景:开始在www.linuxforum.net Linux内核技术论坛上面发贴,在网友的帮忙下,解决了一些问题。版权声明:版权保留。本文用作其他用途当经作者本人同意,转载请注明作者姓名

2009-10-17 04:38:00 2254

转载 信号及信号处理--信号处理--信号的屏蔽

信号及信号处理--信号处理--信号的屏蔽时  间: Thu Sep  3 13:49:38 2009点  击: 182009-07-04 22:34    1、信号集    前面列出的信号总数目达64个,超过了一个整型数能表示的位数(一个整型变量通常为32位),因此不能用整型量中的一位代表一种信号。POSIX标准定义了数据类型sigset_t来表示信号集,并且定义了一系列函数操作信号集。在Shel

2009-10-17 04:38:00 2529

转载 原子操作的内核源代码剖析

作 者: HUFAN标 题: 原子操作的内核源代码剖析 时 间: Mon Aug 31 11:44:12 2009点 击: 26分析人:余旭 分析版本:Linux Kernel 2.6.14 来自于:www.kernel.org 分析文件: 1./include/asm-i386/atomic.h 2./include/linux/compiler-

2009-10-17 04:37:00 3685

转载 volatile修饰符的作用

关于c中volatile关键字2007-12-21 23:01一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:    1). 并行设备的硬件寄存器(如:状态寄存器)    2). 一个中断服务子程序

2009-10-17 04:36:00 2163

转载 Linux中的"零拷贝"剖析

http://blog.chinaunix.net/u/9861/showart_1890675.htmlLinux中的"零拷贝"剖析Zero Copy I: User-Mode PerspectiveAuthor By Dragan StancevicTranslated By Love. Katherine(解释Linux中的"零拷贝"特性,为什么有用以及何处需要改进之处)如今几乎每个人都听说

2009-10-17 04:35:00 4786

转载 Linux 同步方法剖析

在学习 Linux® 的过程中,您也许接触过并发(concurrency)、临界段(critical section)和锁定,但是如何在内核中使用这些概念呢?本文讨论了 2.6 版内核中可用的锁定机制,包括原子运算符(atomic operator)、自旋锁(spinlock)、读/写锁(reader/writer lock)和内核信号量(kernel semaphore)。 本文还探讨了每种机制

2009-10-17 04:35:00 1672

转载 volatile和原子操作

标  题: volatile和原子操作时  间: Thu Aug  6 12:16:53 2009点  击: 26所谓原子操作,就是"不可中断的一个或一系列操作" , 在确认一个操作是原子的情况下,多线程环境里面,我们可以避免仅仅为保护这个操作在外围加上性能昂贵的锁,甚至借助于原子操作,我们可以实现互斥锁。很多操作系统都为int类型提供了+-赋值的原子操作版本,比如 NT 提供了 Interloc

2009-10-17 04:34:00 1977

转载 c语言中的offsetof()宏

offsetof  :    Retrieves the offset of a member from the beginning of its parent structure.size_t offsetof(structName, memberName);Parameters:    structName : Name of the parent data structure.    mem

2009-10-17 04:32:00 1669

转载 volatile和原子操作

作 者: HUFAN标 题: volatile和原子操作时 间: Thu Aug 6 12:16:53 2009点 击: 25所谓原子操作,就是"不可中断的一个或一系列操作" , 在确认一个操作是原子的情况下,多线程环境里面,我们可以避免仅仅为保护这个操作在外围加上性能昂贵的锁,甚至借助于原子操作,我们可以实现互斥锁。很多操作系统都为int类型提供了+

2009-10-17 04:32:00 2091

转载 C问题集锦(一)

楼主发表于:2009-07-24 10:11:03是这样的,去一家公司面试,遇到了一道c语言的题,个人感觉很怪,以前没见过类似的,然后主考官说这是关于C语言强弱类型转换什么的,我感觉他自己都不完全清楚,然后回来在网上查到这是英国剑桥大学网上出的计算机题 : #include #define init_employee(X,Y) {(X),(Y),wage_emp} typedef struct

2009-10-17 04:30:00 1608

转载 关于问题vxworks与linux区别

关于问题vxworks与linux区别  接触过vxworks与linux,也有人问起我两者的区别,其实这个问题真的比较大,查资料做了些总结,但也只是冰山一角,不过以后有了心得再添加进来也不迟。 vxworkslinux   内核结构   微内核,内核只提供了基本的服务,如:任务管理

2009-09-30 14:09:00 2511

原创 RFC2890

组织:中国互动出现网 (http://www.china-pub.com/) RFC文档中文翻译计划 (http://www.china-pub.com/computers/emook/aboutemook.htm) E-mail: [email protected]译者:hlq (hlq [email protected])译文发布时间:版权:本中文翻译文档

2009-09-29 16:57:00 2209

原创 GRE 协议简介

通用路由选择封装(Generic Routing Encapsulation,GRE)是网络中通过隧道将通信从一个专用网络传输到另一个专用网络常用到的一个协议。尽管GRE不提供加密服务,但它提供低开销隧道。本章通过GRE的RFC展示了GRE的不同实现并比较了其不同之处。我们将分析GRE头的各个域。在此基础上,讨论涉及GRE配置的实例研究。我们将关注GRE的更具普遍性的用

2009-09-29 16:53:00 17568

原创 用于 Power 体系结构的汇编语言

用于 Power 体系结构的汇编语言 收藏 第 1 部分: 编程概念和基本 PowerPC 指令POWER5 和其他 PowerPC 处理器系列产品POWER5™ 处理器是支持 PowerPC® 指令集的高性能处理器系列产品中的最新产品。此系列处理器中的第一款 64 位处理器就是 POWER3。Macintosh G5 处理器是 POWER4 处理器的扩展,增加了额外的向量处理单元。POWER5

2009-09-27 17:12:00 4008

原创 printf和标准输出

printf和标准输出  printf和标准输出    上次写到main函数的参数传递.现在继续往下进行.最近忙实验室的事情,看了一周的文章,也没啥进展,周末写点技术贴,放松一下:-)    进入main函数后,就要调用printf("Hello World!");了.顺便将C语言参数传递提一下.字符串"Hello

2009-09-27 12:45:00 633

转载 linux软中断机制

  linux软中断机制  中断服务程序往往都是在CPU关中断的条件下执行的,以避免中断嵌套而使控制复杂化。但是CPU关中断的时间不能太长,否则容易丢失中断信号。为此, Linux将中断服务程序一分为二,各称作“Top Half”和“Bottom Half”。前者通常对时间要求较为严格,必须

2009-09-27 12:45:00 1353

原创 eaps

               Extreme Networks             Ethernet Automatic Protection Switching (EAPS)                               Version 1Status of this Memo   This memo provides information for the Internet

2009-09-25 17:58:00 1390 1

转载 Linux系统资源限制

日志原文:http://t82d83k12j07y17f.blog.sohu.com/90538905.htmlLinux系统调用--getrlimit/setrlimit函数详解功能描述:获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制

2009-09-16 17:55:00 3389

转载 Linux开发人员的最佳网站

If you are a Linux Developer in search of great resources, then look no further. Here you will find the best of the best.如果您是一名Linux开发人员,寻找在必要时可给予名副其实的帮助与支持的资源,那就别再观望。在此就可以找到最佳网站中的最佳网站。Develop

2009-09-16 07:46:00 881

原创 (进程)处理过程中的Linux:从执行到退出

      Linux是一个多任务操作系统,表面上看,同时运行许多任务——即进程。每一个进程都在系统中留下足迹。这里介绍一些检查这些足迹的工具,并且还要说明蔓延的/proc目录到底是什么。    欢迎归来。上周我们考察Linux调度程序如何区分要运行的进程的优先级,并且学习了jiffies(译注:计算机系统时钟滴答声持续时间,约1/100秒)和僵尸进程。现在是考虑一个Linux进程生命周期的时

2009-09-14 15:16:00 1949

原创 C99结构体指定初始化

在阅读GNU/Linux内核代码时,我 们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化 项目: static struct usb_driver usb_stora

2009-06-19 10:02:00 1303

原创 Linux 内核中的 GCC 特性

Linux® 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。    GCC 和 Linux 是出色的组合。尽管它们是独立的软件,但是 Linux 完全依靠 GCC 在新的体系结构上运行。Linux 还利用 GCC 中的特性(称

2009-06-19 01:44:00 442

原创 什么是字节对齐

什么是字节对齐一.什么是字节对齐,为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只

2009-06-15 21:38:00 358

原创 __attribute__

GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute

2009-06-15 08:25:00 343

原创 AT&T x86 asm 语法

linux下gcc的汇编格式是at&t格式的,和我们平时用的intel格式的汇编语法不一样,所以很多熟悉windows汇编的人到linux下有点无所适从,所以我贴了我以前写的这篇文档,帮助大家理解at&t汇编,做个参考手册////////////////////////////////////////////////////////////////////////////////AT&T x86

2009-06-15 08:22:00 646

原创 汇编语言

开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。如果你是计算机专业的话,在大学里你应该学习过Intel格式的8086/80386汇编,这里就不再讨

2009-06-14 19:27:00 886

原创 linux2.6内核研读笔记一

/** BIG FAT NOTE: Were in real mode using 64k segments.  Therefore segment * addresses must be multiplied by 16 to obtain their respective linear * addresses. To avoid confusion, linear addre

2009-06-14 16:42:00 615

原创 bootloader详解

一。bootloader介绍 bootloader是硬件在加电开机后,除BIOS固化程序外最先运行的软件,负责载入真正的操作系统,可以理解为一个超小型的os。目前在Linux平台中主要有lilo、grub等,在Windows平台上主要有ntldr、bootmgr、grldr等。这里以grub-0.97为基础描述bootloader的启动过程。 一般grub主要分为sta

2009-06-14 16:18:00 3790 3

原创 bios 中断

BIOS中断:1、显示服务(Video Service——INT 10H) 00H —设置显示器模式0CH —写图形象素01H —设置光标形状0DH —读图形象素02H —设置光标位置0EH —在Teletype模式下显示字符03H —读取光标信息0FH —读取显示器模式04H —读取光笔位置10H —颜色05H —设置显示页11H —字体06H、07H —初始化或滚屏12H —显示器的配置08H

2009-06-14 15:58:00 1142

原创 关于生成树协议

       生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。    由于生成树协议本身比较小,所以并不像路由协议那样广为人知。但是它却掌管着端口的转发大权—“小树枝抖一抖,上层协议就得另谋生路”。真实情况也确实如此,特别是在和别的协议一起运行的时候,生成树就有可能断了其他协议的报文通路,造成种种奇怪的

2008-07-29 15:54:00 1237

原创 常用的组播地址

Address Usage 224.0.0.1 All multicast hosts  所有多播的主机224.0.0.2 All multicast routers 所有多播的路由224.0.0.4 DVMRP routers 远距离向量多点传输的路由224.0.0.5 All OSPF routers 所有OSPF路由224.0.0.6 OSPF designated routers OS

2008-07-29 15:42:00 3414

linux内核完全注释(0.11)

虽然内核版本比较低,但是基本上pc机的原理都在里边了,看操作系统,我觉得还是应该循序渐进些,一开始看深入理解linux内核会很累的,呵呵

2009-07-28

linux技术内幕及打开工具

内含打开工具exe文件,打开djvu文件的书 学操作系统必备,经典啊 linux内核源码三本书之一

2009-07-28

《程序调试思想与实践》

一本很不错的关于bug的书,被称为bug的经典之作,程序员提升修养必备

2009-06-23

Programming the Microsoft Windows driver mode中文版

前言<br>Windows Driver Model(WDM)的根源可追溯到几年前一种叫做Windows for Workgroups 3.10的操作系统。那时候我们努力地支持无数不同的SCSI控制器,我长期地注意WindowsNT开发组创建的小端口驱动程序类型。不久就认识到重新构造必要的映象加载器(image loader)和小端口驱动程序需要的执行环境比把这些小端口驱动程序重写成某些VXD形式的驱动程序并调试完毕所花费的努力要少得多。<br><br>不幸的是,Windows from Workgroups 3.10已经停止发行带有SCSI小端口支持的版本,主要是由于象ASPI(高级SCSI编程接口)这样的外围问题。然而,跨Windows和windows NT操作系统共享同样的驱动程序执行映象的基础是适当的并且可以在win95中见到,它(win95)可以与NT共享SCSI和NDIS小端口驱动程序二进制代码。<br><br>共享驱动程序模式的潜在意义是重大的。驱动程序开发人员感兴趣的是支持双平台,共享驱动模式能降低开发和调试的一半开消。对微软来说,共享模式意味着更容易地从win9x迁移到Windows2000或这个平台的未来版本。对最终用户来说,大量不同种类的稳定驱动程序可以在这个家族中的所有成员之间通用。<br><br>下一个(逻辑)步骤是<br><br>The next logical step, then, was to create a driver model with the ability to share general purpose drivers across both platforms. But what form should it take? Three requirements were immediately obvious: it must be multiprocessor-capable, it must be processor-independent, and it must support Plug and Play (PnP). Fortunately, the Windows NT 4.0 driver model met the first two requirements, and it seemed clear that the next major release of Windows NT would support PnP as well. As a result, WDM can be considered a proper subset of what is now the Windows NT driver model.<br><br>The potential benefits of a shared driver model can be realized today for many classes of devices, and choosing the WDM driver model will continue to pay dividends in the future. For example, a correctly written WDM driver requires only a recompile before functioning in an NT 64-bit environment prototype.<br><br>WDM will continue to evolve as new platforms and device classes are supported. Future versions of Windows 9x and Windows 2000 will contain upwardly revised WDM execution environments. Fortunately, WDM is designed to be \"backward compatible,\" meaning that WDM drivers written according to the Windows 2000 DDK and designed to work for the intended environment will continue to work in a subsequent WDM environments.<br><br>There is a lot to WDM, and in this book Walter does an excellent job in offering an in-depth tour of every aspect as well as the philosophy of the Windows Driver Model.<br><br>Forrest Foltz <br>微软公司Windows开发体系结构设计者 <br>

2008-07-30

空空如也

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

TA关注的人

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