Linux操作系统基础案例教程
上QQ阅读APP看书,第一时间看更新

2.2 Linux的特点

不管使用什么版本的Linux,对大家而言共同的代码是Linux内核。虽然内核能够被修改,使其包含你所要的特点,但每种Linux内核都能提供下列特征。

(1)开源

由于Linux系统的开发从一开始就与GNU项目紧密地结合起来,所以它的大多数组成部分都直接来自GNU项目。任何人、任何组织只要遵守GPL条款,就可以自由使用Linux源代码,为用户提供了最大限度的自由度。这一点也正投嵌入式系统所需要的,因为嵌入式系统应用千差万别,设计者往往需要针对具体的应用对源码进行修改和优化,所以是否能获得源代码对于嵌入式系统的开发是至关重要的。加之Linux的软件资源十分丰富,每种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。这一切就使设计者在其基础之上进行二次开发变得非常容易。另外,由于Linux源代码公开,也使用户不用担心有“后门”等安全隐患。同时,源代码开放给各教育机构提供极大的方便,从而也促进了Linux的学习、推广和应用。

(2)模块化程度高

Linux的内核设计非常精巧,分成进程调度、内存管理、进程间通信、虚拟文件系统和网络接口五大部分。其独特的模块机制可根据用户的需要,实时地将某些模块插入或从内核中移走,使得Linux系统内核可以裁剪得非常小巧,很适合于嵌入式系统的需要。

(3)符合POSIX 1003.1标准

POSIX 1003.1标准定义了一个最小的UNIX操作系统接口,任何操作系统只有符合这一标准,才有可能运行UNIX程序。考虑到UNIX具有丰富的应用程序,当今绝大多数操作系统都把满足POSIX 1003.1标准作为实现目标,Linux也不例外,它完全支持POSIX 1003.1标准。另外,为了使UNIX System V和BSD上的程序能直接在Linux上运行,Linux还增加了部分System V和BSD的系统接口,使Linux成为一个完善的UNIX程序开发系统。

(4)支持多用户访问和多任务编程

Linux是一个多用户操作系统,不仅可以有很多的用户,还可以让这些用户同时登录系统并且在上面工作。用户可以按照其需要准备工作环境:存储文件的主目录和桌面环境(包括图标、菜单和与它们对应的应用)。用户的账号可以有密码保护,这样就能控制访问的应用和数据。可以同时运行多个程序,这意味着不仅可以同时运行多个程序,Linux操作系统本身还可以有很多运行在后台的程序。很多这样的系统进程使Linux作为一台服务器进行工作成为可能,它们监听网络上的各种请求:如登录系统、浏览Web页、打印文档或者复制文件。

(5)采用页式存储管理

页式存储管理使Linux能更有效地利用物理存储空间,为用户提供了更大的存储空间。

(6)支持多种文件系统

Linux能支持多种文件系统。目前支持的文件系统有:ext2、ext、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS等。Linux最常用的文件系统是ext2,它的文件名长度可达255字符,并且还有许多特有的功能,使它比常规的UNIX文件系统更加安全。

(7)支持TCP/IP、SLIP和PPP

在Linux中,用户可以使用所有的网络服务,如网络文件系统、远程登录等。SLIP和PPP能支持串行线上的TCP/IP协议的使用,这意味着用户可用一个高速Modem通过电话线连入Internet网中。

(8)图形用户接口

图形用户接口(X Window系统)——在Linux下开发图形应用程序的强大框架被称为X Window系统(或简称X)。X的功能主要是打开基于X的图形用户接口(GUI)应用,然后显示在X服务器进程上。

(9)硬件支持

可以为每种能够连上计算机的硬件配置相应的支持,这些支持包括软盘驱动器、CD-ROM、DVD-ROM、手写输入、声卡、磁带设备、显卡还有其他能想到的设备。当计算机内加入USB之类的设备接口时,这些设备的支持也被相应地加入了Linux。

(10)网络连接

Linux提供了对很多种局域网卡、Modem和串行设备的支持。除了像Ethernet一样的局域网协议,大部分流行的高层网络协议都是可以内建的。这其中最流行的协议是TCP/IP(用来连接因特网),除此之外还有其他协议,如IPX(用来连接Novell网络)和X.25(一种在欧洲流行的包交换网络类型)。

(11)网络服务器

Linux做得最好的就是给局域网或者整个因特网上的客户端计算机提供网络服务。用户可以使用各种各样的软件包来把Linux作为打印服务器、文件服务器、FTP服务器、邮件服务器、Web服务器、新闻组服务器或工作组服务器(DHCP或NIS)。