QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2889|回复: 14

我写的文章

[复制链接]
发表于 2006-5-30 07:56:49 | 显示全部楼层 |阅读模式
是图书的第一章, 关于自由软件与GNU Linux的。

请大家提出意见。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2006-5-30 08:14:22 | 显示全部楼层
本来想打开看看的,不过一看到.doc,就。。。
回复

使用道具 举报

 楼主| 发表于 2006-5-30 09:28:34 | 显示全部楼层
第一章        引言和概述。


1.1引言

    读者可能有window操作系统的使用和编程经验,正在为如和编写图形界面程序发
愁,为绚丽三维图形程序、游戏等兴奋不已。很不幸的告诉读者,本书的内容要让你
失望了,因为本书并不探讨如何编写这类程序,书中所有的程序均运行于字符界面下。

    但是也不必过于失望,理解操作系统及其编程接口是基础中的基础,对于计算机科
学的任何领域都是大有裨益的。可能读者读完了此书,想更深入理解操作系统是如何
构建起来的,从而投入到操作系统内核的研发中去;或者想了解图形系统的构建原理,研习X window的设计与实现;总之迷上了计算机程序设计,一有闲暇遍关顾各大技术论坛、自由软件社区与人交流技术,打口水仗,或者撰写文档,开发程序,那么恭喜读者,你可以自豪的宣称自己是一名“黑客”了。

    一般来说,概述部分总会设计到太多新的概念,其中有夹杂着用一个不理解的术语去解释另一个不理解术语的情况,尽可能理解这些,不能理解的地方先跳过去,不影响后面的叙述,恰当的时候再回顾温习,相信能有更深的理解。

1.1 自由软件

    贝尔实验室的丹尼斯.里奇(Dennis Ritchie)设计实现了C语言,又与肯.汤普森
(Ken Thompson)一起实现了Unix操作系统,之后,C语言和Unix操作系统大放异彩,一
直流行至今,两人也因此获得了计算机科学界最高奖项:ACM图灵奖.

    Unix操作系统和C语言蕴涵的所谓的设计哲学也为人津津乐道,譬如 Keep It
Simple; Stupid.Tools,no policy! 暂时不必理会这些,可先专注与技术细节,一点一滴积累
,慢慢的就会体会到这些所谓的“哲学”其实很容易理解,读者也随时可以在你自己编写的软件程序中使用这一套哲学,或者自己发明一套出来。

    由于Unix源代码不开发,严重阻碍了科学的进步、社会的发展,于是理查德.斯托
