Linux/Unix
sanglipeng
这个作者很懒,什么都没留下…
展开
-
网卡驱动注册到PCI总线这一过程的分析
大家好,最近在看网络部分的代码,目前看到了网卡的初始化部分。书上讲到的内容主要是网卡驱动程序对网卡自身的初始化部分,即网卡驱动的probe函数是如何执行的,而很少讲到网卡是如何注册到系统中去的这一部分。 现在的网卡大部分都是连接到PCI总线上的。因此,网卡驱动是如何连接到PCI总线,又是如何与网卡设备联系起来,网卡在注册的最后又是如何调用到该网卡的probe函数的,这一个过程将在后转载 2008-12-22 12:28:00 · 609 阅读 · 1 评论 -
从 Solaris 迁移到 x86 上的 Linux 指南
从 Solaris 迁移到 x86 上的 Linux 指南转自:IBMdeveloperWorksSolaris 被认为是风格和 Linux™ 最为接近的一种 UNIX®,但是对于程式的迁移来说,他们在诸如内存映射、线程连同对自然语言的支持等领域还是有很大区别的。这个移植指南能够为您在计划将程式移植到 Linux/x86 上时提供一些建议,并且帮助您理解研发环境和体系架构之间的区别转载 2009-01-16 16:51:00 · 582 阅读 · 0 评论 -
按下ctrl + c 后系统异常问题解除
内核现在在÷那个正常启动了,并且根文件系统和yaffs2文件系统都mount成功!用终端调试应用程序时,按下ctrl + c 后系统异常!串口回传很多”错误信息“,错误信息如下:kernel BUG at mm/mmap.c:2054!Unable to handle kernel NULL pointer dereference at virtual address 00000000pgd =转载 2008-11-21 13:00:00 · 309 阅读 · 0 评论 -
菜鸟自学Linux之---RedHat Linux 9键盘的快捷操作
这里列举了一些你可以用来快速执行常见任务的键盘快捷操作。这些操作不仅限于所列出的内容,要了解更多命令行和键盘的的快捷操作,请访问: http://sunsite.dk/linux-newbie/lnag_commands.html#shortcuts [Ctrl] + [Alt] + [Backspace] = 杀死你当前的 X 会话。杀死图形化桌面会话,把你返回到登录屏幕。如果正常退转载 2008-11-19 15:11:00 · 121 阅读 · 0 评论 -
开发 Linux 后台服务进程
开发 Linux 后台服务进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不复杂转载 2008-11-19 15:08:00 · 616 阅读 · 0 评论 -
APIC
APIC apic: Advanced Programmable Interrupt Controller高级程序中断控制器. APIC 是装置的扩充组合用来驱动 Interrupt控制器。在目前的建置中,系统的每一个部份都是经由 APIC Bus 连接的。"本机 APIC" 为系统的一部份,负责传递 Interrupt至指定的处理器;举例来说,当一台机转载 2008-12-30 12:45:00 · 376 阅读 · 0 评论 -
虚拟地址保护模式
保护模式(Protected Mode,或有时简写为 pmode) 是一种 80286 系列和之后的 x86 兼容 CPU操作模式。保护模式有一些新的特色,设计用来增强 多工 和系统稳定度,像是 内存保护,分页 系统,以及硬件支援的 虚拟内存。大部分的现今 x86操作系统 都在保护模式下运行,包含 Linux、FreeBSD、以及 微软 Windows 2.0 和之后版本。另外转载 2008-12-30 12:36:00 · 306 阅读 · 0 评论 -
Linux环境进程间通信(一): 管道及有名管道
Linux环境进程间通信(一): 管道及有名管道转载 2006-12-21 11:28:00 · 590 阅读 · 0 评论 -
信号(signal)介绍
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和信号对转载 2006-12-21 10:24:00 · 536 阅读 · 0 评论 -
多核开发入门指南
一、为什么需要多核开发? 答案很简单,目前的芯片制造技术对CPU主频的提升已经达到一个极限了,也就是说性能的垂直伸缩已经不太可能了。因此通过多核的方法,可以让程序横向的伸缩,这就类似于用多台服务器实现负载均衡(水平伸缩),而不是简单的靠将服务器升级成小型机来提供处理能力(垂直伸缩)。 虽然多核并行计算的概念已经存在了几十年了,但直到最近多核CPU在PC上转载 2008-11-22 13:25:00 · 377 阅读 · 0 评论 -
ARM Linux中断分析
ARM体系结构中,把复位、中断、快速中断等都看作‘异常’,当这些‘异常’发生时,CPU会到固定地址处去找指令,他们对应的地址如下: 地址 异常类型 进入时的工作模式 0x00000000转载 2008-11-21 12:54:00 · 252 阅读 · 0 评论 -
内核通知链 学习笔记
最近在看《深入理解Linux网络内幕》一书,学习了一下书中讲到的内核通知链方面的知识,写了一个读书笔记和一点代码来加深理解,希望能够对大家有一点帮助。内核通知链在网络方面得到了广泛的使用。1.通知链表简介 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提转载 2008-12-11 16:04:00 · 347 阅读 · 0 评论 -
PReP的背景、特点和前景
最近,IBM提出PReP(PowerPC Reference Platform)即PowerPC参考平台的概念。这是IBM想重圆当年通过IBM PC领导世界个人机市场旧梦的一项重大的战略举措。PReP提出的背景众所周知,当年IBM加入个人机市场时,为了赶上领先4年的Apple,采取了两项重大措施。一是采用Intel的芯片和Microsoft的MS-DOS;二是扶植兼容机厂家。结果虽转载 2009-02-04 16:46:00 · 224 阅读 · 0 评论 -
Solaris、Linux和FreeBSD的内核比较
1。我个人认为作者MAX对Linux的了解不像他对Solaris那样深入,我不知道也没法知道他的下列关于Linux的内容来自自己的代码阅读分析还是只是来自第三方的文档资料而未经自己实地验证; 2。我已经尽量符合原意地翻译了,当然中间实在忍不住的地方也插两句自己的话; 3。无论是只阅读这一篇文章,还是看其他东西,我都觉得,保持自己头脑清醒很重要; 4。谢谢 Max转载 2009-02-03 15:38:00 · 449 阅读 · 0 评论 -
Linux操作系统下的串口通信学习笔记
Linux操作系统下的串口通信学习笔记一、什么是串口通信 串口通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。 二、串口通信的分类 串口通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。转载 2008-11-28 13:58:00 · 211 阅读 · 0 评论 -
Linux Arm驱动开发总结
驱动程序设计:linux操作系统的驱动与bootloader的驱动区别:要考虑与应用层的接口;考虑多用户;考虑其他协议;设备驱动的作用:读数据,写数据;初始化设备,读写设备; 将设备的数据分配给应用; 将应用的数据分配给设备;操作系统中驱动和设备的关系是一一对应的;应用和驱动的关系是一对多的;内核的主要功能:进程管理, 内存管理, 文件系统, 设备控转载 2009-01-23 14:21:00 · 1563 阅读 · 1 评论 -
U-Boot的移植之(一)基础篇:添加新的目标板定义
U-Boot Practically Porting GuideAuthor: Aaron Wong aaronwong@engineer.comU-Boot的移植之(一)基础篇:添加新的目标板定义本文使用最新的U-Boot-1.3.0-rc2。U-Boot本身支持很多开发板,在其源代码中,每个板子都对应一个board/目录下的文件夹(笔者注:这并不确切,因为有转载 2009-01-18 21:40:00 · 260 阅读 · 0 评论 -
dup和dup2详释
dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的 原形如下: #include int dup( int oldfd ); int dup2( int oldfd, int targetfd )利用函数dup,我们可以复制一个描述符。传给该函数一个既有的描述符,它就会返回一个新的描述符转载 2008-11-21 18:37:00 · 597 阅读 · 0 评论 -
采用双内核机制基于uClinux的实时操作系统分析与实现
采用双内核机制基于uClinux的实时操作系统分析与实现 引言:本文提出了一种基于uClinux的实时操作系统,在对于资源要求苛刻而应用场合多变的嵌入式领域很有优势。该系统采用了双内核机制、借助实时硬件抽象层(RTHAL)概念、利用模块动态加载,对普通uClinux进行了实时性改进,实验表明完全满足实时系统的时限约束。 嵌入式Linux以代码开放、价格低廉转载 2009-01-15 01:04:00 · 168 阅读 · 0 评论 -
BootLoader与Linux内核的参数传递(转)
在嵌入式系统中,BootLoader是用来初始化硬件,加载内核,传递参数。因为嵌入式系统的硬件环境各不相同,所以嵌入式系统的BootLoader也各不相同,其中比较通用的是U-Boot,它支持不同的体系结构,如ARM,PowerPC,X86,MIPS等。本文着重介BootLoader与内核之间参数传递这一基本功能。本文的硬件平台是基于AT91RM9200处理器系统,软件平台是L转载 2008-11-21 13:15:00 · 223 阅读 · 0 评论 -
进程间通讯
进程通讯是unix中很重要的知识。 产生一个新的进程主要有以下3种方法: 1,fork调用; 2,System调用; 3,Exec调用; 我们常说的进程通讯编程主要有以下3种方法: 1,Message queue队列编程; 2,Tcp/IP socket编程; 3,共享内存编程; 一、进程调用 1,产生进程Fork调用例子: fork() 功能:创建一个新的进程. 语法:#include转载 2006-12-21 11:24:00 · 525 阅读 · 0 评论 -
linux中的信号处理(signal和alarm)
信号是unix中所使用的进程通信的一种最古老的方法.系统使用它来同志一个或多个进程异步事件的发生.linux系统库bits/signum.h对信号名作了定义:linux的大多数信号是提供给内核的,仅有少数几种信号可以在信号间发送..SIGHUP 当终止一个终端时,内核就把这种信号发送给该终端所控制的所有进程..SIGINT 当一个用户按下中断键(ctrl+c)后,内核就向该终端用关联的所有进程发送转载 2006-12-21 11:17:00 · 951 阅读 · 0 评论 -
Linux各文件目录介绍
一、简介:Linux操作系统中,以文件来表示所有的逻辑实体与非逻辑实体。逻辑实体系指文件与目录; 非逻辑实体则泛指硬盘、终端机、打印机等。一般而言,Linux文件名称的组成除由连续字母、标点符号、数字等构成外,中间不能有空格符、路径名称符号 / 或 # * % & {} [] ……..等与Shell有关的特殊字符。Linux文件系统中,结构上以root file system 位最上位也最为重转载 2006-10-25 16:16:00 · 485 阅读 · 0 评论 -
Linux堆栈相关问题
2. 堆栈相关问题2.1 如何理解pstack的输出信息2.22.3 Solaris中如何获取一个C程序的调用栈回溯2.4 如何编程获取栈底地址2.5 如何得到一个运行中进程的内存映像2.6 调试器如何工作的2.7 x86/Linux上如何处理SIGFPE信号----------------------------------------------------------------------转载 2006-10-24 10:48:00 · 955 阅读 · 0 评论 -
使用MAP文件快速定位程序崩溃代码行
作为程序员,平时最担心见到的事情就是程序发生了崩溃,无论是指针越界还是非法操作,都将给我们的应用系统造成巨大的损失。但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事。其实测试中出现程序崩溃并不可怕,反而是测试的成功。我们更为关心的是程序中的哪一行导致了系统崩溃,这样我们才能有针对性的进行改正。 在VC中,我们可以利用出现程序崩溃时VC的自动跳转,定位到出错代码行。但在大量的压力转载 2006-09-26 17:46:00 · 652 阅读 · 0 评论 -
pvmgmake命令解释
PVM (Parallel Virtual Machine) is a software package that permits a heterogeneous collection of Unix and/or Windows computers hooked together by a network to be used as a single large parallel compute转载 2006-09-25 14:28:00 · 1073 阅读 · 0 评论 -
一种解读linux内核源码的入门方法
Linux 内核解读入门 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制; 一.核心源程序的文件组织: 1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数转载 2006-09-19 10:26:00 · 694 阅读 · 0 评论 -
Shell 编程入门:Linux 解释器原理
引言 使用Shell进行工作的人们对Unix/Linux下的Shell编程都很熟悉,在所有的Shell编程的书中都会提到#!/bin/bash,而这里到底包含了些什么?对操作系统而言,这一行字符串意味着什么?你可能会说,不就是会让/bin/bash程序来解释这个脚本程序吗?当然你是对的,看看我们的标题,这里我们谈谈解释器,让我们一起来看看脚本文件里的第一句到底对系统而言意味着什么。但有一点我们转载 2006-09-19 10:22:00 · 572 阅读 · 0 评论 -
经常用的一些开源协议的详细解析
开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的。开源运动同样有自己的游戏规则和道德准则。不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。 现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种。我们在常见的开源协议如BSD, GPL, LGP转载 2006-09-19 10:30:00 · 688 阅读 · 0 评论 -
Linux程序应用开发环境和工具经验谈
本文以轻松的笔调介绍了自己在Linux环境下进行程序开发的体会和经验,主要是对Linux下的开发工具和开发环境做了一个生动、明快的描述。linux开发环境之最:最有用开发语言: C/C++,Perl,Pascal.最流行的工具集: gtk/gdk,qt,xforms最好的可视化开发工具: glade,designer,kdeveloper最cool的代码阅读工具: source转载 2006-12-21 10:14:00 · 470 阅读 · 0 评论 -
Linux静态/动态链接库的创建和使用
Linux静态/动态链接库的创建和使用和Windows系统一样Linux也有静态/动态链接库,下面介绍创建和使用方法:假设有下面几个文件:头文件String.h,声明相关函数原形,内容如下:生成静态库: 利用GCC生成对应目标文件:gcc –c Strlen.c Strnlen.c如果对应的文件没有错误,gcc会对文件进行编译生成Strlen.o和Strnlen.o两个目标文件(相当于转载 2006-12-21 10:11:00 · 420 阅读 · 0 评论 -
Linux 2.6内核的精彩世界
级别: 初级Joseph Praneich 2003 年 9 月 11 日Linux内核2.6版的开发已经接近尾声,2.6测试版发布已经二个月了,正式版预计明年年初发布。作为一个主要发布版本,2.6相对于2.4有很大的改动;它引入了许多新的特性,同样也去除很多过时的特性。它在哪些方面有大的改动?它对Linux的开发人员以及其他层面的Linux用户可能有什么样的影响?阅读本文,您将得转载 2006-12-13 15:45:00 · 530 阅读 · 0 评论