深入分析 Linux 内核链表

本文详细分析了 2.6.x 内核中链表结构的实现,并通过实例对每个链表操作接口进行了详尽的讲解。一、 链表数据结构简介链表是一种常用的组织有序数据的数据结构,它通过指针将一系列数据节点连接成一条数据链,是线性表的一种重要实现方式。相对于数组,链表具有更好的动态性,建立链表时无需预先知道数据总量,可...

2007-05-20 23:52:00

阅读数:696

评论数:0

Linux 文件访问原语

POSIX API 最重要的一个抽象概念就是文件。尽管几乎所有的操作系统都将文件用于永久性存储器,但所有 Unix 版本通过文件抽象概念提供对 大多数系统资源的访问。 更具体地说,这意味着 Linux 使用相同的一组系统调用来提供对设备(例如软盘和磁带设备)、网络资源(最常见的是 TCP/IP 连...

2007-05-20 23:49:00

阅读数:497

评论数:0

分析Windows和Linux动态库

摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系...

2007-05-20 23:48:00

阅读数:483

评论数:0

彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则- -

一 :关于指针和堆的内存分配 先来介绍一下指针 : 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的PC机上,都是4个字节大小,里边只是存储了一个变量的地址而已。不管什么类型的指针,char * ,int *...

2007-05-20 23:43:00

阅读数:840

评论数:1

标题: BabyLinux制作过程详解

BabyLinux制作过程详解作者:GuCuiwen email:win2linux@163.com版权声明:本文档可以在网络上在非商业范围内自由转载,转载请注明出处如果转载版面包含商业广告,请向作者支付至少每千字100园的稿费以书面,书籍形式转载和出版请按至少每千字100园人民币的标准向作者支付...

2007-05-20 23:42:00

阅读数:688

评论数:0

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

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

2007-05-20 23:36:00

阅读数:668

评论数:0

内存管理模型

本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存,以及如何使用垃圾收集自动管理内存。为什么必须管理内存内存管理是计算机编...

2007-05-20 23:33:00

阅读数:740

评论数:0

探索 Linux 内存模型

在这篇 Linux® 内存模型指南中,我们将学习如何构建和管理内存方面的基础知识。本指南介绍了内存控制单元、分页模型方面的内容,并详细介绍了物理内存区域方面的知识。理解 Linux 使用的内存模型是从更大程度上掌握 Linux 设计和实现的第一步,因此本文将概述 Linux 内存模型和管理。 Li...

2007-05-20 23:30:00

阅读数:559

评论数:0

Linux环境进程间通信:共享内存(上)

LINUX环境进程间通信:共享内存(上)共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机...

2007-05-20 23:26:00

阅读数:1484

评论数:0

将信号用作 Linux 调试工具

通过重点分析使用信号处理程序捕获到的数据,您可以加速调试过程中耗时最多的一个步骤:寻找 bug。本文介绍了 Linux® 信号的背景知识,并给出了已在 PPC Linux 测试通过的示例,然后介绍如何设计自己的信号处理程序来输出信息,从而快速定位代码中有问题的部分。信号 就是软件中断,可以向正在执...

2007-05-20 23:24:00

阅读数:529

评论数:0

Linux 环境进程间通信(五)

在本专题的前面几个部分,如消息队列、信号灯、共享内存等,都是基于Sys V的IPC机制进行讨论的,它们的应用局限在单一计算机内的进程间通信;基于BSD套接口不仅可以实现单机内的进程间通信,还可以实现不同计算机进程之间的通信。本文将主要介绍BSD套接口(sockets),以及基于套接口的重要而基本的...

2007-05-20 23:22:00

阅读数:455

评论数:0

Linux环境进程间通信(四)

信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时,进程也可以修改该标志。除了用于访问控制外,还可用于进程同步。一、信号灯概述信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相...

2007-05-20 23:21:00

阅读数:473

评论数:0

Linux环境进程间通信(三)

本系列文章中的前两部分,我们探讨管道及信号两种通信机制,本文将深入第三部分,介绍系统 V 消息队列及其相应 API。消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然POSIX 1003.1b在信号的实时性方面作了拓广...

2007-05-20 23:20:00

阅读数:515

评论数:0

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

在信号(上)中,讨论了linux信号种类、来源、如何安装一个信号以及对信号集的操作。本部分则首先讨论从信号的生命周期上认识信号,或者宏观上看似简单的信号机制(进程收到信号后,作相应的处理,看上去再简单不过了),在微观上究竟是如何实现的,也是在更深层次上理解信号。接下来还讨论了信号编程的一些注意事项...

2007-05-20 23:19:00

阅读数:921

评论数:1

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

linux信号机制远远比想象的复杂,本文力争用最短的篇幅,对该机制做了深入细致的分析。读者可以先读一下信号应用实例(在信号(下)中),这样可以对信号发送直到相应的处理函数执行完毕这一过程有个大致的印象。本文尽量给出了较新函数的应用实例,着重说明这些的功能。一、信号及信号来源信号本质 信号是在软件层...

2007-05-20 23:17:00

阅读数:742

评论数:0

Linux环境进程间通信(一)

在本系列序中作者概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 认清管道和有名管道的读写规则是在程序中应用它们的关键,...

2007-05-20 23:16:00

阅读数:439

评论数:0

调试configure

通常,在软件包的 README 文件中只能找到非常简单的“编译说明:运行 configure,然后运行 make”。但是,这样行不通时怎么办?在本文中,Peter Seebash 讲述了当自动的配置脚本失效时应该如何去做——以及作为开发者您应如何尽量避免这种错误。毕竟,如果您的程序无法编译,其结果...

2007-05-13 20:51:00

阅读数:402

评论数:0

调试-MAKE

make 工具如 GNU make、System V make 和 Berkeley make 是用来组织应用程序编译过程的基本工具,但是每个 make 工具之间又有所不同。本文将介绍 makefile 的结构,避免如何在创建 makefile 时出现一些共同的错误,并探索如何修复或解决可移植性问...

2007-05-13 20:49:00

阅读数:483

评论数:0

Linux内核配置系统浅析

随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,...

2007-05-13 20:47:00

阅读数:354

评论数:0

掌握 Linux 调试技术

您可以用各种方法来监控运行着的用户空间程序:可以为其运行调试器并单步调试该程序,添加打印语句,或者添加工具来分析程序。本文描述了几种可以用来调试在 Linux 上运行的程序的方法。我们将回顾四种调试问题的情况,这些问题包括段错误,内存溢出和泄漏,还有挂起。本文讨论了四种调试 Linux 程序的情况...

2007-05-13 20:44:00

阅读数:452

评论数:0

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