尔曼(Richard Stallman),自由软件教父,发起了GNU(GNU's Not Unix)计划,旨在构建一个类Unix的完整操作系统,提出了自由软件的概念,并创立了自由软件基金会(FSF)。

    自由软件所指称的软件,其使用者有使用、复制、分发、研究、改进该软件的自
由。更精确地说,自由软件赋予使用者四种自由:

    * 不论目的为何,有使用该软件的自由。
    * 有研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求
。取得该软件之源码为达成此目的之前提。
    * 有重新发布该软件的自由,所以每个人都可以借由散布自由软件来敦亲睦邻。
    * 有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整
个社群都可以受惠。如前项,取得该软件之源码为达成此目的之前提。

     之后,“开放源码”的概念被提出,初衷是为了将自由软件介绍给非黑客界。开
源运动影响甚广,对自由软件的发展功不可没。不幸的是,开放源码这一概念削弱了
自由软件中自由的成分,自由软件基金会的努力被忽视了。为此,理查德.斯托尔曼呼
吁使用自由软件这个称呼,有利于传播自由思想。


1.1 GNU Linux

    安德鲁.塔嫩保姆教授设计并实现了一个Unix兼容的微内核操作系统Minix,用于讲授操作系统原理,Minix恪守Small is beautiful的原则,不适于实际个人或商业使用。Linus towards等人想对minix进行扩充改进没有得到安德鲁教授的同意,Linus就与活跃在互联网上的黑客门一起开发出了Linux并逐渐流行,而此时,GNU项目中的微内核服务器GNU Hurd一直犹如镜中月、水中花,于是Linux和GNU项目中其他自由软件如gcc, bash emacs等组合成一个完整的操作系统,称为GNU Linux。

    完整的描述或构建计算机系统都是复杂而艰巨的任务,通常的解决办法是将一个
大问题划分成若干小问题去解决,以分层的观点,提供策略而非机制,这是计算机科学中广泛运用的方法,也是工程学通用的方法。

真正意义上的操作系统仅指操作系统内核(kernel),不包括外围系统软件,如bash,gcc, glibc等。但是发布操作系统时,通常是内核、编译器,库函数及多种应用软件一起发布,所以有时操作系统也指这些的合集,具体所指视上下文判断。下图展示了GNU Linux系统的结构。

   
图中除bash和应用程序外,各项分别对应计算机科学中系统软件的一门基础学科,任何一项都需要花费相当的思考和实践才能深入进去,作出实际的成果。程序设计语言和数据结构与算法分析是基础,贯穿到编译器、数据库、操作系统等各个领域。

本书讨论的内容大部分集中于Glibc,而理解Glibc的编程接口不可避免要理解一些操作系统原理,所以也会涉及到Linux内核部分内容。另外,读者还需要与bash、vim、gcc打交道: vim是一个文本编辑器,用户也可选用其他的文本编辑器如EMACS;gcc(GNU C Compiler)是GNU Linux上的C编译器,用于将C语言源程序编译汇编成二进制代码,经由链接器链接成可执行文件。Bash是用户与操作系统字符界面的交互接口,对与Unix Linux用户来说,bash可能是打交道最频繁的软件,编辑器,编译器等所有程序均在Bash环境下启动运行。读者朋友可能接触过16位系统下的Turbo C编程环境,忘掉它吧,已经过时了,GNU linux系统上不需要用它,以后请改用gcc和vim或emacs。

这里唯独没有提到调试器gdb,笔者认为,理解程序结构和逻辑比用调试器单步调试查错更为重要,gdb浪费了我们许多敲打键盘的时间,真正派上用场或者说不得不用的场合很少,建议读者多用printf,printk打印输出进行调试。

读者可选用Ubuntu Linux发行版做为自己的操做系统。“Ubuntu” 是一个古非洲语单词, 意思是 “乐于分享”,它基于Debian Linux。选用Ubuntu的原因是因为它是真正的自由软件社区发行版,同Debian Linux相比,容易安装配置,更适合做为个人桌面操作系统。

1.2 FreeBSD

待续。。。。。
回复

使用道具 举报

WeiMingzhi 该用户已被删除
发表于 2006-5-30 19:08:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-5-30 19:54:49 | 显示全部楼层
另外现在由于 OpenOffice.org 已经可以打开 .doc 文件, 我认为没有必要再对 .doc 文件斤斤计较了。

尽管能够打开,但是效果仍旧不好。
强烈建议,写开源文章,用开源格式。
回复

使用道具 举报

WeiMingzhi 该用户已被删除
发表于 2006-5-30 21:43:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-5-30 21:58:17 | 显示全部楼层
并将其取名为 Linux

就Linux的历史来说,好像并不是Linus本人给它取的这个名字。
最好再换种说法。
回复

使用道具 举报

发表于 2006-5-30 22:43:02 | 显示全部楼层

Linux 是 Linus 的笔名……………
本来他起了一个很怪异的名字………
回复

使用道具 举报

 楼主| 发表于 2006-5-31 00:38:40 | 显示全部楼层
更新了一些,请查收。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2006-5-31 09:25:58 | 显示全部楼层
谢谢各位的建议,

在每章结尾会有一个专门的深入学习导读,这里会给出Ubuntu的网址,以及其他一些参考书籍。
回复

使用道具 举报

WeiMingzhi 该用户已被删除
发表于 2006-6-1 20:30:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2006-6-1 20:50:11 | 显示全部楼层
大概搞技术的,搞得久了,成了大牛,都这样,呵呵。
应自发的团结在以自由软件基金会为核心的带领下

这本来就是一个病句。
另外,我感觉随便套用中共宣传媒体的语气也是不足取的。呵呵,这个要求更高了。
回复

使用道具 举报

发表于 2006-6-2 11:04:28 | 显示全部楼层
政治语气无所谓.我只关心这本书的技术问题.
你再努力吧,希望你能坚持下去!同时期待你的大作的完成.
回复

使用道具 举报

 楼主| 发表于 2006-6-3 21:17:19 | 显示全部楼层
谢谢各位的建议,

准备N年磨一剑,争取写出一本对得起观众得好书。
回复

使用道具 举报

发表于 2006-6-4 02:24:10 | 显示全部楼层
准备N年磨一剑

只要你有这样一句话,我就放心了。
以后有困难尽管提出来,我们可以讨论讨论。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-29 17:08 , Processed in 0.117206 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表