Linux是一套无偿使用和自由传播的类Unix操做系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操做系统。
它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操做系统。
linux普遍用于网站服务器。linux
世界超级计算机500强。程序员
Linux在嵌入式领域应用。web
UNIX操做系统,是一个强大的多用户、多任务操做系统,支持多种处理器架构,按照操做系统的分类,属于分时操做系统,最先由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。当前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,不然只能称为类UNIX(UNIX-like)。
Unix的前身为1964年开始的Multics,贝尔实验室 (Bell Labs)1965年时,加入一项由通用电气(General Electric)和麻省理工学院(MIT)合做 的计划;该计划要建立一套多用户、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操做系统。贝尔实验室参与了这个操做系统的研发,但由于开发速度太慢,1969年贝尔实验室决定退出这个计划。贝尔实验室的工程师,肯·汤普逊和丹尼斯·里奇,在此时自行开发了Unix。
后来AT&T意识到了Unix的商业价值,再也不将Unix源码受权给学术机构,并对以前的Unix及其变种声明了著做权权利。BSD在Unix的历史发展中具备至关大的影响力,被不少商业厂家采用,成为不少商用Unix的基础。其不断增大的影响力终于引发了AT&T的关注,因而开始了一场持久的著做权官司,这场官司一直打到AT&T将本身的Unix系统实验室卖掉,新接手的Novell采起了一种比较开明的作法,容许柏克莱分校自由发布本身的Unix变种,可是前提是必须未来自于AT&T的代码彻底删除,因而诞生了4.4 BSD Lite版,因为这个版本不存在法律问题,4.4 BSD Lite成为了现代柏克莱软件包的基础版本。尽管后来,非商业版的Unix系统又通过了不少演变,但其中有很多最终都是建立在BSD版本上(Linux、Minix等系统除外)。因此从这个角度上,4.4 BSD 又是全部自由版本Unix的基础,它们和System V及Linux等共同构成Unix操做系统这片璀璨的星空。
此后的10年,Unix在学术机构和大型企业中获得了普遍的应用,当时的UNIX拥有者AT&T公司以低廉甚至免费的许可将Unix源码受权给学术机构作研究或教学之用,许多机构在此源码基础上加以扩展和改进,造成了所谓的“Unix变种”,这些变种反过来也促进了Unix的发展,其中最著名的变种之一是由加州大学柏克莱分校开发的伯克利软件套件(BSD)产品。
BSD使用主版本加次版本的方法标识,如4.二、4.3BSD,在原始版本的基础上还有派生版本,这些版本一般有本身的名字,如4.3BSD-Net/1,4.3BSD-Net/2等。BSD在发展中也逐渐派生出3个主要的分支:FreeBSD、OpenBSD和NetBSD。
此后的几十年中,Unix仍在不断变化,其著做权全部者不断变动,受权者的数量也在增长。Unix的著做权曾经为AT&T全部,以后Novell拥有获取了Unix,再以后Novell又将著做权出售给了圣克鲁兹做业,但不包括知识产权和专利权(这一事实双方尚存在争议)。有不少大公司在获取了Unix的受权以后,开发了本身的Unix产品,好比IBM的AIX、HP的HP-UX、SCO的Openserver、SUN的Solaris(被Oracle收购)和SGI的IRIX。
Unix由于其安全可靠,高效强大的特色在服务器领域获得了普遍的应用。直到GNU/Linux流行开始前,Unix也是科学计算、大型机、超级计算机等所用操做系统的主流。如今其仍然被应用于一些对稳定性要求极高的数据中心之上。redis
1991年,林纳斯·托瓦兹在赫尔辛基大学上学时,对操做系统很好奇他对MINIX只容许在教育上使用很不满(在当时MINIX不容许被用做任何商业使用),因而他便开始写他本身的操做系统,这就是后来的Linux内核。林纳斯·托瓦兹开始在MINIX上开发Linux内核,为MINIX写的软件也能够在Linux内核上使用。后来使用GNU软件代替MINIX的软件,由于使用从GNU系统来的源代码能够自由使用,这对Linux的发展有益。使用GNU GPL协议的源代码能够被其余项目所使用,只要这些项目使用一样的协议发布。为了让Linux能够在商业上使用,林纳斯·托瓦兹决定更改他原来的协议(这个协议会限制商业使用),以GNU GPL协议来代替。以后许多开发者致力融合GNU元素到Linux中,作出一个有完整功能的、自由的操做系统。数据库
基于Linux的系统是一个模块化的类Unix操做系统。Linux操做系统的大部分设计思想来源于20世纪70年代到80年代的Unix操做系统所建立的基本设计思想。Linux系统使用宏内核,由Linux内核负责处理进程控制、网络,以及外围设备和文件系统的访问。在系统运行的时候,设备驱动程序要么与内核直接集成,要么以加载模块形式添加。
Linux具备设备独立性,它内核具备高度适应能力,从而给系统提供了更高级的功能。GNU用户界面组件是大多数Linux操做系统的重要组成部分,提供经常使用的C函数库,Shell,还有许多常见的Unix实用工具,能够完成许多基本的操做系统任务。大多数Linux系统使用的图形用户界面建立在X窗口系统之上,由X窗口(XWindow)系统经过软件工具及架构协议来建立操做系统所用的图形用户界面。
已安装Linux操做系统包含的一些组件:
启动程序:例如GRUB或LILO。该程序在计算机开机启动的时候运行,并将Linux内核加载到内存中。
init程序:init是由Linux内核建立的第一个进程,称为根进程,全部的系统进程都是它的子进程,即全部的进程都是经过init启动。init启动的进程如系统服务和登陆提示(图形或终端模式的选择)。
软件库包含代码:能够经过运行的进程在Linux系统上使用ELF格式来执行文件,负责管理库使用的动态连接器是“ld-linux.so”。Linux系统上最经常使用的软件库是GNU C库。
用户界面程序:如命令行Shell或窗口环境。windows
内核版 www.kernel.org安全
Linux发行版(列举的都是比较主流的。)服务器
开源软件(英语:open source software,缩写:OSS)又称开放源代码软件,是一种源代码能够任意获取的计算机软件,这种软件的著做权持有人在软件协议的规定之下保留一部分权利并容许用户学习、修改以及以任何目的向任何人分发该软件。开源协议一般符合开放源代码的定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合做地开发。开源软件是开放源代码开发的最多见的例子,也常常与用户生成内容作比较[1]。 开源软件的英文“open-source software”一词出自自由软件的营销活动中。开源软件同时也是一种软件散布模式。通常的软件仅可获取已通过编译的二进制可执行档,一般只有软件的做者或著做权全部者等拥有程序的源代码。
有些软件的做者只将源代码公开,却不符合“开放源代码”的定义及条件,由于做者可能设置公开源代码的条件限制,诸如限制可阅读源代码的对象、限制派生产品等,此称之为公开源代码的免费软件(Freeware,例如知名的网络论坛软件Discuz!),所以公开源代码的软件并不必定可称之为开放源代码软件。
• Apache: web服务器
• Nginx: web服务器
• MySQL: 数据库(SQLserver , Oracle)
• PHP: 脚本语言
• Samba: Linux和windows之间的内网文件服务器
• MongoDB: NoSQL数据库 redis
• Python: 脚本语言
• Ruby: 脚本语言
• Sphinx: 中文分词网络
★ 使用的自由 绝大多数开源软件免费
★ 研究的自由 能够得到软件源代码
★ 散布及改良的自由 能够自由传播、改良甚至销售。多线程