二进制:
      
      
      0, 1
     
      
      
      5大部件:
     
      
      
      CPU:计算器、控制器
     
      
      
      Memory: 存储器(内存)
     
      
      
      编址存储单元阵列
     
      
      
      输入设备/输出设备:I/O
     
      
      
      键盘:
     
      
      
      VGA:
     
      
      
      辅助存储器
     
      
      
      网卡
     
      
      
      编程:
     
      
      
      低级语言:汇编(微码编程)
     
      
      
      高级语言:JAVA, C++, C, Scala, Python
     
      
      
      转件:
     
      
      
      时序复用:
     
      
      
      计算机:硬件+软件
     
      
      
      硬件:开发,制造
     
      
      
      软件:编写,编译
     
      
      
      OS: Operating System
     
      
      
      通用软件,主要负责管理底层硬件设备,并且将调用接口抽象为易用的形式
     
      
      
      库:
     
      
      
      独立的功能模块,可被共享使用
     
      
      
      应用程序:
     
      
      
      人机交互接口:
     
      
      
      GUI:Graphic User Interface
     
      
      
      Windows, Gnome, KDE, Xfce
     
      
      
      CLI:Command Line Interface
     
      
      
      shell: bash, zsh, tcsh
     
      
      
      特定应用程序
     
      
      
      开发工具
     
      
      
      …… ……
     
      
      
      通过软件虚拟出硬件平台的程序:
     
      
      
      创建多个“虚拟机”
     
      
      
      虚拟的硬件平台
     
      
      
      而后可以虚拟机上装OS
     
      
      
      如何虚拟:
     
      
      
      CPU:时序复用,把CPU的计算能力切割成timeslice
     
      
      
      内存:把物理中空闲的离散的一段或几段组织成一个假的连续的空间当内存
     
      
      
      IO:模拟
     
      
      
      硬盘,网卡
     
      
      
      硬盘:通过文件来模拟硬件(回环设备)
     
      
      
      网卡:时序复用,也可通过软件模拟
     
      
      
      virutalization, emulation
     
      
      
      CMOS:Complimentary Metal Oxied Substance
     
      
      
      BIOS:Basic Input and Output System
     
      
      
      POST: Power On  and Self Testing
     
      
      
      Ctrl, Alt, Insert (Delete)
     
