Linux下动态链接库技术分析和移植技巧
摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理。但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植。本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验。 1、引言 动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用的技术。其目的减...
如何在Linux下实现设备的配置(下)
6 窗口系统(XFree86)的配置过程 6.1 显示卡的描述文件介绍(CardDB) CardDB是X配置程序使用的显示卡数据文件。在对XFree86进行配置时,配置程序一般都需要读取其上的内容完成显示卡的配置。它的内容与使用的XFree86的版本密切相关。一般而言,它保存的位置是在/usr/X11R6/lib/X11/目录下。现在我们就对XFree86 4.1.0的CardDB文件进行简单的介绍: NAME 显示卡的描述名称 CHIPSET 描述显示卡使用的芯片集 SERVER 为了和3.x版本的X...
如何在Linux下实现设备的配置(上)
Linux下设备的配置过程是指在检测到设备类型、设备当前工作参数等信息之后,使用这些信息来配置设备的驱动程序,工作方式等,(设备的检测过程参见 《如何在Linux下实现硬件的自动检测》)。要完成这样的任务,需要做两方面的工作: 其一是需要一个详尽的设备信息文件,这个文件描述了设备标识、与设备标识对应的设备驱动程序、设备配置参数(设备选项)、设备设置的详细描述、设备配置方法描述、设备对应的别名、设备的主设备号等信息。 现在的Linux内核中使用kmod来完成设备模块的自动加载,它的一般工作机制是:在第一次...
为笔记本电脑用户配置cpufreqd
用 notebook 如果不配好 speedstep, 风扇的声音会很烦, 电池时间当然也会减少 ---- 不过我倒不在意它, 因为基本不用电池. 常用的 speedstep 软件, 有 cpudyn, cpufreqd, powernowd, 而新版的 kernel 里面的 cpufreq_ondemand, 也能够按照系统负荷来调整 cpu 频率. 那为什么不直接用 cpufreq_ondemand 呢 ? 举个例子, 有些网站有些糟糕的 javascript, 会让 cpu 利用率到 100%,...
支持基于Linux的USB设备的三种方法
引言 通用串行总线(USB)是一种快速而灵活地连接配件与计算机工作站的接口,其应用非常广泛。Linux中除了包含对USB主机控制器的驱动,还含有USB设备控制器,尤其是集成在Strongarm SA1110处理器上的控制器的驱动。这些控制器驱动通过使用USB可使基于Linux的嵌入式系统与主机 (运行的可以是Linux,或不是)进行通信。这里提供三种方法给运行Linux操作系统的嵌入式系统增加USB支持,可采用其中一种与USB主机展开通信。 第一种,最复杂的设备采用专门编写的内核模块解析标准USB总线上...
Linux操作系统紧急情况处理方法
1、使用急救盘组进行维护 急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具。用它可以独立地启动和运行一个完整的Linux系统。实际上,急救盘组中的第2张盘上就有一个完整的Linux系统,包括root文件系统;而第1张盘则存放了可启动的内核。 使用急救盘组维护系统很简单。只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户。 为了能访问硬盘上的文件,需要手工安装硬盘文件系统。例如,用下面的命令可在/mnt目录中安装/dev/hda2盘上的ext2fs类型的Linux文件系统...
如何提高Linux操作系统的运行速度
我们以前介绍了通过优化配置桌面环境来提高系统速度的方法,其实在其他的一些方面,我们一样可以精心配置来提高系统速度。 一、提升硬盘和光驱的数据传输性能 我们可以使用命令“hdparm 参数 设备”(如果是普通用户,需要在“hdparm”前面加上路径“/sbin/”)来查看存储器当前工作在什么样的传输模式下。例如要查看硬盘的传输模式,其命令如下(符号#表示以root身份执行,不必输入,下同): #hdparm -v /dev/hda 如果输出结果有“IO_support=0(default 16-bit)”...
Linux系统访问NTFS磁盘完全解决方法
本文介绍了在Redhat 7.3.8.0 9.0访问NTFS磁盘的完全解决方法。 下载RPM 主站: linux-ntfs.sourceforge.net/info/redhat.html">http://linux-ntfs.sourceforge.net/info/redhat.html 第二站: http://fr2.rpmfind.net/linux/rpm2ht...ery=kernel-ntfs 如果上面的链接下的RPM包不能用。就下面的地址来找。 第三站: http://www.city-...
给套接字赋予地址过程中概念的澄清
首先 随着时间的推移,我会不断地向这篇里面加东西,知道我认为应该结束了为止。 这篇文档实际上是我的学习小结的一部分,所以如果有人能够来信指出其中的错误或不足,那我可是感激淋涕了。 我假定读者已经对于socket连接的建立过程和各种状态转换比较熟悉了,因为这篇文档的目的是澄清概念,而不是介绍概念。 在使用socket编程时,我们都知道在网络通信以前首先要建立连接,而连接的建立是通过对socket的一些操作来完成的。那么,建立连接的过程大致可以分为以下几步: 1. 建立socket套接字。 2. 给套接字赋...
进程间通信的方式---Linux IPC小结
现在最常用的进程间通信的方式有:信号,信号量,消息队列,共享内存。 所谓进程通信,就是不同进程之间进行一些"接触",这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些massege。 他们的使用方法是基本相同的,所以只要掌握了一种的使用方法,然后记住其他的使用方法就可以了。 1. 信号 在我学习的内容中,主要接触了信号来实现同步的机制,据说信号也可以用来做其它的事情,但是我还不知道做什么。 信号和信号量是不同的,他们虽然都可用来实现同步和互斥,但前者是使用信号处...
技巧:用 Sort 和 Tsort 对文件排序
通过使用 sort 和 tsort,而不是采取使用 Perl 或 Awk 的较复杂的解决方案,可以节省时间,同时还能避免令人头疼的问题。Jacek Artymiak 将向您说明如何做到这一点。 尽管可以用 Perl 或 Awk 编写高级排序应用程序,但并非总是有此必要,而且这样的工作也常常令人感到头疼。使用 sort 命令,您同样可以实现您所需的大多数功能,而且更容易,它可以对多个文件中的行进行排序、合并文件甚至可以查看是否有必要对它们进行排序。您可以指定排序键(用于比较的行中的一部分),也可不指定,后...
将 /TMP和/Var 移动到它们的共享分区
整理数据 首先,必须创建一个新分区专门用于存储频繁修改的文件。您可能希望将这个分区置于单独的磁盘上以增强性能。接下来,我将逐步说明将 /tmp 和 /var 移动到这个新分区上的各个步骤。 警告 下面的技术说明如何移动一个或多个分区。尽管这项技术经过专门设计,使您能够“撤销”失败的分区移动,但它并不防止用户的错误。换言之,只要进行格式化分区或复制大量文件的操作,就存在因输入错误而导致大量数据被破坏的可能性。因此,强烈建议您 在行动之前采取适当的措施来备份所有的重要文件。 1. 在新分区上创建文件系统 这...