——Linux是操作系统。(是UnixLike,类似Unix操作系统)
我们平常所说的Linux或许只是指它的“内核”(kernel),是使用大部份的C语言和少量的汇编等语言编撰而成。
系统调用插口(Systemcallinterface)
这是为了便捷程序员可以轻易地通过与内核通讯免费linux主机,将硬件资源进一步借助,于是须要有这个简易的插口来便捷程序开发者。
程序管理(ProcessControl)
如多任务环境;内核必须控制那些工作,让CPU的资源做有效的分配。
显存管理(MemoryManagement)
控制整个系统的显存管理;内核会提供虚拟显存的功能,当显存不足时提供显存交换(swap)的功能。
文件系统管理(Filesystemmanagement)
比如输入输出、不同文件格式的支持等;
设备驱动(DeviceDriver)
目前有“可加载模块”功能,可以将驱动程序编辑成模块,不须要重新编译内核。
应用程序的开发都是参考操作系统提供的开发插口linux是一种什么软件,所以该应用程序只能在该操作系统里面运行而已,不可以在其他操作系统里面运行。
Linux吉祥物——企鹅
Linux的内核原型是1991年由林纳斯·托瓦兹(LinusTorvalds)写下来的。
Linux也可以叫GNU/Linux,由于Linux内核程序是使用了GNU的bash和gcc等工具编撰的,系统亦自带了好多GNU开发的软件(为Unix平台开发的)。
那GNU又是哪些呢?——GNU(GNU'sNotUNIX,GNU不是Unix之意),是一个自由软件项目,目的是创建一个自由、开放的UNIX操作系统(FreeUnix;这儿的Free是指“自由”之意,而不是免费);
GNUGPL——自由软件的版权,是为了防止自己开发下来的OpenSource自由软件被拿去弄成商业软件;“OpenSource”的意思是:提供给人用的软件要连同源代码一起放下来。(另外,不仅GPL授权之外,著名的“OpenSource”授权还有BSD和Apache)
GNU开发的几个重要软件有:Emacs(程序编辑器)、GNUC(GCC,编译器)、GNUCLibrary(GLIBC,可以被调用的C函数库)、Bashshell(拿来操作操作系统的基本插口);
常见的Linux发行版有:Redhat、Debain、Ubuntu、SuSE、CentOS...
所谓的发行版指的是“Kernel+Software+Tools”linux是一种什么软件,即包括有内核、软件、工具。
Tips:Linux具有Unix两个重要的概念:
(1)所有的程序或系统设备都是文件(一切皆文件);
(2)不管建立编辑器还是附属文件,所写的程序只有一个目的,就是要有效的完成目标。
因为Linux与Unix都遵守POSIX(PortableOperatingSystemforUnix)的标准开发的linux系统好用吗,所以Linux与现今的SystemV以及BSD等主流Unix系统均可兼容。(即Linux和Unix系统上的软件具有互相的可移植性)
可以把编译器看成是翻译器,它将人类看得懂的程序语言(如C、Java、Python等)翻译成机器语言(即0和1)
操作系统重点仅在驱动和管理硬件,而要使用硬件时,就须要通过应用软件或则是shell的功能,来调用操作系统操纵的硬件工作。
操作系统的内核层直接参考硬件尺寸写成,所以同一个操作系统程序不就能在不一样的硬件构架下运行。(如XP不能直接在RISC构架的计算机下运行。)
Others:
Linux内核官网:
Redhat(红帽)中国官网:
CentOS官网:
Ubuntu官网: