计算机系统


计算机系统组成的两大部分


硬件系统

    主机

        中央处理器CPU{运算器,控制器}

        内存储器{ROM,RAM}

    外部设备

        外部存储器{硬盘、软盘、光盘、磁带等}

        输入设备{键盘、鼠标、扫描仪等}

        输出设备{显示器、打印机、绘画仪等}

        其他设备{调制解调器等}


软件系统
    系统软件

        操作系统

        程序语言处理系统

        数据库管理系统

        服务程序{检查、诊断、调试程序}

    应用软件

        通用应用软件{如office办公软件包等}

        专用应用软件{用户程序}


冯·诺依曼体系结构,1946提出,计算机五大结构:

    CPU{运算器,控制器}

    存储器

    输入设备

    输出设备


计算器规模划分和功能用途

巨型计算机:国防、科学计算(如我国天河一号)

大型计算机:科学计算、数据处理(如IBMz13)

小型计算机:数据采集(如IBM-AIX,HP-UNIX)

微型计算机:商业用途、办公自动化等


服务器按照功能划分

Web服务器、数据库服务器、邮件服务器、文件服务器、中间件应用服务器、日志服务器、监控服务器,程序版本控制服务器、虚拟机服务器、打印服务器、域控制服务器、多媒体服务器、通讯服务器、ERP服务器等


服务器按外形分类:

塔式服务器、机架式服务器(rack)、刀片式服务器(集群服务器比较多)


现在的服务器,应当尽量避免单点故障(single failture)


服务器按照CPU体系架构分类:

非X86服务器:RISC、EPIC,特点是比较贵、稳定性好、性能强,一般用于金融、电信等大型企业核心。

X86服务器:CISC、特点是便宜、稳定性差。


主要生产服务器CPU的公司

INTEL:XEON至强、安腾

AMD:ALTHLON MP

IBM:POWER CPU


1.服务器硬件

主板mainboard、系统板systemboard或母板(motherboard)


组成计算机的主要电路系统,一般有BIOS芯片、I/O控制芯片、键盘和面板控制开关接口、指示灯插接件、扩充插槽、主板及插卡的直流电源供电接插件等元件


BIOS:BASIC INPUT OUPUT SYSTEM


2.内存:分为内存(RAM)和外存(ROM)


RAM:断电后数据丢失


内存RAM带宽的计算方法


DDR2 667 ,运行频率333MHz,带宽为

           333x2x64/8=5400MB/s=5.4GB/s

DDR2 800 , 运行频率400MHz,带宽为

           400x2x64/8=6400MB/s=6.4GB/s


ROM:断电后数据可以保存(硬盘,U盘等)


硬盘的组成

    存储介质(Media):盘片

    读写头(Read Write Head):磁头

    马达(有5k4RPM、5k9RPM、7k2RPM、1wRPM、1.5wRPM等转速)

硬盘容量存储单位转换

1byte字节=8bit位    

2^10 1024b=1k

2^20 1024K=1M

2^30 1024M=1G

2^40 1024G=1T

2^50 1024T=1P

2^60 1024P=1E

2^70 1024E=1Z

2^80 1024Z=1Y

2^90 1024Y=1B

注意,厂家的生产的硬盘是按10进制的,所以硬盘的容量并不和标准的2进制格式容量相同。


硬盘接口类型:

目前主流的硬盘接口为SATA和SAS接口,

因此,硬盘按接口类型可分为SATA硬盘和SAS硬盘。


服务器的性能短板:

如果CPU有每秒处理1000个服务请求的能力,各种总线的负载能力能达到500个,但网卡只能接受200个请求,而硬盘只能负担150个的话,那这台服务器得处理能力只能是150个请求/秒,有85%的处理器计算能力浪费了。在计算机系统当中,硬盘的读写速率已经成为影响系统性能进一步提高的瓶颈。


存储网络:

