一、操作系统

    OS:Operating System,通用目的的软件程序。

二、OS分类

    服务器OS:RHEL,CentOS,Windows Server,AIX

    桌面OS:Windows 10,Windows 7,Mac OS,Fedora

    移动设备OS:Android,IOS,YunOS

三、开发接口标准

    ABI(应用二进制接口):Application Binary Interface

        ABI概述:ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行。

    API(应用程序开发接口):Application Programming Interface

        API概述:API定义了源代码与库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译。(包含函数库调用和系统调用)

    POSIX(可以只操作系统接口): Portable Operating SystemInterface

        POSIX概述:①IEEE操作系统上定义的一系列API标准。

                   ②POSIX兼容的程序可在其它POSIX操作系统编译执行

四、运行程序格式

       Windows:EXE(应用程序)、dll(动态库连接)、lib(静态库连接)

       Linux:ELF、so(动态库)、.a(静态库)

五、编程语言

    低级语言

        机器语言:0和1

        汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发。

    中级语言:C语言

        用于系统级应用、驱动程序

    高级语言:Java、Python、PHP

       用于应用级程序开发

六、服务器三大操作系统

    Windows

    Linux:GUN/Linux

    Unix:其中又分为两个流派

        System:贝尔实验室(Bell Lab)

            AIX(IBM)

            Solaris(Sun)

            HP-UX(HP)

        BSD(BSRG):伯克利大学(Berkeley System Distribution)

            NetBSD

            OpenBSD

            FreeBSD

七、Linux起源

    1984年,Richard Stallman(查理德.斯托曼)发起GUN项目和自由软件基金。

        创建开源Unix实用工具版本;

        创建通用公共许可证(GPL);

        开源软件许可实施原则;

    1991年,Linus Torvalds(林纳斯.托瓦兹)发布Linux

        创建开放源码,类Unix的内核,在GPL下发布

        内核下载官网:www.kernel.org

    Linux操作系统

        Linux内核+GUN工具=完整的类Unix操作系统,如centos、Ubuntu,Android

八、Linux发行版

    slackware:SUSE Linux Enterprise Server(SLES)

        Opensuse桌面

    Debian:Ubuntu、mint

    Redhat:Redhat Enterprise Linux(RHEL),每18个月发行一个新版本

        centos:兼容rhel格式

        中标麒麟:中标软件

        Fedora:每6个月发行一个新版本

    archlinux:清亮简洁

    Gentoo:极致性能,不提供传统意义的安装程序

    LFS:Linux From Scratch,自制Linux

    Android:kernel+busybox(工具集)+Java虚拟机

九、开源

    开源(open source):软件和源代码提供给所有人

        自由分布软件和源代码

        能够修改和创建衍生作品

        作者的代码完善

    软件分类:商业、共享、自由

    开源协议

        GPLv2,GPLv3,LGPL(lesser),WordPress、copyleft

        Apache:apache

        BSD:bsd

十、Linux则学思想

    ①一切都是一个文件(包括硬件)

    ②小型、单一用途的程序

    ③链接程序、共同完成复杂的任务

    ④避免令人困惑的用户界面

    ⑤配置数据存储在文本中

十一、获取Linux发行版

    CentOS

    ①http://mirrors.aliyun.com

    ②http://mirrors.sohu.com

    ③http://mirrors.163.com

    ④https://wiki.centos.org/Download