1.3系统安装及初步认识

Linux:
        API: 应用编程接口   一般是:
            syscall   系统调用接口
            libcall    库调用接口
        ABI: 不一样操做系统的内核对于二进制格式文件的支持是各不相同的
                        对应平台支持的可执行环境
Linux和windows所支持的二进制文件格式是不彻底相同的
在每一个应用程序的开头几个字节,有一些符号用来标记这是什么格式的可执行文件,后面就是可执行的数据
Linux 支持的格式为 ELF格式的   windows上支持的是exe,msi格式的   他们的二进制格式是不一样的
当任何程序须要运行时,先向内核申请须要运行,内核识别看是否可运行,如发现能够运行,则划分红一部分cpu,让其运行
   
        .so: Shared Object   共享对象
    .dll: Dynamic Link Libraries  动态连接库
链接是有两种方式的
静态连接:可以独立运行,可是连接后空间很庞大
动态连接:java

编译时,移植能成功,API须要同样     库兼容
编译后,移植能成功,ABI须要同样linux

早期IEE定义的规范叫:POS API   可移植操做系统接口   操做系统的兼容规范
        Portable OS  为了可以兼容UNIX的使用风格,POS API --> POSIX APIc++

    x86
        32bits linux: p1
        64bits linux: p1shell

自由软件:  都是支持开源协定的   遵循开源协定的都是自由软件
    FSF:Free Software Fundation     自由软件基金会
    ASF:Apache Software Fundation   Apache软件基金会
        特色:
        自由学习、自由修改源代码
        能够出于任何目的获取源代码
        自由分发源代码
        自由建立衍生版编程

    开源许可协议:开源协定
        GPLv2 ,  GPLv3   通用公共许可证(GPL)的几个版本
        LGPL: Lesser(松散的)   仅调用库无需开源
        BSD:
            一、若是二次发布的产品中包含源代码,则在源代码中必须带有原来的代码中的BSD协议;
            二、若是二次发布的只是二进制格式的库或程序,则须要在发布的文档或版权声明中说明包含原来的代码中的BSD协议;
            三、不能够用开源代码的做者/组织和原来的产品名字作市场推广;
        Apache License: 也和BSD类似,但比BSD更宽泛小程序

        Copyright  版权
        Copyleft  公共版权swift

    各类发行版: 各类开源程序 + Linux内核     都是编译好的
        GPL, LGPL, BSD, APLwindows

    Android系统: 
        Linux + jvm(虚拟机) + java程序    处理垃圾时,是不能运行程序的bash

    IOS:
        FreeBSD + Object-C (swift) (面向对象的C)ssh

    Linux基本法则:
        一切皆文件(包括硬件)
        由多个单一目的小程序组成
        组合小程序完成复杂任务
        尽量避免捕获用户接口,为了方便脚本编程以实现自动化执行;
        使用文本文件保存程序的配置数据:使用一个文本编辑器便可完成系统及服务配置工做;

    Linux系统层次:

        运行程序:经过内核把某应用程序调度至硬件执行其执行;

        用户接口:是一种独特的应用程序,可以为用户提供启动其它应用程序的机制;有两种接口:
            CLI:
                命令提示符,用户输入要执行的命令便可;
                shell: 外壳
                    sh, csh, ksh, bash, zsh, tcsh
             [root@root scripts]#echo $SHELL    查看当前用户所用shell
               /bin/bash
            GUI:
                经过点击操做来启动应用程序;
        Linux下经常使用的GUI
                    Gnome, c, gtk
                    KDE, c++, qt 界面研发
                    xface, 轻量级桌面
终端:
        虚拟终端(程序)
            Ctrl-Alt-F[1-6]
            全部的虚拟终端表示:/dev/tty#
        图形终端   用户使用的GUI终端
            Ctrl-Alt-F7
        伪终端
            使用ssh远程链接
            在图形界面下打开的命令提示符
            全部的伪终端表示:/dev/pts/#
        物理终端(控制台console)  没有启动虚拟终端也没有启动伪终端,经过显卡直接连到显示器,在启动虚拟终端启动程序以前的终端就是物理终端。
            表示:/dev/console
        串行终端:  不使用vga显示    一个一个字符来显示,使用图形程序时,须要用到VGA
            表示:/dev/ttyS#


        设备文件:

    此前未启动X window:
        startx &
        startx -- :2 &

    总结命令:         ifconfig, tty, ls, startx, echo

相关文章
相关标签/搜索