zoukankan      html  css  js  c++  java
  • day5硬盘接口和操作系统发展史

    一:硬盘接口
    IDE并口(已经退出历史啦)
    SATA串口
    SCSI(订制小型机接口,国内已经在去IOE运动下,基本不用了)
    SAS(SATA+SCSI)结合了两大接口的优势做成
    光纤通道 高端服务器采用

    硬盘+接口:

    SSD+SAS====》土豪
    SSD+SATA===============》常规,对速度有特殊要求
    机械磁盘+SAS===========》常规,比较核心业务使用,对速度要求常规
    机械磁盘+SATA===》内部服务

    多块硬盘要连接到RAID卡(阵列卡)上(就是硬盘集群的意思)
    然后制作raid

    raid0
    至少1块盘
    容量:n块盘合在一起的总容量

    性能:理论上是n块盘合在一起的读写速度,实际上是要略低一些(因为涉及到不同io接口CPU切换的问题)

    冗余性:不允许坏任何一块盘    简单理解 一损俱损
    场合:追求读写性能,但是对数据安全性没有啥要求,例如集群服务器
    特点:追求速度,不考虑数据安全

    raid1
    只能2块盘
    容量:1块盘的容量
    性能:几乎就是一块盘的读写速度
    冗余性:可以坏一块盘,另外一块盘有完整的数据    简单理解数据有备份
    场合:对数据安全性有要求,对速度读写速度没有特殊要求,例如服务器的系统盘

    特点:追求数据安全,不考虑速度

    raid5(介于raid0与raid1之间,是一种折中的方案) 
    至少3快盘,两两之间做奇偶校验-》异或运算,相同结果为0,不同结果为1
    容量:废掉1块盘的容量,等量盘的情况下,容量低于raid0
    性能:读写速度低于raid0,高于raid1
    冗余性:可以坏一块盘,其余两块盘可以通过奇偶校验推导出坏盘的数据
    场合:一般的场合都可以使用

    raid10
    至少有4块盘
    raid1和raid0的整合的产物,兼顾了raid1的数据安全性与raid0的性能,但是成本大幅度提升
    通常用于数据库服务器


    优化的基本原则
    1、针对读操作,数据能从内存取就不要从硬盘read-cache
    2、针对写操作,在内存中攒一波再写入硬盘write-buffer

    二:操作系统(了解)

    前言:
    操作系统最核心的概念就是进程

    进程指的就是一个程序的运行过程,具体来说指的是操作系统控制硬件来运行程序的过程

    第一代计算机:真空管和穿孔卡片

    特点:没有操作系统的概念,程序员直接工作在硬件上

    缺点:一个时间段只能一个人用计算机,浪费计算机资源

    第二代计算机 晶体管和批处理系统


    一次只把一个/道程序读入内存,运行完毕后,再执行下一个程序,没有并发,称之为串行

    优点:
    1、充分利用了计算机资源
    缺点:
    1、整个过程是需要人参与的
    2、让程序员明显地感觉到等待
    3、程序的运行是串行

    第三代计算机:集成电路芯片和多道技术
    串行:多个任务是一个运行完毕再运行下一个
    并发:多个任务看起来是同时运行的

    多道技术=》并发
    1、空间上的复用:多道程序在运行前先必须加载到内存中
    2、时间上的复用:多个任务复用cpu的时间片,通俗地讲就是cpu在多个程序之间来回切换
    什么时候切换呢?
    I:当一个任务遇到IO,肯定要切换-》提升效率
    II:一个任务没有遇到IO但是占用CPU时间过长,也要切换=》降低效率



    ps:多个进程的内存空间是互相隔离的,而且是物理隔离

    分时操作系统CTTS:多用户多任务
    应用多道技术来实现多个任务的并发的运行

    MULTICS:
    MIT,贝尔实验室和通用电气

    Ken Thompson

  • 相关阅读:
    约瑟夫问题
    十点半
    鹊桥相会
    C语言实验——数日子
    汉诺塔
    读入字符串
    C语言实验——各位数字之和排序
    数据结构实验之链表五:单链表的拆分
    C语言实验——分割整数
    大一上学期
  • 原文地址:https://www.cnblogs.com/blackboy666/p/13795166.html
Copyright © 2011-2022 走看看