马哥求学第一天-计算机网络

1.计算机硬件


  • 计算机(Computer):俗称电脑,是一种能接收和存储信息,并按照存储在其
    内部的程序对海量数据进行自动、高速地处理,然后把处理结果输出的现代化智能电子设备

  • 1946年,世界上第一台计算机ENIAC(electronic numerical integrator and
    calculator)在美国宾州大学诞生,是美国奥伯丁武器试验场为了满足计算弹道需要而研制成的。
  • 计算机硬件由运算器、
    控制器、存储器、输入设备和输出设备五大部分组成

2.冯·诺依曼


  • 简介
    • 从EDVAC到当前最先进的计算机都采用的是冯·诺伊曼体系结构。所以冯·诺伊曼是当之无愧的数字计算机之父。
  • 体系结构
    • 采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中,数据和程序在内存中是没有区别的,它们都是内存中的数据,当EIP指针指向哪 CPU就加载那段内存中的数据,如果是不正确的指令格式,CPU就会发生错误中断. 在现在CPU的保护模式中,每个内存段都有其描述符,这个描述符记录着这个内存段的访问权限(可读,可写,可执行).这就变相的指定了哪些内存中存储的是指令哪些是数据)指令和数据都可以送到运算器进行运算,即由指令组成的程序是可以修的。
    • 存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。
    • 指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类型由操作码确定。
    • 通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。指令计数器只有一个,一般按顺序递增,但执行顺序可按运算结果或当时的外界条件而改变。
    • 以运算器为中心,I/O设备与存储器间的数据传送都要经过运算器。
    • 数据以二进制表示。

3.服务器


  • 服务器硬件
    • 风扇
    • 内存
    • 电源(一般配备两个)
    • CPU
    • 网卡
    • PCI
    • 硬盘
  • 服务器Server是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘、磁带、印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发布及数据管理等服务。

  • 服务器按应用功能可分为:Web服务器、数据库服务器、文件服务器、中间件应用服务器、日志服务器、监控服务器、程序版本控制服务器、虚拟机服务器、邮件服务器、打印服务器、域控制服务器、多媒体服务器、通讯服务器、ERP服务器等。

  • 服务器按外形分类:塔式Tower服务器、刀片式Blade服务器、机架式Rack服务器

  • 服务器按CPU体系架构可分为:塔式Tower服务器、刀片式Blade服务器、机架式Rack服务器
    • 非x86服务器:使用RISC(精简指令集)或EPIC(并行指令代码) 处理器,并且主要采用UNIX和其它专用操作系统的服务器,指令系统相对简单,它只要求硬件执行很有限且最常用的那部分执令,CPU主要有Compaq的Alpha、HP的PA-RISC、IBM的Power PC、MIPS的MIPS和SUN的Sparc、Intel研发的EPIC安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统
    • x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片的服务器。目前主要为intel的Xeon E3,E5,E7系列,价格相对便宜、兼容性好、稳定性较差、安全性不算太高

4.操作系统


  • OS: Operating System,通用目的的软件程序:
    • 硬件驱动
    • 进程管理
    • 内存管理
    • 网络管理
    • 安全管理
    • 文件管理
    • OS分类:
    • 服务器OS:RHEL,CentOS,Windows Server,AIX
    • 桌面OS:Windows 10,Mac OS,Fedora
    • 移动设备OS:Andriod,IOS,AliOS,HarmonyOS

5.开发接口标准


  • ABI: Application Binary InterfaceABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行

  • 运行程序格式:Windows: PE(portable executable)格式, .dll(dynamic link library),.libLinux: ELF(Executable and Linking Format)格式, .so(shared object), .a

  • API:Application Programming InterfaceAPI定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译

  • POSIX: Portable Operating System Interface 可移植的操作系统接口IEEE在操作系统上定义的一系列API标准 POSIX兼容的程序可在其它POSIX操作系统编译执行

6.用户态和内核态


  • 计算机硬件资源都是操作系统内核进行管理的,目前操作系统都是基于多任务、多用户的。如果每个用户进程都可以随便访问操作系统内核的模块,改变状态,那整个操作系统的稳定性、安全性都大大降低

  • 为了将内核程序与用户程序隔离开,在硬件层面上提供了一次机制,将程序执行的状态分为了不同的级别,从0到3,数字越小,访问级别越高。==0代表内核态==,在该特权级别下,所有内存上的数据都是可见的,可访问的。==3代表用户态==,在这个特权级下,程序只能访问一部分的内存区域,只能执行一些限定的指令

7.系统调用system call


  • 对于非一般性使用需求,操作系统提供了一系列的函数调用给软件开发者,由软件开发者来实现一些用户需要的功能。这些函数调用由于是操作系统内核提供的,为了有别于一般的函数调用,被称为系统调用。比如使用C语言进行软件开发时,经常用的printf函数,它的内部实际就是通过write这个系统调用,让操作系统内核把字符打印在屏幕上的

8.服务器三大操作系统


  • Windows
  • Linux:GNU/Linux
  • Unix:1969年KenThompsonSystem:BellLabAIX(IBM)、
    Solaris(SUN)、HP-UX(HP)、BSD:(BSRG)BerkeleySystem Distribution、NetBSD、OpenBSD、FreeBSD

9.操作系统的演变


  • 单用户系统
  • 批处理系统:提高系统运行效率
  • 多道程序系统:程序控制CPU处理顺序
  • 分时系统:提高系统利用率,操作系统控制CPU处理顺序
  • 个人计算机:每人用户对应一个系统,廉价,方便,易用
  • 分布式计算:每个用户对应多个系统,云计算,大数据处理

10.Unix历史


  • 1965前后 Multics贝尔实验室,麻省理工,通用电气发起
  • 1969 Unix雏形UNICSKen Thompson 汇编语言 B语言
  • 1973 正式命名为UnixDennis Ritchie C语言
  • 1977 BSDBerkeley Software Distribution 伯克利大学
  • 1979 System V架构 版权声明HP-UNIX IBM AIX “不对学生提供源码” 收回版权
  • 1984年 Minix操作系统Andrew S. Tanenbaum荷兰阿姆斯特丹自由大学计算机科学系

11.Linux哲学思想总结


  • 一切都是一个文件(包括硬件)
  • 小型,单一用途的程序
  • 链接程序,共同完成复杂的任务
  • 避免令人困惑的用户界面
  • 配置数据存储在文本中