1、LInux操作系统发展与演变

  ENIARC:

    CUP:运算器、控制器。寄存器、缓存

    存储器:内存、RAM

    Input:指令+数据

    Output:结果

  程序:指令+数据    算法+数据结构

  字节是最小存储单位,cpu以字节的形式进行读取,32位操作系统一次可以读取32bit   2^32=2^2 * 2^10 * 2^10 *2^10 bit =4GB

  内存是编址的存储单元

  单任务: CPU和内存速度不匹配,CPU空闲

  多任务:中断系统

    Bell,MIT,GE=Mutics

    DEC:PDP-汇编语言

      Unics = unix(1969)

      B:Dennis Ritch,C

      Berkeley:

        Bill Joy, BSRG,1977, BSD(Berkeley System Distribution)

     Mircrosoft: Bills Gates

     SUN: Bill Joy

     Apple:XEROX

    1985: Richard Stallman

      GNU: GNU is NOT Unix

          GPL:General Public License

          FSF:Free Software Foundation

          X-windows

          gcc: GNU C Compiler

          vi; visual interface

    Unix二次发行版

      SUN:Solaris

      IBM:AIX

      HP:HP-UX

    Andrew: Minix, 4000+行

    1990:BSD

    1991年8月: Linux

    GPL

2、操作系统改概念

    操作系统为每个程序虚拟出一个美好花园,让每个程序觉得只有自己独占硬件系统,

    程序是静态,进程是动态

    广义上的操作系统:Kernel+Applications

    狭义上的操作系统:Kernel

    GNU提供Applications,Linus提供Kernel,就成了GNU/Linux,简称Linux

GNU/Linux是以源码(文本)的形式提供
        大教堂式开发

        集市式开发

            Mac:BSD

             选定了方向就一直坚持下去

    OS的接口有两类:

    GUI:Graphic User Interface

          GNome:C,GTK

          KED: C++,QT
            CLI: Command LIne Interface
                  bash
                  zsh
                  sh

3、操作系统的功能:
     驱动程序
     进程管理
     安全管理
        网络管理
        文件系统
            ......
    API:Application Program Interface
        程序员面对的编程接口
        POSIX:Portable Operating system
            是为了不同操作系统提供统一的编程接口,它会把统一的API转化成不同系统的ABI
            硬件-->Kernel(system call)-->Library-->POSIX
    ABI:Application Binary Interface  windows(exe,msi),linux(deb,elf)
        程序运行面对的运行接口
     不同系统的API是一样的,不同系统的ABI不一样,中间通过POSIX转化,使得不同系统上开发的程序可以相互移植运行
    linux和window的API兼容,编译后的ABI不兼容
    Unix-Like的系统API和ABI都兼容

4、Linux 发行版

  GNU:
        不同厂商把Linux源码编译成二进制格式运行称为Linux的发行版
        主要发行版:
        1、Debian:   更轻巧,对技术能力要求更高
                Ubuntu
                        mint
                knopix
        2、Slackware
                S.u.S.E
                    OpenSUSE
        3、Redhat
                Redhat 9.0
                    Redhat Enterprise Linux: RHEL  主要是出问题了,只提供源码,编译成二进制运行要收服务费
                            CentOS:Community enterprise OS
                Fedora Core
        4、Gentoo
        5、ArchLinux

软件版本号
        major.minor.release   2.1.3

Linux:0.99, 2.2, 2.4, 2.6, 3.0, 4.0
                www.kernel.org
        GNU:
                vi
                gcc
    发行版也有自己的版本号
        RHEL:5.x, 6.x, 7.x
        Debian: 8.x
        OpenSuSE:13.x

5、Linux基础
    CPU架构:
        x86
        x64(amd64)兼容x86
        m68000:摩托罗拉
        arm:手持智能设备
        ultrasparch:SUN
        power:IBM
        MIPS
        alpha:HP-ux
    闭源:不提供源代码
    开源协定:
        GPL:General Public License 最为严格的开源
            LGPL:Lesser GPL
            FSF:Free Software Foundation
        BSD:宽松的GPL
        Apache:宽松的GPL
            ASF:Apache Software Foundation
    双线授权:许多人采用的方式
        Community:遵循开源协定
        Enterprise:更易用,收费
    
    程序管理
        程序的组成部分
            二进制程序
            配置文件
            库文件(二次开发)
            帮助文件
        程序包管理
            把程序组成的文件打包成一个或有限几个文件
            安装:把程序的各部分文件放在指定目录下
            卸载:把程序的各部分文件输删除
            Debian:dpkg, apt-get
            Redhat:rpm,yum(dnf)
            S.u.S.E:rpm, zypper
            ArchLinux:port
            Gentoo:
            LFS:Linux From Scratch

