为什么要解读Linux?

  首先我们得说我们学了什么.进程,线程?Oh,it is.那么有什么用处呢?背了玩?  学一样东西,我们不是为了学它才去学它,不是只是为了学校的成绩.事实上,作为一门知识,只有真正的使用它才能真正的了解它,才能把它更为灵活的应用到我们的工作中去.

Linux 0.01

Linux 可能是我们所能接触到的唯一的用于商业化运营的操作系统了.最初我只是为了作为一个使用者来看待它,就像用Widows一样,同时也是因为网上号称它是最为安全的操作系统.一次头脑发热买了个正版redhat 9.0(听联邦软件说如果盘有问题他们不包换,盗版盘有问题都可以换,第一次听说盗版服务比正版好,),才发现它的文档有3张盘,而且没注释.......

Linux 0.01 却完全符合学习目的的需要,一共76个核心文件,共8413行代码.

题外话--操作系统竞争中DOS和Microsoft 的胜利

  Unix无疑是操作系统设计和技术最先进思想的代表,分时的多用户,多任务,树形结构的文件系统以及重定向和管道是它的3大特点.它具有最先进,稳定的特性,非常适合企业计算机领域.但是它没有能够踏入个人计算机领域是有多方面的原因.

如果就技术而言,DOS这种采用CP/M结构,缺乏现代操作系统一些基本特征的操作系统,无论如何都不能同Unix相比.但是它却成就了Microsoft,这恰恰是市场的选择.

在上世纪80年代,硬件的成本在计算机领域中占主导地位,而个人用户无法支付大容量的存储设备和高性能的处理设备.所有的软件都必须尽可能的减少存储占用,Ms-dos正是适应市场的需求.在那个年代,对个人而言,多用户并不是市场所需,用昂贵的硬件支出来换取并不实用的功能是不理智的.另一方面, Unix一直停留在研究领域,实际商业应用需要支付昂贵的费用,这是市场定位上的问题.综其一切,Microsoft的胜利就是市场的胜利,而且依然在保持这样的胜利.

解度linux的所需要了解的:

GNU(GNU is Not Unix),1984年发起.

GNU Manifesto:软件的源代码应该自由流通,软件开发者应该做的不是把源代码占为己有,赚取发行可执行文件的金钱,而是应该赚取整合与服务的费用.

GCC:性能优异的多平台C/C++,fortran编译器.能够在嵌入式汇编语言中完全没有限制的使用C中的表达式和变量,这点VC++和Borland C++是无法做到的.

make:编译自动化工具.

Bochs:虚拟机软件.操作系统是底层软件,调试必须在硬件环境,如果没有虚拟机软件,那么就得不断的重起来调试,会累死的...... vmware不知道可不可以用,microsoft vpc 真的是不敢用,我的可怜的redhat 9至少已经在上面尝试过不下7遍了,从来就不能运行图形界面,其他版本都还可以用.

nasm:汇编器.如果使用其他的汇编器,在从实模式到保护模式的过渡过程中,因为需要处理16位与32位指令的过渡,一般要直接写二进制代码来进行jmp步骤,而在nasm中,直接用jmp dword就可以轻松做到.

ld:联接器.

调试器 gdb.

需要掌握的基本知识:

可以较好的使用GNU/Linux操作系统.

熟悉C语言和汇编语言.

理解x86处理器的保护模式\段\描述表\逻辑地址转换.

操作系统的基本功能:

文件管理.

处理器管理.

I/O管理.

存储管理.

用户接口.



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=310716


[点击此处收藏本文]  发表于2005年03月24日 12:24 AM




正在读取评论……
添加评论
大名
网址


验证码
评论