1.2计算机及操做系统基础知识1


UNIX编程艺术  讲述UNIX历史的
    system V:简称SysV(5版本)
           不少商业公司拿到sys v的copy,而且以之为蓝本,创建本身的商业发行版
                比较流行的有:
        IBM: 硬件平台 Power, PowerPC,  系统是  AIX
        伯克利大学Bill Joy 等创立的  SUN: Sparc(硬件体系架构), SunOS --> Solaris, Open Solaris
        HP:cpu架构 Alpha, HP-UXlinux

    CPU常见平台:
    摩托罗拉
            m68000, m68k
         IBM
        Power
    IBM,摩托罗拉,apple组合开发   
                PowerPC
        sun公司
        Sparc, UltraSparc
       惠普
               Alpha
    Intel
                x86
        x86_64
            amd64
        MIPS
        ARM:知本主义    只卖技术.ios

    二进制代码:cpu对应所支持的指令(对应执行的指令)
        add: --> 汇编器(翻译器) --> 翻译成对应二进制格式的指令
        芯片:汇编语言  也称为  微码语言
        微码编程:程序员

        C语言  由编译器处理获得机器能执行的指令
            预处理、编译、汇编、连接编程

        调用:库   某些公用的程序,本身是不能执行的,只能被调用   .dll 动态链接库   .so  共享对象
            基本库:也称为标准库安全

    DOS (单用户、单任务系统)--> Windows (基于dos上来运行) 常因资源竞争而蓝屏bash

    DEC公司: 两种小型机  VAX:  研发vms系统 , PDP   后来要使用 UNIX,vms就不使用 
       微软收了vms
    WindowsNT(基于vms内核的)服务器

    微软和IBM,研发了 OS/2,后微软退出 --> 微软购买了OS/2,修改后获得Vista(微软用vms来修改OS/2获得)架构

    BSD-->SysV  争论
    BSD最后一次发行版:BSD Lite  从新包装BSD发行版,后解散了
        后来被各自由软件维护后   BSD系列系统
                FreeBSD --> MAC OS, ios
        NetBSD
        OpenBSD  安全的系统app

    因为UNIX商业后,受权费用很贵,就开发了一个Minixdom

    MIT: Stallman倡导自由, Freedom
        口号称为:GNU: Gnu is Not Unix.   自由软件运行到UNIX上
        须要遵循GPL协定: General Public License   通用公共许可证
            emacs, vi, bash   可是这些程序都是须要运行在UNIX上

        Linus: 仿照minix,根据UNIX,写了一个Linux (是操做系统的核心)

                包装发行Linux    GNU/Linux

        GNU/Linux   C语言写的

    源代码 --> 机器代码
               编译器
                 主版本号  次版本号   发行号
        版本号:major.minor.release
            2.1.4, 3.10.18

    发行版:把GNU软件编译好二进制程序在加上Linux内核

搜索  linux timeline  查看发行时间线路
发行商:
    slackware
        二次分支:s.u.s.E
    Debian
        Ubuntu
    Redhat

面向我的应用的发行版到9后    redhat 9 --> 捐赠给 Fedora

服务器版    RHEL: RedHat Enterprise Linux 3   每18个月一个新版本

    redhat: GPL, GNU

    社区版的Linux   CentOS:
        Community ENTerprise OS
         建议使用debian  桌面版

    LFS: Linux From Scratch   从零构建Linux
        书:
         任何两个层次的不协调均可以经过添加中间层来处理协调关系

                     应用程序         
                     A    P     I          syscall(系统调用)                
                    Linux             系            统     把底层硬件的不一样作彻底封装,并提供给程序员开发接口
                    硬件(cpu 、内存、硬盘等)
     预处理:把宏替换、头文件包含   编译:把源代码转化成目标代码
     汇编:  汇编成硬件可以识别的硬件指令      连接:
X86的cpu是有特权级别的,cpu是由4个环,把指令分红4类,应用程序只能使用最外层的ring3
通常指令在ring 3,最内层是ring 0,ring 0只有内核有权限使用 。
应用程序是直接运行在cpu上的,可是受控于内核。
应用程序在内存中使用也是如此,应用程序是看不到内存的,由于内存是虚拟出来的,只有操做系统才能看到

    API:Application Programming Interface  应用程序接口     ABI:Application Binary Interface               应用程序二进制接口   操做系统提供的运行环境(不一样操做系统是通常是不兼容的)

相关文章
相关标签/搜索