1、计算机基础和linux发行版

来源:互联网 发布:php如何加密源码软件 编辑:程序博客网 时间:2024/06/06 01:22
  计算机组成:
    运算器、控制器、存储器、输入设备、输出设备
        cpu:运算器、控制器
            cpu指令,指令集
                特权指令:只有OS能运行
                普通指令:应该程序运行
            CPU架构类型
                x86
                x64(可兼容x86)
                arm(手机端)
                
            CPU品牌型号
                m68000
                power
                ultrasparc
                alpha
                安腾
            高级语言-转换成汇编语言(编译)-转换成对指令调用(转换成对应机器语言)
        bus:总线
                控制总线、数据总线、地址总线
        存储器:memory,编址存储设备    
        IO:与外部部件交互
            磁盘
            网卡
            
  OS:
    软件程序
    通用目的(把低层各种不同的硬件,抽象虚拟为接口)
        硬件驱动
        进程管理(CPU时间切片)
        内存管理
        网络管理
        安全管理
        
    system call (syscall):系统调用,调用特权指令(linux300多个系统调用)
    
    编程层次:
        硬件规格:面对硬件编程
        系统调用:面对OS编程
        库调用:library call
    
    UI:用户接口
        GUI:graphic user interface(图形桌面)
        CLI:command line interface(命令行)
        
    ABI:application binary interface,应用程序二进制接口(程序编译为二进制后接口)
    API:application programming interface,应用程序编程接口(程序未编译时接口)
    
  计算机层次:
    硬件
    kernel(系统调用在内核中)
    库
    虚拟机、解释器(如java。虚拟机回收内存,回收时程序停止)
    程序(程序可在库下运行,也可以在系统调用下运行)
    
  操作系统
    windows
    linux(1991)
        
    unix:
        system(bell lab)
            AIX(IBM)
            solaris(SUN)
            HP-UX(HP)
        BSD(BSRG):berkeley system    distribution
            netBSD
            openBSD
            FreeBSD
            
  MIT:
    GNU:自由软件联盟
        GPL:general public license通用公共许可证
            GPLv2,GPLv3,LGPL
        apache开源协议:允许不公开代码
        BSD开源协议:允许不公开代码
            
  POS(POSIX):protable operating system,可移植操作系统规范,使系统库规范,方便程序移植        
        
  程序运行模式:
    用户空间:user space(us)
    内核空间:system space
    
  运行程序格式
    windows:EXE,dll(动态库链接)
    linux:ELF,so
    
    程序:指令+数据
        指令:只读
        数据:读写
    程序:算法+数据结构    
    
  库调用,系统调用:属于共享资源,多个程序可以调用内存里的一个库,节约内存
 
  malloc(),free():2个系统调用,前面请求内存,后面释放内存
 
  编程语言
    汇编语言:微码编程
        系统中某些与硬件相关的特有代码、驱动程序开发
    高级语言:C,C++
        系统级应用sql、驱动程序
    高级应用语言:java,python,php
        应该程序
        



    linux的发行版
        slackware
            suse
                opensuse
        debian:自发维护,要求高
            ubuntu
                mint
        redhat
            rhel:商业软件,18个月发行一次
            centos:兼容rhel的格式,被redhat收购
            fefora:6个月发行一次
        arch
        gentoo
        LFS
        android:kernel+busybox+java虚拟机
        
    程序包管理器
        rpm:rhel,fedora,suse,centos
        dpt:debian,ubuntu
    
    自由软件
        自由使用、自由学习和修改、自由分发、自由创建衍生版
    
    linux哲学思想
        一切皆文件
            把几乎所有资源,包括硬件设备都组织为文件格式
        由众多单一目的小程序组成,一个程序只实现一个功能,而且要做好;组合小程序完成复杂任务
        尽量避免跟用户交互:为了实现脚本编程,以自动完成某些功能
        使用纯文本保存配置信息
        
    获取centos发行版
        mirrors.aliyun.com
        mirrors.sohu.com
        mirrors.163.com