• 输入输出系统——I/O系统


    1)系统调用与库函数
    不允许运行在用户态的应用进程,去直接调用运行在核心态(系统态)的OS过程。
    应用进程在运行时,又必须取得OS所提供的服务。
    于是:
    OS在用户层中引入了系统调用,应用程序可以通过它,间接调用OS中的I/O过程,对I/O设备进行操作。
    2)设备分配中的虚拟技术—— SPOOLing技术
    虚拟性是OS的四大特征之一。
    多道程序技术将一台物理CPU虚拟为多台逻辑CPU,实现多个用户共享一台主机
    多道程序技术,专门利用程序模拟脱机I/O的外围机,完成设备I/O操作。

    称这种联机情况下实现的同时外围操作为SPOOLing 技术(Simultaneaus Periphernal Operating On—Line,或称为假脱机操作)
    一般进程对独占设备的需求被假脱机模拟到磁盘上。所以实现设备虚拟,多道是前提,还需高速、大容量、可随机存取的外存支持。

    主要有三大部分
    输入井和输出井
    输入缓冲区和输出缓冲区
    输入进程和输出进程
    SPOOLing技术的使用:
    当用户进程请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给用户进程,

    SPOOLing系统的特点
    提高了I/O的速度
    将独占设备改造为共享设备
    最终,实现了虚拟设备功能

    引入缓冲区的主要原因:
    缓和CPU与I/O设备间速度不匹配的矛盾。
    缓冲区数据成批传入内存,也可进一步减少对CPU的中断频率
    最终目的:提高CPU和I/O设备的并行性。

    使用缓冲区的方式:
    1)单缓冲、多缓冲
    OS在主存中为之分配一个缓冲区。
    CPU和外设轮流使用,一方处理完后等待对方处理。

    两个缓冲区,CPU和外设不再针对一块交替
    可能实现连续处理无需等待对方。前提是CPU和外设对一块数据的处理速度相近。而如下图情况CPU仍需等待慢速设备。

    2)循环缓冲
    设置多块缓冲区
    用循环结构组织,只供两个相关进程使用
    顺一个方向放入或取出

    3)缓冲池(Buffer Pool)
    系统将多个缓冲区形成一个缓冲池。
    池中缓冲区为系统中所有的进程共享使用(如UNIX系统在块设备管理中设置了一个15个缓冲区组成的缓冲池)
    组织形式:队列及队列指针
    ①缓冲池的组成
    空缓冲区;
    装满输入数据的缓冲区;
    装满输出数据的缓冲区;

    工作状态决定了current有四种工作缓冲区:
    收容输入数据的工作缓冲区;
    提取输入数据的工作缓冲区;
    收容输出数据的工作缓冲区;
    提取输出数据的工作缓冲区;

    四种工作方式:
    收容输入:Getbuf(emq),hin;输入数据填入一空缓冲区;Putbuf(inq,hin)
    提取输入: Getbuf(inq),sin;从输入缓冲队列中取出一数据区的内容;Putbuf(emq,sin)
    收容输出: Getbuf(emq),hout;输出数据填入一空缓冲区;Putbuf(outq,hout)
    提取输出: Getbuf(outq),sout;从输出缓冲队列中取一数据区的内容;Putbuf(emq,sout)

    1)磁盘性能简述
    首先与格式有关
    数据的组织和格式
    盘片、面、磁道、扇区
    为方便处理,每条磁道存储容量相同,每个磁道上的每个扇区相当于一个盘块。磁盘”格式化”的过程就是按规定的格式规划盘块。
    与速度有关
    磁盘类型
    固定磁头(每道一磁头)
    移动磁头(每盘一磁头)
    访问时间的计算
    寻道时间(到磁道)
    旋转延迟(到扇区)
    传输时间
    传输时间占总时间的比例最小,磁盘读写速度的提高要选择合适的调度算法,减少前两项用时,使所有作业的磁盘处理时间均衡。

    2)磁盘调度方法
    对所有请求访问磁盘的进程进行合理调度,使对磁盘的平均访问时间最小。
    目标:使平均寻道时间最少。
    算法:
    FCFS
    最短寻道时间优先SSTF
    扫描算法SCAN(磁盘电梯调度算法)
    循环扫描算法CSCAN
    N-Step-SCAN算法
    FSCAN算法

  • 相关阅读:
    python反爬之js混淆-字符串映射
    How to Provide a Default Trace for a Cloud Application
    Reset Peak Used Memory
    SAP 课程
    note 1639578 and 1622837
    SAP License error
    SAP BASIS-System Move
    初识Agile(敏捷项目管理)
    SAP HANA升级
    SAP FIORI 部署
  • 原文地址:https://www.cnblogs.com/Kirino1/p/10084683.html
Copyright © 2020-2023  润新知