计算机的5大部件:
      
      
      CPU、内存、I/O
     
      
      
      CPU:运算器、控制器、寄存器、缓存
     
      
      
      内存:编址的存储单元阵列
     
      
      
      8bits = 1Bytes
     
      
      
      I/O设备:
     
      
      
      I/O控制器
     
      
      
      VM:虚拟机
     
      
      
      硬件规格 –> OS –> 动态库(so, dll) –> 应用程序
     
      
      
      用户界面
     
      
      
      GUI
     
      
      
      CLI
     
      
      
      POST –> OS (内核, kernel)
     
      
      
      CPU:众多指令
     
      
      
      特权指令:操作硬件,获取敏感资源
     
      
      
      普通指令:
     
      
      
      CPU:
     
      
      
      用户模式:运行程序的普通指令
     
      
      
      内核模式:运行特权指令
     
      
      
      编程:开发语言
     
      
      
      写程序 –> 编译 –> 目标代码
     
      
      
      declare -i num1=2
     
      
      
      declare -i num2=3
     
      
      
      sum=$[$num1+$num2]
     
      
      
      CPU1: 摩托,M68000,m68k
     
      
      
      CPU2: Intel, Core 2
     
      
      
      程序 –> 编译器 –> “翻译后的结果是特定于某类CPU的”
     
      
      
      编程:
     
      
      
      汇编语言:方言
     
      
      
      CPU1
     
      
      
      CPU2
     
      
      
      高级语言:通用语言
     
      
      
      程序(通用语言) –> 编译 –> 方言(汇编)
     
      
      
      源代码:source code
     
      
      
      二进制程序:binary
     
      
      
      硬件平台:X86, X86_64 (amd64), m68k, power(IBM), PowerPC, mips, arm, alpha, ultrasparc…
     
      
      
      复杂指令集:CISC
     
      
      
      精简指令集
     
      
      
      OS的代码:99%可用高级语言编写,余下的1%使用特定平台的汇编编写;
     
      
      
      www.top500.org: 超级计算机排名
     
      
      
      高级语言:
     
      
      
      编译:需要将整个程序事先转换可运行格式
     
      
      
      解释:转换一个语句运行一个语句
     
      
      
      ENIARC:
     
      
      
      电子管 –> 晶体管 –> 集成电路 –> 超大规模集成电路
     
      
      
      MainFrame:
     
      
      
      DEC:PDP, VAX
     
      
      
      批处理作业系统 –> Multics(多用户, 多任务)–> Ken (PDP7)
     
      
      
      Unics –> Unix
     
      
      
      Dennis: C
     
      
      
      C –> Unix
     
      
      
      Berkeley分校:BSRG, Bill Joy
     
      
      
      1976, Ken
     
      
      
      TCP/IP协议,虚拟内存:BSD(Berkeley System Distribution)
     
      
      
      Unix: System V, sysv
     
      
      
      BSD
     
      
      
      SUN microsystem
     
      
      
      IBM
     
      
      
      Microsoft: XENIX
     
      
      
      DOS: Disk OS
     
      
      
      Apple: GUI
     
      
      
      VAX: VMS
     
      
      
      Windows NT
     
      
      
      OS/2: Vista
     
      
      
      BSD Lite:
     
      
      
      FreeBSD
     
      
      
      OpenBAD
     
      
      
      NetBSD
     
      
      
      Minix
     
      
      
      MIT: Stallman, freedom
     
      
      
      GNU: GNU is Not Unix
     
      
      
      GPL: General Public License
     
      
      
      copyright, copyleft
     
      
      
      emacs, gcc
     
      
      
      Linus:
     
      
      
      Linux: Unix-like
     
      
      
      www.kernel.org
     
      
      
      GNU/Linux
     
      
      
      GNU: 各种程序,源代码
     
      
      
      Linux: 源代码
     
      
      
      Linux系统发行版:
     
      
      
      Debian
     
      
      
      Slackware
     
      
      
      S.U.S.E
     
      
      
      RedHat
     
      
      
      版本:
     
      
      
      kernel:
     
      
      
      发行商版本:
     
      
      
      包管理器
     
      
      
      PC兼容机:
     
      
      
      Linux系统:由来、kernel, GNU, GPL, 发行版
     
      
      
      Linux: kernel, GNU
     
      
      
      GNU: GPL
     
      
      
      kernel: GPL
     
      
      
      Linux发行版:
     
      
      
      Debian: Ubuntu (desktop, server)
     
      
      
      Slackware: SUSE (SLES, OpenSUSE)
     
      
      
      RedHat: RHEL, Fedora Core
     
      
      
      RHEL:src.rpm
     
      
      
      CentOS: Community ENTerprise OS
     
      
      
      ArchLinux: 借鉴了FreeBSD
     
      
      
      Gentoo:
     
      
      
      LFS, Linux From Scratch
     
      
      
      Android: Linux + jvm + android
     
      
      
      Linux + Busybox + jvm + android
     
      
      
      软件包管理器:
     
      
      
      RPM:RedHat Package Manager, PRM is Package Manager
     
      
      
      deb: dpt
     
      
      
      RHEL:
     
      
      
      发行更新速度较慢,更关注稳定性;
     
      
      
      rhel 5 –> rhel 6 –> rhel 7
     
      
      
      /sbin/init
     
      
      
      rhel5: sysv init
     
      
      
      rhel6: upstart
     
      
      
      rhel7: systemd
     
      
      
      RHEL 6.6 –> CentOS 6.6
     
对系统执行交互式访问:通过终端
      
      
      终端的类型:
     
      
      
      物理终端:VGA, console
     
      
      
      虚拟终端:tty
     
      
      
      Ctrl+Alt+F1-6
     
      
      
      /dev/tty#
     
      
      
      串行终端:serial interface, sty
     
      
      
      伪终端:pty
     
      
      
      /dev/pts/#
     
      
      
      图形终端:
     
      
      
      GUI
     
      
      
      Ctrl + Alt + F7
     
      
      
      前提:X Server 要启动
     
      
      
      GNome: startx
     
      
      
      KDE: startkde
     
      
      
      Linux的用户:
     
      
      
      管理员:root, 拥有最高权限
     
      
      
      普通用户:不具有管理权限
     
      
      
      实现管理任务:临时切换至管理员
     
      
      
      su, sudo
     
      
      
      bash prompt: 命令提示符
     
      
      
      #
     
      
      
      $
     
      
      
      环境配置:通过环境变量来实现,持久有效需要保存在配置文件中
     
      
      
      PS1
     
      
      
      几个基础性的命令:
     
      
      
      tty: 显示当前终端设备
     
      
      
      who: 查看当前系统上登录的所有用户及其信息
     
      
      
      Ctrl + c: 取消当前命令的执行
     
      
      
      Shift + PageUp/PageDown
     
      
      
      注意:Linux严格区分字符大小写
     
      
      
      tty,  Tty
     
      
      
      Stallman: 自由软件
     
      
      
      自由的含义:
     
      
      
      自由使用;自由学习和修改;自由分发;自由创建衍生版;
     
      
      
      Linux的哲学思想:
     
      
      
      1、一切皆文件;
     
      
      
      把几乎所有资源,包括硬件设备都虚拟为文件形式;
     
      
      
      open, read, wirte, close, create, delete
     
      
      
      2、由众多功能单一的程序组成;一个程序只做一件事情,而且要做好;
     
      
      
      组合多个程序完成复杂任务;
     
      
      
      3、尽量避免跟用户交互;
     
      
      
      目标:易于编程实现自动化任务执行;
     
      
      
      4、使用文本文件保存配置信息;
     
转载于:https://blog.51cto.com/11910715/1831407
 
