Linux线程初探(转)
Linux线程初探(转)[@more@]1 概述 1.1 线程的定义 传统的UNIX进程概念在开发有分布式系统中的许多应用时已经显得力不从心(有时连简单的窗口响应问题都很难做好)。这些问题的最好解决之道就是线程,线程推 广了进程的概念使一个进程可以包含多个活动(或者说执行序列等等)。如今,由于线程概念的普及,在UNIX系统中已经普遍实现了线程机制,开发并发应用的程序员现在也可以广泛接触到线程的函数库了。 使用线程的优点在于: A 改进程序的实时响应能力 B 更有效的使用多处理器 C 改进程序结构(多个线程共享同一地址空间,多爽;要是进程就
阅读linux源代码的工具---lxr和glimpse简介(转)
阅读linux源代码的工具---lxr和glimpse简介(转)[@more@]作者 sea_cloud 我们在阅读linux源代码时都有这样的体会:核心的组织相对松散,在看一个文件时往往要牵涉到其他的头文件、源代码文件。如此来回跳转寻找变量、常量、函数的定义十分不方便,这样折腾几次,便使读代码的心情降到了低点。 lxr(linux cross reference)就是一个解决这个问题的工具:他对指定的源代码文件建立索引数据库,利用perl脚本CGI动态生成包含码的web页面,你可以用任何一种浏览器查阅。在此web页中,所有变量、常量、函数都以超连接的形式给出,十分方便查
Linux环境下的网络编程(转)
Linux环境下的网络编程(转)[@more@] 本文介绍了在Linux环境下的socket编程常用函数用法及socket编程的一般规则和客户/服务器模型的编程应注意的事项和常遇问题的解决方法,并举了具体代码实例。要理解本文所谈的技术问题需要读者具有一定C语言的编程经验和TCP/IP方面的基本知识。要实习本文的示例,需要Linux下的gcc编译平台支持。 Socket定义 网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用—Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传
内核FAQ(转)
内核FAQ(转)[@more@]1、 我编译内核时选了声卡支持,还把oss加入了模块,为什么出如下问题!2、 bootsect.s 中的一个小问题:movsw的问题3、 0x20,&timer_interrupt它在哪里做过schedule4、 linux每10ms中断一次,它在哪里做了schedule()5、 编译核心后的问题:xwindow-->console看不见!6、 kernel_thread7、 请问如何得到linux下的命令代码1、我编译内核时选了声卡支持,还把oss加入了模块,为什么出如下问题!我编译内核时选了声卡支持,还把oss加入了模块,为什么出如下问题! 信息是:you dont seem to have a kernel with sou
Linux 内核解读入门(转)
Linux 内核解读入门(转)[@more@]针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制; 一.核心源程序的文件组织: 1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心。本文基于稳定的2.2.5源代码,第二部分的实现平台为 Redhat Linux 6.0。 2.核心源程序的文件按树形结构进行组织,在源程序树的最上层你会看到这
使用 GDB 调试 Linux 软件(转)
使用 GDB 调试 Linux 软件(转)[@more@]Linux 的大部分特色源自于 shell 的 GNU 调试器,也称作 gdb。gdb 可以让您查看程 序的内部结构、打印变量值、设置断点,以及单步调试源代码。它是功能极其强大的工 具,适用于修复程序代码中的问题。在本文中,我将尝试说明 gdb 有多棒,多实用。 编译 开始调试之前,必须用程序中的调试信息编译要调试的程序。这样,gdb 才能够调试所 使用的变量、代码行和函数。如果要进行编译,请在 gcc(或 g++)下使用额外的 -g 选项来编译程序: gcc -g eg.c -o eg 运行 gdb 在 shell 中,可以使用 gdb 命令并