#localectl set-locale LANG=zh_CN.utf8  //设置中文

    

      

      

【Linux02】LInux初始入门的更多相关文章

  1. Linux pwn入门教程(10)——针对函数重定位流程的几种攻击

    作者:Tangerine@SAINTSEC 本系列的最后一篇 感谢各位看客的支持 感谢原作者的付出一直以来都有读者向笔者咨询教程系列问题,奈何该系列并非笔者所写[笔者仅为代发]且笔者功底薄弱,故无法解 ...

  2. 6)Linux程序设计入门--消息管理

    )Linux程序设计入门--消息管理 前言:Linux下的进程通信(IPC) Linux下的进程通信(IPC) POSIX无名信号量 System V信号量 System V消息队列 System V ...

  3. 7)Linux程序设计入门--网络编程

    )Linux程序设计入门--网络编程 Linux系统的一个主要特点是他的网络功能非常强大.随着网络的日益普及,基于网络的 应用也将越来越多. 在这个网络时代,掌握了Linux的网络编程技术,将令每一个 ...

  4. Linux系统入门---开机启动流程

    目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: ...

  5. IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

    IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...

  6. Linux 基础入门(新版)”实验报告一~十二

    实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...

  7. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  8. Linux 基础入门 第二周9.21~9.27

    一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...

  9. 【转载】茶叶蛋干货!《超容易的Linux系统管理入门书》(连载十)进行动态主机配置DHCP

    使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)则可以避免网络参数变化后一些繁琐的配置,客户端可以从DHCP服务端检索相关信息并完成相关网络配置, ...

随机推荐

  1. 自己用C语言写NXP S32K116 serial bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 每次我有了新的EVA ...

  2. OSCP收集

    推荐书籍: 渗透测试:黑客动手入门(+强烈推荐初学者) 黑客:剥削的艺术,第二版 Rtfm:Red Team Field手册 Web应用程序黑客手册:查找和利用安全漏洞 黑客手册:实用指南渗透测试 基 ...

  3. 解决掉你心中 js function与Function的关系的疑问

    前言 在网上有很多关于js function 与 Function直接关系的文章. 但是我感觉过于抽象化了,那么如何是具体化的解释? 正文部分为个人理解部分,如有不对望指出. 正文 <scrip ...

  4. CommunityServer的编译

    1. 简介 Community Server是一个免费的开源协作系统,用于管理文档.项目.客户关系和电子邮件通信,可以在私有服务器上安装和配置.它的组成分为: 1. OnlyOfficeJabber  ...

  5. python实现自动点赞

    1.思路通过pyautogui可以实现鼠标点击.滚动鼠标.截屏等操作.由此功能实现打开页面,进行点赞.aircv可以从大图像获得小图像的位置,利用pyautogui截屏得到的图片,可以在页面获取到每一 ...

  6. 在服务器上搭建远端git仓库

    推荐使用运行Liunx的机器 请获取root权限后进行下面操作 安装git # 检查是否安装了git如果有版本号就无需再安装 git -v # 安装git sudo apt-get install g ...

  7. 泡泡后台Couchbase缓存使用经验分享

    一.导读 爱奇艺的社交业务“泡泡”,拥有日活用户6千万+,后台系统每日高峰期间接口QPS可以达到80K+,与视频业务的主要区别是泡泡业务更多地引入了与用户互动相关的数据,读.写的量均很大.无论是庞大的 ...

  8. 【seata源码学习】001 - seata-server的配置读取和服务注册

    github, seata vergilyn seata-fork seata.io zh-cn docs (PS. 随缘看心情写,坚持不了几天.文章还是写的超级的烂,排版也奇差无比~~~~ 脑壳疼~ ...

  9. idea 工具 听课笔记 首页

    maven 创建 javaWeb站点结构标准及异常权限调整 解决Intellij Idea下修改jsp页面不自动更新(链接 idea中使用github  提交 idea 从github.com上恢复站 ...

  10. 保存为pickle

    保存为pickle import pickle # 保存模型 with open('model.pickle', 'wb') as f: pickle.dump(model, f) # 读取模型 wi ...