DAS----直接连接存储(Direct Attached Storage

存储设备与主机的紧密相连。

管理成本较低,实施简单。

储时直接依附在服务器上,因此存储共享受到限制。

CPU必须同时完成磁盘存取和应用运行的双重任务,所以不利于CPU的指令周期的优化,增加系统负担。


NAS-----网络连接存储(Network Attached Storage)

通过局域网在多个文件服务器之间实现了互联,基于文件的协议(NFS、SMB/CIFS ),实现文件共享。

集中管理数据,从而释放带宽、提高性能。

可提供跨平台文件共享功能。

可靠性较差,适用于局域网或较小的网络。


SAN-----存储区域网络(Storage Area Networks)

利用高速的光纤网络链接服务器与存储设备,基于SCSI,IP,ATM等多种高级协议,实现存储共享。

服务器跟储存装置两者各司其职。

利用光纤信道来传输数据﹐以达到一个服务器与储存装置之间多对多的高效能、高稳定度的存储环境。

实施复杂,管理成本高。


POSIX: Portable Operating System Interface

IEEE在操作系统上定义的一系列API标准

POSIX兼容的程序可在其它POSIX操作系统编译执行


编程接口

低级语言

机器语言:0和1

汇编语言:和机器语言一一对应,与硬件相关的特有代

码、驱动程序开发

中级语言:C

系统级应用、驱动程序

高级应用:java, Objective-C,C#,python, php

应用级程序开发


服务器三大操作系统

Windows:

Linux:GNU/Linux

Unix:

System:(Bell Lab)

AIX (IBM)

Solaris (SUN)

HP-UX (HP)

BSD: (BSRG)Berkeley System Distribution

NetBSD

OpenBSD

FreeBSD


Linux起源


1969unix诞生,(PS:linus也是1969年出生)

1984年:Richard Stallman发起GNU项目和自由软件基金会

GNU是英文GNU is not Unix的意思

创建开源的UNIX实用工具版本,如GCC和VI软件

创建通用公共许可证(GPL)

开源软件许可实施原则

1991年:Linus Torvalds发布Linux

创建开放源码,类Unix的内核,在GPL下发布

Linux操作系统:

Linux内核+ GNU工具=完整的类UNIX操作系统


Linux发行版


slackware:SUSE Linux Enterprise Server (SLES)

     opensuse桌面

debian:  ubuntu,mint

redhat:  rhel: redhatenterprise linux

每18个月发行一个新版本

CentOS:兼容rhel的格式

fedora:每6个月发行一个新版本

ArchLinux:轻量简洁

Gentoo:极致性能,不提供传统意义的安装程序

LFS: Linux From scratch 自制Linux

Android: kernel+busybox(工具集)+java虚拟机


开源协议


开源:软件和源代码提供给所有人

自由分发软件和源代码

能够修改和创建衍生作品

作者的代码完善

软件分类:商业,共享,自由


世界上的开源许可证,大概有上百种

GPLv2, GPLv3, LGPL(lesser):copyleft,WordPress

Apache: apache

BSD: bsd

Mozilla

Apache

MIT




Linux哲学思想


1.一切皆文件(包括硬件)

2.由众多目的的单一应用程序组成:一个程序只做一件事,且做好

3.组合目的的单一的小程序完成复杂的任务

4.尽量避免跟用户交互

5.使用文本文件保存配置信息

6.提供机制,而非策略


其他未整理笔记


部分FHS理解


/根目录

/boot kernel

/home 家目录

/root root用户的家目录

/dev  硬件目录

/etc  配置文件目录

/usr  相当于windows系统的windows和program文件夹

/lib64库文件目录

/var  变化的文件,放日志之类的文件夹

/proc 内存数据,进程文件,虚拟的数据,不占用磁盘空间


LINUX磁盘分区


IDE

/dev/hda,hdb

/dev/hdc  老ide设备这个一般是光驱


SCSI

SATA

SAS

USB

/dev/sd[a-z],sdaa,sdab,sdaz,sdba....如此类推


MBR

主分区:一个磁盘<=4,

扩展分区: 最多一个+主分区<=4

/dev/sda1-4 主分区 , 主分区的号码可以在1-4的范围内自定义,但是建议默认就可以了

逻辑分区:

/dev/sda(5-n)


/dev/sda1  mount挂载  c:\testdir


GPT

支持2.2tb以上硬盘

主分区可以有多个


IDE

/dev/hda,hdb

/dev/hdc  老ide设备这个一般是光驱


SCSI

SATA

SAS

USB

/dev/sd[a-z],sdaa,sdab,sdaz,sdba....如此类推


MBR

主分区:一个磁盘<=4,

扩展分区: 最多一个+主分区<=4

/dev/sda1-4 主分区 , 主分区的号码可以在1-4的范围内自定义,但是建议默认就可以了

逻辑分区:

/dev/sda(5-n)


/dev/sda1  mount挂载  c:\testdir


GPT