Linux
文章平均质量分 70
ibmjournal
这个作者很懒,什么都没留下…
展开
-
自动化 Linux 云安装
简化操作系统安装过程能够减少管理云计算环境所需的时间。本文讲解如何在新的 IBM Power™ System 或 System p® LPAR 上自动安装 SUSE Linux®。这种安装方法也适用于安装 Red Hat Linux 或 AIX®。云计算的特性之一就是能够将应用程序从一个处理器环境移动到另一个。这个特性要求在移动应用程序之前 存在一个接收它的目标操作系统。如果能够自动化原创 2008-12-18 14:36:00 · 648 阅读 · 0 评论 -
CMPI内存管理及在 Open Pegasus 中的实现
本文首先简单介绍了 CMPI(Common Manageability Programming Interface) 规范与 Open Pegasus, 说明了 CMPI 规范中对多线程及内存管理方面的要求,然后以 Open Pegasus 中的实现为例,分析了为实现上述要求所需要的关键数据结构,最后全文进行了总结。CMPI(Common Manageability Programmi原创 2008-10-29 14:21:00 · 986 阅读 · 0 评论 -
Linux 中的新进程状态
Linux® kernel 2.6.25 引入了一种新的进程状态,名为 TASK_KILLABLE,用于将进程置为睡眠状态,它可以替代有效但可能无法终止的 TASK_UNINTERRUPTIBLE 进程状态,以及易于唤醒但更加安全的 TASK_INTERRUPTIBLE 进程状态。2002 年,OpenAFS 文件系统驱动程序在阻塞所有信号之后等待事件中断时遇到了问题,而 TASK原创 2008-10-29 14:02:00 · 552 阅读 · 0 评论 -
一种经济有效的使用值压缩 DB2 for Linux,UNIX,and Windows 数据库
从 Version 8.1 开始,IBM® DB2® for Linux®, UNIX®, and Windows® 便具有一种称作值压缩的压缩特性。这种特性不是很出名,但是它提供了一种经济有效的方法,可以在几乎不影响性能的情况下缩小数据库的大小。在本文中,了解关于值压缩的背景信息,并学习一种基于脚本、能够轻松发现可从值压缩中受益的表的方法。简介从 DB2 8.1 开始,将数据存储到表原创 2008-10-14 10:05:00 · 907 阅读 · 0 评论 -
构建分布式系统必学:Linux系统中元数据使用计数机制
在 Linux 文件系统中,元数据的引用计数主要用于管理元数据(如 inode, dentry 结构)在内存中的创建、使用和释放。了解这部分的机制,有利于深入认识文件系统的运行机制,以及Linux如何在内存中管理元数据。这部分内容也是构建分布式文件系统所必须的知识,由此才能保证元数据在分布式文件系统中的正确使用。概述元数据是一个文件系统的重要部分。很多书籍和文章都介绍过 dentry原创 2008-10-07 14:39:00 · 638 阅读 · 0 评论 -
Python 技术专题
可爱的 Python 系列使用 Python 构建网格应用程序探索 Python 系列Python Web 服务开发者系列Python 与数据源使用 Python 进行 socket、web、桌面开发Python 设计模式系列Python 扩展Python 开发工具原创 2008-10-07 14:53:00 · 2998 阅读 · 2 评论 -
Linux 2.6 中的文件锁
本文的目的是想帮助读者理清 Linux 2.6中文件锁的概念以及 Linux 2.6 都提供了何种数据结构以及关键的系统调用来实现文件锁,从而可以帮助读者更好地使用文件锁来解决多个进程读取同一个文件的互斥问题。本文主要描述了 Linux 中各类文件锁的概念,使用场景,内核中描述文件锁的数据结构以及与文件锁密切相关的系统调用等内容。在多任务操作系统环境中,如果一个进程尝试对正在被其他进程读取原创 2008-07-07 10:09:00 · 977 阅读 · 0 评论 -
剖析 Linux 内核系列大全
Linux 剖析系列 Linux 内核剖析 Linux 内核是一个庞大而复杂的操作系统的核心,不过尽管庞大,但是却采用子系统和分层的概念很好地进行了组织。在本文中,您将探索 Linux 内核的总体结构,并学习一些主要的子系统和核心接口。 Security-Enhan原创 2008-07-02 10:39:00 · 670 阅读 · 0 评论 -
Linux 时钟处理机制
在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理等等。所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统的运作方式。本文分析了 Linux 2.6.25 内核的时钟处理机制,首先介绍了在计算机系统中的一些硬件计时器,然后重点介绍了 Linux 操作系统中的硬件时钟和软件时钟的处理过程以及软件时钟的应用。最后对全文进行了总结原创 2008-09-17 18:38:00 · 474 阅读 · 0 评论 -
Boost 库中的实用工具类使用入门
实用工具类开发和维护会耗费程序员的时间。Boost 通过提供几个高质量的库,从而简化了此过程,您可以将这些库轻松集成到现有的代码库中。本文简单概述一些较流行的 Boost 实用工具类,并帮助您了解如何将它们投入使用。实用工具类(utility classes)在几乎任何适当规模的 C++ 项目中都是必需的,但是不存在满足此需求的标准方法。通常,团队根据他们的需求编写实用工具类代码,原创 2008-09-17 18:26:00 · 503 阅读 · 0 评论 -
Linux 动态库剖析
动态链接的共享库是 GNU/Linux® 的一个重要方面。该种库允许可执行文件在运行时动态访问外部函数,从而(通过在需要时才会引入函数的方式)减少它们对内存的总体占用。本文研究了创建和使用静态库的过程,详细描述了开发它们的各种工具,并揭秘了这些库的工作方式。库用于将相似函数打包在一个单元中。然后这些单元就可为其他开发人员所共享,并因此有了模块化编程这种说法 — 即,从模块中构建程序。Lin原创 2008-09-17 15:52:00 · 420 阅读 · 0 评论 -
JPEG 原理详述及在嵌入 Linux 中的应用
作为一个基本的图像压缩方式,JPEG 已经得到了广泛的运用,但 JPEG 相关的基本原理,却经常被忽视,或解释得很不确切。这里我们详细讨论一下 JPEG 的编码原理,并结合实例来给出一个更加感性的认识。JPEG 编码的详细过程有着诸多的信息可以给我们巨大的启发,我们在这里讨论的就是要对这些信息做一个具体细致的分析,通过我们的讨论,大家会对 JPEG 编码过程中出现的内容有一个确切的了解原创 2008-09-17 15:41:00 · 347 阅读 · 0 评论 -
高效构建 CIM 事件处理模型
在公共信息模型(Common Information Model,CIM)中,客户机应用程序可以订阅 CIM 事件通知。通常,应用程序可以通过不同的连接端口用多个事件处理程序创建事件过滤器,但是这将消耗大量网络资源并增加维护复杂度。在本文中,查看如何用一个特定连接端口注册多个 CIM 事件处理程序。另请查看如何用 SBLIM CIM 客户机库编写代码的一些提示。让我们首先来查看一些关键原创 2008-09-17 18:38:00 · 787 阅读 · 0 评论 -
系统管理必学工具:使用 SNMP 数据
许多设备内置了简单网络管理协议(Simple Network Management Protocol,SNMP),但是当您只想检查某个简单统计数据或者跟踪某个特定设备或问题时,能够读取和分析该信息的工具和软件通常太大和太复杂了。本文研究一些用于从设备中获取 SNMP 信息的简化方法,以及如何将该信息集成到网络数据映射的其他部分中。关于本系列典型的 UNIX® 管理员拥有一套经常用于辅原创 2008-07-01 22:25:00 · 757 阅读 · 0 评论 -
将应用程序移植到 Linux for System z
基于 Linux® for IBM System z™ 的服务器整合有很多优势,但移植现有应用程序需要一些专业知识。本文针对如何组织移植项目提供了大致建议,包括关于大型机虚拟化、字节顺序以及专门针对 System z 的地址计算等一些的技术细节。本文还讨论了 System z 支持开发工具(编译器、链接器和调试器)的方式,也介绍了 IBM 的免费的 Migration Kit for Sol原创 2008-07-01 22:21:00 · 818 阅读 · 0 评论 -
使用 Xen 虚拟服务器交付高可用性
详细了解如何通过 IBM® System Director Virtual Availability Manager 实现 Xen 虚拟服务器的高可用性。Virtual Availability Manager 包含在 IBM System Director Virtualization Manager 包中,它是 IBM Director 的扩展。本文将向您介绍各个步骤,包括先决条件原创 2008-10-29 14:32:00 · 555 阅读 · 0 评论 -
Linux 上的云计算平台和应用
云计算和存储将物理资源(例如处理器和存储)转换成 Internet 上可伸缩、可共享的资源(“作为服务” 的计算和存储)。虽然虚拟化不是一个新概念,但是通过服务器虚拟化实现的物理系统共享,的确能使资源的可伸缩性大得多,效率也高得多。云计算使用户可以访问大规模计算和存储资源,而且他们不必知道那些资源的位置及其是如何配置的。正如您预期的一样,Linux® 在此扮演着极为重要的角色。探索云计算,原创 2008-10-14 09:55:00 · 636 阅读 · 0 评论 -
在 Linux 上使用 Google Maps API Version 2、DB2/Informix、PHP 和 JMeter 创建地图
Google 新的 Maps API Version 2 支持创建更高级的 mashup 应用程序。在本文中,将以本系列 第 1 部分 中讲解的基本 mashup 开发为基础,学习更高级的开发方法,并了解如何使用 DB2® REC2XML 函数减少 PHP:Hypertext Preprocessor(PHP)脚本中的代码行。学习如何用 DB2 或 Informix® Dynamic Se原创 2008-12-18 14:57:00 · 1802 阅读 · 0 评论 -
Linux 的源码安装工具 CheckInstall
Checkinstall 是一个能从 tar.gz 类的源代码自动生成 RPM/Debian 或Slackware 安装包的程序。通过 CheckInstall,你就能用几乎所有的 tar.gz 类的源代码来生成“干净”的安装或者卸载包。引言经常出现这样的问题:很想试用的程序只有源代码(比如 tar.gz )可用,没人提供 RPM 或者Debian 包。你只好下载源代码,解压,然后原创 2008-12-18 14:57:00 · 1132 阅读 · 0 评论 -
使用 cron 进行自动维护
学习如何创建、调度和管理 cron 作业,如何通过定义时间表控制作业频率,从每分钟一次到每年一次。另外,学习如何限制访问 cron 以避免滥用,以及如何结合使用其他实用程序和 cron 以自动执行常见的维护任务。 预备知识本教程针对 UNIX(和类 UNIX)系统的用户和系统管理员。要想学习本教程,您应该熟悉命令行 shell 和 shell 脚本。具备在 UNIX 上安装和配置软原创 2008-12-18 14:47:00 · 988 阅读 · 0 评论 -
应用 Valgrind 发现 Linux 程序的内存问题
如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开发中的内存问题。应用 Valgrind 发现 Linux 程序的内存问题回页首原创 2008-12-08 16:09:00 · 718 阅读 · 0 评论 -
使用 Parallel NFS 增强文件系统
网络文件系统(Network File System,NFS)是大多数局域网(LAN)的重要组成部分。但 NFS 不适用于高性能计算中苛刻的输入输出密集型应用程序,至少以前是这样。NFS 标准的最新修改纳入了 Parallel NFS(pNFS),它是文件共享的并行实现,将传输速率提高了几个数量级。本文提供入门级介绍。通过 NFS(由服务器、客户机软件和两者之间的协议组成),一台计算机原创 2008-12-09 09:16:00 · 599 阅读 · 0 评论 -
Linux 软路由性能测试及分析
本文介绍了 Linux 软路由的工作原理,并使用普通 PC 计算机作为硬件设备,在实际网络环境中测试和讨论了 Linux 软路由的性能。实验证明,在百兆以太网络环境中, Linux 软路由的数据报转发速度取决于网络卡的实际速度,并随着软路由系统的应用层服务的增加而降低。该结果为 Linux 软路由的应用和普及提供依据。0、引言随着开源软件的发展,越来越多的人开始了解、使用和研究 L原创 2008-11-25 15:22:00 · 1984 阅读 · 1 评论 -
为什么要在 Emacs 里面使用 Shell?
Shell 是 Unix 系统管理员生活的一部分。早期的 Shell 直接运行在各种各样的 Terminal 里面,随着时间的推移,我们有了 X Window。大量的 Shell 开始运行 Xterm 里面。对于笔者来说呢,更加喜欢让 Shell 运行在 Emacs 里面。将 Shell 运行在 Emacs 里面与运行在 Xterm 里面到底有什么不同呢?相信我,将 Shell 从 Xte原创 2008-11-25 15:26:00 · 953 阅读 · 0 评论 -
认识 GCC 4
这几年,GNU Compiler Collection(GCC)经历了从 GCC 3 到 GCC 4 的巨大转变。GCC 4 引入了一个新的优化框架(以及新的中间代码表示法)、新的目标和语言支持以及多种新的属性和选项。认识 GCC 4 的主要新特性及其优点。无论是开源开发还是闭源开发,GCC 都是开发的基础。它是架构和操作系统的启用程序(enabler)。当一种新的处理器出现时,它的成功取原创 2008-11-25 15:47:00 · 577 阅读 · 0 评论 -
利用多核多线程进行程序优化
大家也许还记得 2005 年 3 月 C++ 大师 Herb Sutter 在 Dr.Dobb’s Journal 上发表了一篇名为《免费的午餐已经结束》的文章。文章指出:现在的程序员对效率、伸缩性、吞吐量等一系列性能指标相当忽视,很多性能问题都仰仗越来越快的 CPU 来解决。但 CPU 的速度在不久的将来,即将偏离摩尔定律的轨迹,并达到一定的极限。所以,越来越多的应用程序将不得不直面原创 2008-11-25 15:12:00 · 596 阅读 · 0 评论 -
从 Linux 命令行更新 Twitter 和 FriendFeed
学习如何使用 GNU Wget 和 cURL 将状态更新发送到 Twitter 和 FriendFeed,而不必使用 Twitter 桌面应用程序。此外,还学习如何从 Linux® 命令行跟踪来自 Twitter 和 FriendFeed 的 feed。人们选择 Linux 这样的操作系统,是因为它在各方面的优点 — 它的总效用。它稳定、快速、便宜并且可以在所有类型的硬件上运行。它一开原创 2008-11-25 14:48:00 · 551 阅读 · 0 评论 -
使用和操作 tcsh shell 变量
tcsh 是最流行的 UNIX® shell 之一。学习如何用 tcsh shell 变量简化自己的工作以及如何利用 tcsh 的高级安全特性。tcsh 是原来的 Berkeley UNIX C shell 的改进版本,它是最流行的 UNIX shell 之一。本文讨论 tcsh 提供的一些功能:它提供的 shell 变量可以减少几个常规任务花费的时间,还提供了一些高级的安全特性,比如原创 2008-11-06 09:45:00 · 1509 阅读 · 0 评论 -
使用 awstats 分析 Nginx 的访问日志
在我的上一篇文章《使用 Nginx 提升网站访问速度》中介绍了 Nginx 这个 HTTP服务器以及如何通过它来加速网站的访问速度。在实际的网站运营中,我们经常需要了解到网站的访问情况,例如每天有多少 IP 在访问、PV数是多少、哪个 URL访问量最大、用户使用最多的浏览器是哪个、都是通过什么方式知道这个网站的以及有多少用户访问出错等等,通过掌握这些信息来提高用户的体验,从而改善网原创 2008-11-06 09:45:00 · 607 阅读 · 0 评论 -
新改进 Vim 编辑器,可以在任何平台上编辑代码
如果您曾和 IBM® AIX®(UNIX® 的一个版本)或 Linux® 打过交道,使用的很可能是 vi 编辑器。自 1976 年提出 vi 的概念开始,它已经成为编辑文件的主要工具。您可能会问:“有比 vi 功能更强大的编辑工具吗?”当然有,那就是 Vim,本文将详细介绍 Vim 增强功能,这些增强功能使 Vim 成为 UNIX 和 Linux 领域中广泛使用的编辑器。vi 程序是一原创 2008-11-06 09:25:00 · 741 阅读 · 0 评论 -
高性能自旋锁 MCS Spinlock 的设计与实现
自旋锁(Spinlock)是一种在 Linux 内核中广泛运用的底层同步机制。排队自旋锁(FIFO Ticket Spinlock)是 Linux 内核 2.6.25 版本中引入的一种新型自旋锁,它解决了传统自旋锁由于无序竞争导致的“公平性”问题。但是由于排队自旋锁在一个共享变量上“自旋”,因此在锁竞争激烈的多核或 NUMA 系统上导致性能低下。MCS Spinlock 是一种基于链表原创 2008-11-06 09:25:00 · 802 阅读 · 0 评论 -
通过附加的磁盘在 BladeCenter S 上安装和启动 Linux
IBM BladeCenter S 是专为中小型企业设计的最新的 BladeCenter。它也是第一个集成服务器和存储系统的 BladeCenter。本文将向您展示如何在 BladeCenter S 的附加磁盘上安装 SUSE Linux 10,然后从该操作系统启动刀片服务器,这样,刀片服务器就可以在没有本地磁盘的情况下工作。这使用户更加容易实现高可用性系统,同时能够轻易地把一个应用程序从一个原创 2008-06-20 19:28:00 · 569 阅读 · 0 评论 -
在 PyGTK 中管理部件几何结构
GTK+ 中有一些容器小部件,通过使用该工具箱的 API,可以创建用户定义的容器。在 PyGTK 中也公开了这个 API。在本文中,学习如何在 PyGTK 中创建一个“权重表(weighted-table)” 容器。本文的实现介绍了 GTK+ 几何结构管理的基本模型,并让您大致了解实现容器部件时应该考虑哪些事项。GTK+ 工具箱和它的 PyGTK 绑定包有一些便利的容器。如果只需将一组部件原创 2008-06-18 11:30:00 · 741 阅读 · 0 评论 -
Java 运行时监控第 3 部分: 监控应用程序生态系统的性能与可用性
本文为 Java™ 应用程序运行时监控 系列 的第三部分,也是最后一部分,主要介绍在监视应用程序支持和依赖服务的性能和可用性时应使用哪些策略与技巧。所谓支持和依赖服务包括底层主机操作系统、运行数据库以及通信基础设施。文章结尾针对性能数据管理问题以及数据的报告和可视化做了论述。 在本系列(共三篇文章)的 第 1 部分 和 第 2 部分中,我介绍了监控 Java 应用程序的技巧和模原创 2008-09-04 13:59:00 · 550 阅读 · 0 评论 -
Notes 8 for Linux 本地化版本的安装和使用
从 Lotus Notes 8.0 开始,IBM 发布了支持 Linux 平台的多语言本地化版的客户端(标准版),除传统的 Notes 功能外还提供了许多新特性包括 IBM Lotus Productivity 工具、 Activities 、 IBM Lotus Samtime 以及 Composite Application Editor 选装, 其安装程序采用了 ISMP (Inst原创 2008-07-27 15:41:00 · 1443 阅读 · 0 评论 -
在 Linux 上轻松、分布式自动备份
重要数据的丢失可能意味着致命的破坏。尽管如此,还是有无数专业人员忽视了对他们的数据的备份。虽然原因可能各不相同,但是,最常见的一个解释是,执行例行备份确实烦琐。由于机器擅长于完成普通而重复的任务,因此,自动化备份的过程是降低工作内在的枯燥性和人们与生俱来的拖延倾向的关键所在。如果您使用 Linux,那么您就可以使用创建定制备份解决方案的极其强大的工具。本文中的解决方案可以让您使用开源工具执原创 2008-07-27 15:18:00 · 602 阅读 · 0 评论 -
从 Windows 向 Linux 迁移设备控制应用程序
通过认识 Microsoft Windows® 和 Linux® 操作系统设备控制的工作原理,本文将简化从 Microsoft Windows® 向 Linux® 迁移设备控制应用程序。作者分析二者的差别,并给出 C/C++ 示例。如果读者开发过不同平台的设备控制应用程序,那么肯定了解 Windows 和 Linux 的设备控制方式的差别,从一个平台向另一个平台迁移应用程序相当复杂。本原创 2008-07-20 14:59:00 · 424 阅读 · 0 评论 -
Linux SLUB 分配器详解
多年以来,Linux 内核使用一种称为 SLAB 的内核对象缓冲区分配器。但是,随着系统规模的不断增大,SLAB 逐渐暴露出自身的诸多不足。SLUB 是 Linux 内核 2.6.22 版本中引入的一种新型分配器,它具有设计简单、代码精简、额外内存占用率小、扩展性高,性能优秀、方便调试等特点。本文先介绍 SLAB 分配器的基本原理,然后分析其不足之处并详细介绍 SLUB 的设计思想,最原创 2008-07-20 15:25:00 · 959 阅读 · 0 评论 -
闭包的概念、形式与应用
随着硬件性能的提升以及编译技术和虚拟机技术的改进,一些曾被性能问题所限制的动态语言开始受到关注,Python、Ruby 和 Lua 等语言都开始在应用中崭露头角。动态语言因其方便快捷的开发方式成为很多人喜爱的编程语言,伴随动态语言的流行,我们经常听到一个名词——闭包,很多人会问闭包是什么?闭包是用来做什么的?本文汇集了有关闭包的概念、应用及其在一些编程语言中的表现形式,以供参考。什么是闭包?原创 2008-07-11 16:36:00 · 798 阅读 · 0 评论 -
Linux 日志文件系统剖析
在近代历史上,日志文件系统被认为十分奇特,主要是处于研究阶段。而如今,日志文件系统(ext3)已经成为 Linux 的缺省文件系统。本文向大家揭示了日志文件系统背后的一些思想,以及在电源故障或系统崩溃时,如何提供更好的完整性。此外本文还介绍了现行的几种日志文件系统和下一代日志文件系统。定义日志文件系统的方法有很多种,但是让我们抓住要点。日志文件系统就是专为那些厌倦了一直盯着启动时 fsck原创 2008-07-08 16:07:00 · 728 阅读 · 0 评论