linux笔记 第一天

第一天内容:

    1、上课环境准备

    2、计算机及操作系统基础知识

    3、计算机及操作系统基础知识2

    4、linux系统安装及初步认识


一、写博客要求:5w1h (what,why,who,where,when,how) 条理清晰,合适编排,用户体验

二、计算机五大部件

    CPU(运算器+控制器)、Memory(存储器)、I/O(输入、输出设备)

        1、运算器 

        运算器是进行算术、逻辑运算的部件。 

        2、控制器 

        控制器是实现计算机各部分联系及程序自动执行的部件,其功能是从内存中依次取出命令,产生控制信号,向其他部件发出指                  令,指挥整个运算过程。控制器是统一指挥、协调其他部件的中枢。 

        注:人们常把运算器和控制器二者制做在一起称为中央处理器,简称CPU。 

        3、存储器 

        存储器是存储信息的部件,分为内存、外存。内存在控制器的指挥下,与运算器、输入/输出设备交换信息。外存是为了弥内存                 的不足而设置的,在控制器的控制下,它与内存成批交换数据。 

        注2:把运算器、控制器、内存三者合称为主机。 

        4、输入设备 

        输入设备是把数据和程序转换成电信号,并把电信号送入内存的部件。如:键盘、鼠标、扫描仪、麦克、游戏操作杆等。 

        5、输出设备 

        输出设备是把计算机处理的结果送到主机外的部件。如:显示器、打印机、音箱等

三、虚拟机创建

    cpu虚拟化:分时系统,时间片实现;内存虚拟化:分段占用;I/O设备虚拟化;网卡虚拟化;

    创建虚拟机  指定cpu、memory、i/o(disk、ethercard)的过程,安装OS,磁盘映像文件(disk  image file)分           稀疏格式(分配120G占用物理空间20K)和非稀疏格式

四、计算机工作原理

    1、二进制、十进制转换

    2、计算机最小存储单位是bit(位) 8bit=1Byte(字节) 1024Byte=1KB 1024KB=1MB

    3、cpu内部有一个寄存器(用于短暂存储数据),内存RAM(易失性存储器)

五、liunx的发展史

    1964年GE(美国通用电气), BELL(贝尔实验室), MIT(麻省理工学院) 三家公司联合研发了 Mutlics(分时操作系统),之后GE、BELL公司离开。bell一个程序员ken为了运行Space Travell,用汇编语言写了一个Unics平台,之后ken和同事Dennis Ritche(C语言之父)为了更多平台使用unics。就使用高级语言c重写了unics变化为Unix,由于BSD和BELL商业化unix系统,价格昂贵,荷兰一教授自己编写了一个小的操作系统Minix,麻省理工大学Stallman组织了GNU: Gnu is Not Unix自由软件开源协会,GNU运动制定了一个规则GPL(General Public License)。之后荷兰赫尔辛基大学的linus仿照minix、借鉴unix自己写了一个liunx内核。1991年linus的liunx正式公布给世人,通过世人和黑客的共同努力,linux的第一个版本终于在1994年发布并迅速流行。1994年成立的Redhat公司开始包装发行linux。linux只是一个核心更多的外围软件和程序都是GNU提供的,这样GNU/Linux诞生了。

       当时IBM的PC机为X86架构(Inter生产的CPU)并不能运行unix,只能安装非常昂贵的CTSS系统,这时西雅图一家公司Microsoft(盖茨)购买了艾伦朋友开发的一个能跑在X86架构的系统DOS(Disk Operation System);后来和IBM合作,IBM 每台PC机购买Microsoft DOS系统的Linsence.

六、liunx的编译安装

        大家都知道liunx是用C语言编写的,在互联网公开源代码,PC机能识别的是二进制格式!那么问题来了,我们要想在PC机上安装linux系统,该如何把源代码转换成计算机识别的二进制格式???这就涉及编译器的概念,编译器编译的过程就是将源代码转换成对应硬件平台的二进制代码!在编译器上编译完成源代码测试通过后放在目标计算机上运行,这样就安装系统了(不同硬件平台编译完不能使用);GNU的各种软件也是需要编译的不同平台不能使用,难道我们装不同硬件平台的计算机都要去编译源代码和各种GNU软件吗?

        众多的linux发行商就是为我们编译各种平台的系统,如红帽从互联网下载内核和各种应用程序源代码,编译并测试这些程序,再在外围添加安装程序封装成ISO的光盘在公网发布成为我们便捷使用的发行版;安装程序提供我们分区、时间、语言等设置。

七、linux发行商 (linux timeline)

        Slackware (S.U.S.E是基于slackwarede 二次发行版)

        Debian     (ubuntu是基于Debian的二次发行版)

        Redhat   (Centos 二次发行版) redhat9--->Fedora

                                                              RHEL3 4 5 6

                                                 Centos (Community ENTerprise OS)  

八、API: Application Programming interface  应用开发接口

                syscall系统调用接口

                libcall库调用接口

       ABI: Application Binary interface 应用二进制接口

开发编译、运行是2个阶段,开发编译时移植需要API相同,编译后运行需要ABI相同。。因为不同的操作系统提供的api不同所以不同操作系统上的程序是不能通用的。如果他们都遵循POSIX API那他们提供的api相同,但是程序编译后运行时他们用的ABI不相同程序也不能运行。

静态编译(编译时直接把系统提供的接口包含到程序中来,运行时不需要对应系统提供接口支持)、动态编译(不包含程序编译时系统提供接口。运行时需要对应系统提供相应接口支持)。API 组成部分:syscall系统调用接口,libcall库调用接口。ABI:不同操作系统的内核对于二进制支持格式是各不相同的。SO:shared object(共享对象)、dll:Dynamic Link Library(动态链接库)。POS API:portable os(可移植操作系统)为了兼容unix风格后改为POSIX API

九、自由软件

    FSF:Free software fundation

    ASF:Apache software fundation

    自由学习、自由修改源代码,自由分发源代码,自由创建衍生版,可以出于任何目的获取源代码。

    开源许可协议:开源协定

        GPLv2,GPLv3

        LGPL:Lesser

        BSD:

            1、如果二次发布的产品中包含源代码,则在源代码中必须带有原来代码的BSD协议

            2、如果二次发布的产品只是二进制格式的库或程序,则需要在发布的文档中或版权声明中                说明原来的代码中的BSD协议

            3、不可以用开源代码的作者、组织和原来的产品名字做市场推广。

    发行版:开源程序+linux内核

Android:

    linux + jvm(java虚拟机)+java程序

IOS:

    FreeBSD + Object-C(swift)

十、linux基本法则

    一切皆文件(包括硬件);

    由众多单一目的小程序组成完成负责的任务;

    尽可能避免捕获用户接口,为了方便脚本编程以实现自动化执行;

    使用文本文件保存程序的配置数据(使用一个文本编辑器即可完成系统及服务的配置)

十一、linux系统层次

      用户接口:是一种独特的应用程序,能够为用户提供启动其他应用程序的机制

        CLI:命令提示符

        GUI:图形界面,通过点击操作启动应用程序

            Gnome,c,gtk

            KDE,c++,qt

            xfce,轻量级

        终端:虚拟终端(carl-alt-fn) dev/tty#、

              伪终端 (ssh和图形界面打开命令提示符) /dev/pst/#

              物理终端(console)/dev/console、

              串行终端 /dev/ttyS#、

              图形终端(Carl-alt-F7) 

              startx & ;startx -- :2 &。可以启动多个图形窗口

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

你可能感兴趣的:(linux笔记 第一天)