1991年8月:Linus Torvalds宣布成立Linux
            遵行GPL:

Kernel:底层监控程序又叫通用程序,即我们所说的操作系统
    Kernel的作用:
        1、驱动底层硬件
        2、把底层各硬件资源抽象成为简单资源 3、管理各应用程序把有限的资源合理分配给各程序

一个完整的OS(操作系统):
        Kernel和Application组成
        
        狭义上的OS仅指 Kernel
        
        GNU提供了应用程序,而Linux提供了内核,所以普通的linux指的是GNU/Linux

OS的接口有两类(接口也是一种应用程序):
        GUI:Graphic User Interface
            GNome:c语言开发,开发环境为gtk
            KDE:c++语言开发,图形库为qt
        CLI:Command Line Interface
            TUI:Text User Interface
            bash
            zsh
            sh
            csh
            tcsh
            ksh
    
    操作系统的作用:
        驱动程序
        进程管理
        安全
        网络安全
        内存管理
        文件系统
        ……

API:Application Program Interface,程序员面对的应用编程接口
        硬件的驱动为操作系统提供API接口,而操作系统为应用提供system call(系统调用)接口;为了更方便于程序员写应用程序,操作系统还提供了libraries call(库调用)接口

ABI:Application Binary Interface,程序应用者运行时面对的应用二进制接口
        上边的编程接口兼容不代表应用接口兼容,一般应用接口都不兼容

POSIX:Portable Operating System
        POSIX是一种规范,任何遵循POSIX规范的软件在windows可以用,在linux上也可以用,API接口在不同的操作系统上是兼容的

GNU组织:
        源码:编译成为 二进制格式才可以用,在GNU上发布的全是源码,一些社区或商家通过把源码编译成二进制拼凑封装成一个操作系统,并发行,所以linux的发行版本有数百种之多

Linux主要分支有:
            Debian 由社区维护,供黑客使用,维护难度更高,但更轻巧
                ubuntu
                    mint
                knopix
            Slackware
                S.u.S.e 由Novell公司维护,欧洲人使用更多
                    SLES
                    OpenSUSE
            RedHat 由RedHat公司维护
                RedHat Enterprise Linux:RHEL每十八个月更新一次
                    CentOS:Community ENTerprise OS 美国人,国人使用较多
                Fedora Core:每六个月更新一次

Gentoo
            ArchLinux

软件程序:版本号来区分
        major.minor.release
        主版本号.次版本号.版本号
        有重大更新时会升级主版本号,有分支更新时会升级次版本号,修复BUG时会升级版本号
        例:2.1.4

linux内核版本号:0.99,2.2,2.4,2.6,3.0,4.0
        官方网站:www.kernel.org

发行上版本也有自己的版本号(与内核版本无关):
        RHEL:5.x,6.x,7.x
            Fedora:23
        Debian:8.x
        OpenSUSE:13.x

最新文章

  1. mysql查询语句中用户变量的使用
  2. linux命令-find {查找}
  3. 【密码】Oracle用户密码系列
  4. STM32 控制红外线收发
  5. iis7配置网站容易出现的问题(转)
  6. php实现木桶排序
  7. js for in对象key排序
  8. javascript继承(八)-封装
  9. HTML5学习记录1-新特性
  10. [015]staic成员及staic成员函数
  11. 【HDOJ】4455 Substrings
  12. 理解Unity加载和内存管理
  13. CPU和GPU的区别
  14. QMQTT简单介绍(2)
  15. CVE-2018-19386:SolarWinds数据库性能分析器中反射的XSS
  16. ACM常用STL
  17. git代码统计
  18. 求一个数的n次幂
  19. linux的systemctl 命令用法 转
  20. linux写环境变量对字符转义

热门文章

  1. pyqt5 工具栏文字图片同时显示
  2. C++ 中set
  3. Java 程序员必备的 Intellij IDEA 插件
  4. Weex简介
  5. iOS服务器数据请求"汉字编码"问题
  6. 模拟窗口类ModelForm的应用
  7. SpringSecurity 配置
  8. Redundant Connection
  9. 3. Linux的shell编程
  10. 从多种角度看[BZOJ 1061] [NOI 2008]志愿者招募(费用流)