第一章 Linux是什么
Linux是核心与系统调用接口两层中间的操作系统
不同硬件的功能函数并不相同,IBM的Power CPU与Inter的x86架构不同,所以同一套操作系统是不能在不同的硬件平台上面运行的。也就是说,每种操作系统都是在他专门的硬件机器上面运行的。不过,Linux操作系统是Open Source的操作系统,所以他的程序码可以被修改成适合在各种机器上面运行的。
也就是说,Linux是具有"可移植性"的
Linux提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭了Unix良好的传统来的,所以相当的稳定而功能强大。由于这个优良的架构可以在目前的个人计算机(x86系统)上面跑,所以很多的软件开发者将工作重心转移到这个架构上面。所以Linux操作系统也有很多的应用软件。
相容分时系统:可以让大型主机通过数个终端机以连线进入主机,来利用主机的资源进行运算工作。
相容分时系统可以说是近代操作系统的始祖,他可以让多个使用者在某一段时间内分别使用CPU的资源,感觉上是大家同时使用该主机的资源,实际上是CPU在每个使用者的工作之间进行切换。
Unix系统原型开发出来有两个重要的概念,分别是:
所有的程序或系统设备都是文件
不管建构编辑器还是附属文件,所写的程序只有一个目的且要有效的完成目标。
1973年Unix系统正式诞生,用C语言写成Unix核心。
操作系统的核心(Kernel)必须要跟硬件配合,以提供及控制硬件的资源进行良好的工作。早期每一家生产计算机硬件的公司还没有所谓的协定概念,所以每一个计算机公司生产的硬件自然就不相同了。因此必须要为自己的计算机硬件开发合适的Unix系统。
不论是什么软件,都要进行编译称为二进制文件后才能够执行,如果能够写出不错的编译器,就是大家都需要的软件。第一个编辑器是c语言编译器,就是现在非常有名的GNU C Compiler(gcc).还撰写了更多可以被调用的C函数库(GNU C library).可以被使用来操作操作系统的基本接口BASH shell
BASH shell基本接口是用来操作操作系统的
POSIX是可携式操作系统接口(Portable Operating System Interface)的缩写,重点在规范核心与应用程序之间的接口。
1.2 Linux核心版本与发布商版本
Linux核心版本与distribution的版本并不相同
所谓的Linux版本指的应该是核心版本,常用的Linux系统则应该说明为distribution才对。
Linux distributions:Linux可完整安装套件
Linux 其实就是一个操作系统最底层的核心及其提供的核心工具。
他是GNU GPL授权模式,所以任何人均可取得源代码与可执行这个核心程序,并且可以修改。
可完整安装的Linux发布套件
Linux出现后很多自由软件团队,如postfix、vsftpd、apache等都以Linux为开发测试平台的计划出现,Linux除了主要的核心程序外,可以在Linxu上面运行的软件也越来越多。
*各大Linux Distributions的主要异同:支持标准
1.3 Linux当前应用的角色
1.3.1 企业环境的利用
企业环境的目标在于一些产品方面的信息(如网页介绍)、以及整合整个企业内部的数据统一性(统一的账号管理/文件管理系统)、另外某些金融业则强调在数据库、安全强化等重大关键应用、学术单位则需要很强大的运算能力。所以企业用Linux做以下用途:
1.网络服务器
linux上面的网络功能特别的稳定与强大,有很多在Linux上面的服务器软件几乎都是自由软件。因此,作为一部网络服务器,如www、Mail Server、File Server等Linux绝对是上上之选。
2.关键任务的应用(金融数据库、大型企业网管环境)
目前很多金融业界都已经使用Linux作为他们的关键任务应用。所谓的关键任务就是该企业最重要的业务了。
3.学术机构的高性能运算任务
1.3.2 个人环境的使用
桌面电脑、手持系统(Android其实就是Linux核心的一只)、嵌入式系统(家电产品、手机、数码相机等,操作系统是直接嵌入于产品当中的,包括路由器、防火墙、ip分享器、交换器等)
想要玩嵌入式系统必须要很熟悉Linux Kernel与驱动程序的结合才行
1.3.3 云端运用
云程序:云程序的底层就是Linux,云程序搭建出来的虚拟机,内容也是Linux操作系统
虚拟化:所谓的虚拟化是在一部实体机上面仿真出多个逻辑上完全独立的硬件,这个假的虚拟出来的硬件主机,可以用来安装一部逻辑上完全独立的操作系统。因此,通过虚拟化的技术,可以将一部实体主机安装多个同事运行的操作系统,以达到将硬件资源完整利用的效果。
端设备:运算资源都集中在云里面,连接到云程序的设别就是端设备。