linux下的C编程实战(二) ――文件系统编程 宋宝华 [email=21cnbao@]21cnbao@[/email] 1.linux文件系统 linux支持多种文件系统,如ext、ext2、minix、iso9660、msdos、fat、vfat、nfs等。在这些具体文件系统的上层,linux提供了虚拟文件系统(VFS)来统一它们的行为,虚拟文件系统为不同的文件系统与内核的通信提供了一致的接口。下图给出了linux中文件系统的关系: 在linux平台下对文件编程可以使用两...
linux下的C编程实战(四) ――“线程”控制与“线程”通信编程 宋宝华 [email=21cnbao@]21cnbao@[/email] 1.linux“线程” 笔者曾经在《基于嵌入式操作系统VxWorks的多任务并发程序设计》(《软件报》2006年第5~12期)中详细叙述了进程和线程的区别,并曾经说明linux是一种“多进程单线程”的操作系统。linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。大家知道,进程是资源分配的单位,同...
linux下的C编程实战(三) ――进程控制与进程通信编程 作者:宋宝华 e-mail: [email=21cnbao@]21cnbao@[/email] 1.linux进程 linux进程在内存中包含三部分数据:代码段、堆栈段和数据段。代码段存放了程序的代码。代码段可以为机器中运行同一程序的数个进程共享。堆栈段存放的是子程序(函数)的返回地址、子程序的参数及程序的局部变量。而数据段则存放程序的全局变量、常数以及动态数据分配的数据空间(比如用mal...
详细点击:http://www.cdbook.cn/book.asp?id=1213 编写应用软件,特别是那些比较重要的软件,毫无疑问要涉及到系统调用。在UNIX/linux环境下编程更是如此。要想编写优秀的软件,就必须熟悉这些系统调用的方方面面。通过阅读这本书,你能够快速地掌握这些重要技术,以构建严谨的linux软件。全书主要分为三大部分:第一部分讨论了基本的编程问题,包括linux编程环境、基本的文件和进程管理与操作、内存操作,还介绍了一些基...
linux下的C编程实战(五) ――驱动程序设计 宋宝华 [email=21cnbao@]21cnbao@[/email] 1.引言 设备驱动程序是操作系统内核和机器硬件之间的接口,它为应用程序屏蔽硬件的细节,一般来说,linux的设备驱动程序需要完成如下功能: (1)初始化设备; (2)提供各类设备服务; (3)负责内核和设备之间的数据交换; (4)检测和处理设备工作过程中出现的错误。 妙不可言的是,linux下的设备驱动程序被组织为一组完成不同任务...
是中国电力出版社出版的,2005年7月第一版。 读者最好是有C和linux基础才行啊!它讲得挺不错的,可是我没有时间去研究:) 这本书几乎是全新的啊,是我去年8月份买的...:shock:
当前,在国产自主版权的操作系统这面大旗的倡导下,IT界掀起了一浪高过一浪的linux编程热潮。linux以其源码开放、配置灵活等不可多得的优越性吸引着越来越多的编程爱好者深入linux的内核开发。笔者近来实践过一个linux的实时化改造课题任务,积累了一点linux内核编程的实战经验,在这里想就编译内核、增加系统调用等方面的问题和感兴趣的爱好者共做切磋。 编译内核 在linux编程的实践中,经常会遇到编译内核的问题。为什么要编译...