- 博客(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
2327
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
5265
转载 库函数和系统调用的区别 -
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
2072
转载 使用 Linux 系统调用的内核命令
使用 Linux 系统调用的内核命令探究 SCI 并添加自己的调用 级别: 中级M. Tim Jones, 顾问工程师, Emulex
2009-10-22 13:41:00
1783
转载 了解 TCP 系统调用序列
从内核到应用程序级别的函数调用序列 文档选项 打印本页 打印本页 将此页作为电子邮件发送 将此页作为电子邮件发送 级别: 中级Bindu Anupama (anubindu@in.ibm.com), 软件工程师, IBM 2007 年 12 月 10 日TCP/IP 编程接口提供各种系统调用,以帮助您有效地使用该协议。TCP 堆栈代码数量繁多,深入到内
2009-10-22 13:40:00
1788
转载 linux系统调用列表
2002 年 3 月 01 日本文列出了大部分常见的Linux系统调用,并附有简要中文说明。以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完全也是很罕见的。按照惯例,这个列表以man pages第2节,即系统调用节为蓝本。按照笔者的
2009-10-22 13:37:00
1752
转载 Linux内核2.6.14源码分析-双向循环链表代码分析
Linux内核源码分析-链表代码分析分析人:余旭分析时间:2005年11月17日星期四 11:40:10 AM雨 温度:10-11度编号:1-4 类别:准备工作Email:yuxu9710108@163.com时代背景:开始在www.linuxforum.net Linux内核技术论坛上面发贴,在网友的帮忙下,解决了一些问题。版权声明:版权保留。本文用作其他用途当经作者本人同意,转载请注明作者姓名
2009-10-17 04:38:00
2335
转载 信号及信号处理--信号处理--信号的屏蔽
信号及信号处理--信号处理--信号的屏蔽时 间: 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
2586
转载 原子操作的内核源代码剖析
作 者: 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
3756
转载 volatile修饰符的作用
关于c中volatile关键字2007-12-21 23:01一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序
2009-10-17 04:36:00
2206
转载 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
4841
转载 Linux 同步方法剖析
在学习 Linux® 的过程中,您也许接触过并发(concurrency)、临界段(critical section)和锁定,但是如何在内核中使用这些概念呢?本文讨论了 2.6 版内核中可用的锁定机制,包括原子运算符(atomic operator)、自旋锁(spinlock)、读/写锁(reader/writer lock)和内核信号量(kernel semaphore)。 本文还探讨了每种机制
2009-10-17 04:35:00
1714
转载 volatile和原子操作
标 题: volatile和原子操作时 间: Thu Aug 6 12:16:53 2009点 击: 26所谓原子操作,就是"不可中断的一个或一系列操作" , 在确认一个操作是原子的情况下,多线程环境里面,我们可以避免仅仅为保护这个操作在外围加上性能昂贵的锁,甚至借助于原子操作,我们可以实现互斥锁。很多操作系统都为int类型提供了+-赋值的原子操作版本,比如 NT 提供了 Interloc
2009-10-17 04:34:00
2020
转载 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
1704
转载 volatile和原子操作
作 者: HUFAN标 题: volatile和原子操作时 间: Thu Aug 6 12:16:53 2009点 击: 25所谓原子操作,就是"不可中断的一个或一系列操作" , 在确认一个操作是原子的情况下,多线程环境里面,我们可以避免仅仅为保护这个操作在外围加上性能昂贵的锁,甚至借助于原子操作,我们可以实现互斥锁。很多操作系统都为int类型提供了+
2009-10-17 04:32:00
2128
转载 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
1663
转载 关于问题vxworks与linux区别
关于问题vxworks与linux区别 接触过vxworks与linux,也有人问起我两者的区别,其实这个问题真的比较大,查资料做了些总结,但也只是冰山一角,不过以后有了心得再添加进来也不迟。 vxworkslinux 内核结构 微内核,内核只提供了基本的服务,如:任务管理
2009-09-30 14:09:00
2573
原创 RFC2890
组织:中国互动出现网 (http://www.china-pub.com/) RFC文档中文翻译计划 (http://www.china-pub.com/computers/emook/aboutemook.htm) E-mail: ouyang@china-pub.com译者:hlq (hlq hlq@mail.ndsc.com.cn)译文发布时间:版权:本中文翻译文档
2009-09-29 16:57:00
2270
原创 GRE 协议简介
通用路由选择封装(Generic Routing Encapsulation,GRE)是网络中通过隧道将通信从一个专用网络传输到另一个专用网络常用到的一个协议。尽管GRE不提供加密服务,但它提供低开销隧道。本章通过GRE的RFC展示了GRE的不同实现并比较了其不同之处。我们将分析GRE头的各个域。在此基础上,讨论涉及GRE配置的实例研究。我们将关注GRE的更具普遍性的用
2009-09-29 16:53:00
17735
原创 用于 Power 体系结构的汇编语言
用于 Power 体系结构的汇编语言 收藏 第 1 部分: 编程概念和基本 PowerPC 指令POWER5 和其他 PowerPC 处理器系列产品POWER5™ 处理器是支持 PowerPC® 指令集的高性能处理器系列产品中的最新产品。此系列处理器中的第一款 64 位处理器就是 POWER3。Macintosh G5 处理器是 POWER4 处理器的扩展,增加了额外的向量处理单元。POWER5
2009-09-27 17:12:00
4173
原创 printf和标准输出
printf和标准输出 printf和标准输出 上次写到main函数的参数传递.现在继续往下进行.最近忙实验室的事情,看了一周的文章,也没啥进展,周末写点技术贴,放松一下:-) 进入main函数后,就要调用printf("Hello World!");了.顺便将C语言参数传递提一下.字符串"Hello
2009-09-27 12:45:00
675
转载 linux软中断机制
linux软中断机制 中断服务程序往往都是在CPU关中断的条件下执行的,以避免中断嵌套而使控制复杂化。但是CPU关中断的时间不能太长,否则容易丢失中断信号。为此, Linux将中断服务程序一分为二,各称作“Top Half”和“Bottom Half”。前者通常对时间要求较为严格,必须
2009-09-27 12:45:00
1429
原创 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
1489
1
转载 Linux系统资源限制
日志原文:http://t82d83k12j07y17f.blog.sohu.com/90538905.htmlLinux系统调用--getrlimit/setrlimit函数详解功能描述:获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某个值,同时能不可逆转地降低其硬限制
2009-09-16 17:55:00
3430
转载 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
918
原创 (进程)处理过程中的Linux:从执行到退出
Linux是一个多任务操作系统,表面上看,同时运行许多任务——即进程。每一个进程都在系统中留下足迹。这里介绍一些检查这些足迹的工具,并且还要说明蔓延的/proc目录到底是什么。 欢迎归来。上周我们考察Linux调度程序如何区分要运行的进程的优先级,并且学习了jiffies(译注:计算机系统时钟滴答声持续时间,约1/100秒)和僵尸进程。现在是考虑一个Linux进程生命周期的时
2009-09-14 15:16:00
1984
原创 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
1338
原创 Linux 内核中的 GCC 特性
Linux® 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。 GCC 和 Linux 是出色的组合。尽管它们是独立的软件,但是 Linux 完全依靠 GCC 在新的体系结构上运行。Linux 还利用 GCC 中的特性(称
2009-06-19 01:44:00
486
原创 什么是字节对齐
什么是字节对齐一.什么是字节对齐,为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只
2009-06-15 21:38:00
379
原创 __attribute__
GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute
2009-06-15 08:25:00
361
原创 AT&T x86 asm 语法
linux下gcc的汇编格式是at&t格式的,和我们平时用的intel格式的汇编语法不一样,所以很多熟悉windows汇编的人到linux下有点无所适从,所以我贴了我以前写的这篇文档,帮助大家理解at&t汇编,做个参考手册////////////////////////////////////////////////////////////////////////////////AT&T x86
2009-06-15 08:22:00
695
原创 汇编语言
开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。如果你是计算机专业的话,在大学里你应该学习过Intel格式的8086/80386汇编,这里就不再讨
2009-06-14 19:27:00
933
原创 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
635
原创 bootloader详解
一。bootloader介绍 bootloader是硬件在加电开机后,除BIOS固化程序外最先运行的软件,负责载入真正的操作系统,可以理解为一个超小型的os。目前在Linux平台中主要有lilo、grub等,在Windows平台上主要有ntldr、bootmgr、grldr等。这里以grub-0.97为基础描述bootloader的启动过程。 一般grub主要分为sta
2009-06-14 16:18:00
3957
2
原创 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
1169
原创 关于生成树协议
生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。 由于生成树协议本身比较小,所以并不像路由协议那样广为人知。但是它却掌管着端口的转发大权—“小树枝抖一抖,上层协议就得另谋生路”。真实情况也确实如此,特别是在和别的协议一起运行的时候,生成树就有可能断了其他协议的报文通路,造成种种奇怪的
2008-07-29 15:54:00
1316
原创 常用的组播地址
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
3753
Programming the Microsoft Windows driver mode中文版
2008-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人