Python网络编程(Linux)
上QQ阅读APP看书,第一时间看更新

1.2 Linux的特点

Linux之所以受到广大计算机从业人员的青睐,主要是因为Linux具有如下特点。

1.开放性

由于Linux遵循GPL(GNU General Public License)约定,使得其可以通过Internet,由全球众多的自由软件爱好者维护。在Linux中,几乎所有的源代码都是开放的,包括核心程序、设备驱动程序等,用户可以根据自己的实际需要来定制模块、修改源码,使系统满足自己的个性化需求。这个特点吸引了大量的专业用户。

2.多用户

在Linux系统中,可以创建多个用户账号,这些用户账号对相同资源(例如文件、服务等)具有不同的访问和操作权限,保证了用户对资源操作的个性。另外,多个用户可以同时登录到同一个Linux系统中同时工作,每个用户都能够按照自己的意愿定制工作环境,安排自己的桌面图标,访问操作权限许可下的文件,好像自己正在独占Linux系统。

3.多任务

多任务是现代操作系统最主要的一个特点,一般将一个进程看作一个任务。在Linux系统中,单个用户就可以启动多个程序同时执行,使得系统内存在多个用户启动的众多程序同时执行。一个正在执行的程序可以形成一个或多个进程,使得同时执行的众多程序形成系统内的多个进程,而一个进程又可包括多个线程,因此,多任务的操作系统中同时存在多个进程和线程。Linux系统按一定的策略调度这些进程和线程,使用户觉得这些进程和线程在同时执行,但实际上,这些进程和线程可能在相同的CPU上交替轮流执行,由于CPU的处理速度非常快,一般情况下用户感觉不到多个进程和线程的轮流执行。

4.良好的图形用户界面

Linux向用户提供了两种界面:字符界面和图形界面。Linux的字符界面通过Shell实现,以高效、强大著称,其灵活多变的Shell脚本非常有利于对Linux服务器的管理,是Linux高级用户常用的界面。该界面除了支持命令行方式外,还具有很强的程序设计功能,通过编程,用户可通过程序调用系统提供的函数来实现相应的功能。

与Windows的图形化界面一样,Linux也有自己的图形化界面,它主要由两部分组成:X-Window系统以及KDE、GNOME或其他桌面环境(如XFCE等)。用户利用鼠标对其操作,给用户呈现一个直观、易操作、交互的图形化界面。与Windows系统不同,Linux的图形界面仅仅是应用程序而不是系统的内核,因此,在启动Linux系统时,可选择不启动图形界面。

5.设备的独立性

设备的独立性指系统屏蔽掉物理设备的具体细节,给用户提供统一的标准操作接口来使用设备,即系统给用户展现的是逻辑设备。用户通过标准操作接口使用设备,不需要了解设备的具体特性,由操作系统来完成逻辑设备到物理设备的映射。Linux的所有设备都是以文件的方式命名,每一个设备是一个特殊类型的文件,用户访问设备就像访问文件一样方便。当增加新设备时,在系统内核中添加必要的驱动程序,以确保操作系统内核以合理的方式来操作这些设备。

Linux的内核具有高度适应能力,已经包含了常用硬件的驱动程序。Linux系统会自动识别、加载并管理硬件设备,供用户直接使用。对于驱动程序未包含在Linux系统中的设备,用户可以下载这些设备的驱动程序,并进行安装后即可使用。另外,由于Linux的内核源代码可以免费下载,高级用户可以通过修改内核源代码给系统添加新的设备,然后重新编译内核,使Linux系统能够自动识别和加载这些设备。

6.丰富的网络功能

丰富并且完善的网络功能是Linux的一大特点。由于Linux与互联网相伴而生,因此,Linux具有全套的网络服务,如DNS(Domain Name Server)、FTP(File Transfer Protocol)、DHCP(Dynamic Host Configuration Protocol)等,与此同时,还提供了大量免费的Internet软件,例如,网络浏览器、FTP工具、远程管理工具等,使用户可以方便地通过这些软件访问Internet。此外,Linux还向用户提供了远程访问工具软件,例如,Telnet、SSH(Secure Shell)、VNC(Virtual Network Computer)等,用户可以通过这些工具软件,远程登录到Linux系统中,对Linux系统进行操作和维护。

7.可靠的系统安全

Linux采取了许多安全技术措施,如文件读/写权限控制、用户授权、带保护的子系统、审计跟踪、核心授权等;还有开放源代码,大大减少了操作系统存在未知“后门”的可能性;这些都为整个系统提供了必要的安全保障。

8.良好的可移植性

可移植性是指将操作系统从一个平台转移到另一个平台,仍然能按其自身的方式运行的能力。Linux符合POSIX标准,具有良好的可移植性,不仅可以运行在Intel系列CPU的计算机上,还可以运行在APPLE、AMD、ARM等系列CPU的计算机上。

Linux遵循标准的通信协议,为符合标准通信协议的计算机之间的通信提供了丰富的实现手段,且不需要额外增加特殊和昂贵的通信设备。

9.丰富的应用软件支持

Linux与POSIX标准及其他应用程序接口兼容,因此,包括GNU在内的大量免费或共享软件都能够在Linux上运行,这些软件包括Shell类、编辑器类、编程工具类、数据库类、Internet应用类、办公软件类、游戏类等。

10.内核完全免费

Linux的内核完全免费,用户可以通过网络或其他途径获得,并可以任意修改其源代码,这是其他的操作系统不具备的特点。正是由于这一点,来自全世界的无数程序员参与Linux的修改、编写工作,根据自己的兴趣和灵感对其进行改变,这让Linux吸纳了无数程序员的工作成果,不断壮大。