`
yangyou230
  • 浏览: 1647088 次
文章分类
社区版块
存档分类

《计算机操作系统》学习笔记(五)---设备管理

 
阅读更多
<style type="text/css"> <!-- @page {margin:2cm} p {margin-bottom:0.21cm} --> </style>

一、I/O系统

I/O设备的分类

  1. 按传输速率分类:低速设备(键盘,鼠标)、中速设备(激光打印机)、高速设备(磁带机、磁盘机)

  2. 按信息交换的单位分类:字符设备、块设备

  3. 按设备的共享属性分类:独占设备、共享设备、虚拟设备

2、设备控制器

主要职责是控制一个或多个I/O的设备。

  1. 设备控制器的基本功能:

1)接收和识别命令(CPU->设备)

2)标识和报告设备状态(设备->CPU

3)数据交换

4)地址识别

5)数据缓冲

6)差错控制

  1. 设备控制器的组成:

    设备控制器与处理机的接口

    设备控制器与设备的接口

    I/O逻辑


3I/O通道

I/O通道是一种特殊的处理机,具有执行I/O指令的能力。其目的就是为了独立的I/O操作,它不仅数据的传送能够独立于CPU,对于I/O操作的组织、管理及其结束处理也能够独立。

通道类型有:

  1. 字节多路通道(控制器->通道轮流交叉传输一个字节)

  2. 数组选择通道(控制器->通道按顺序一个控制器传输完所有字节再到下一个)

  3. 数组多路通到(控制器->通道轮流交叉传输一组字节)

4、总线系统

ISA-->EISA-->VESA-->PCI(目前最流行的)

二、I/O控制方式

1、程序I/O方式

CPU定时查询设备的状态,若有数据需要输入或需要输出,即开始数据传输,否则下个时刻继续查询

2、中断驱动I/O控制方式

如:CPU向设备控制器发送读命令,设备控制器收到命令后便去控制相应的输入设备读数据,当数据进入数据寄存器后,控制器便通过控制线向CPU发送中断信号,由CPU检查输入过程是否差错,若无错即通过控制器以及数据线,将数据写入内存指定单元。每个数据从设备到控制器的输入过程中,无须CPU干预,可使CPUI/O设备并行工作。

3、直接存储器访问DMAI/O控制方式

中断驱动I/O控制方式时的CPU是以字节为单位进行干预的,如果将其用于块设备,显然极其低效。

该方式的特点:

1)数据传输的基本单位是数据块;

2)所传送的数据是从设备直接读入内存的,或者相反;

3)仅在传送一个或多个数据块的开始或结束时,才需要CPU干预,数据块的传输是在控制器的控制下完成的。

4I/O通道控制方式

I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读写为单位的干预,减少为对一组数据块的读写以及有关的控制和管理为单位的干预。


三、缓冲管理

设备管理中,引入缓冲区的主要原因,可归纳为以下几点:

  1. 缓和CPUI/O设备间速度不匹配的矛盾;

  2. 减少对CPU的中断频率,放宽对CPU中断响应时间的限制;

  3. 提高CPUI/O设备之间的并行性。

缓冲类型有三种:

  1. 单缓冲

  2. 双缓冲

  3. 循环缓冲

三种缓冲区:无数据的空缓冲区R、有数据的满缓冲区G、计算进程正用的缓冲区C

三个指针:

计算进程下一可用缓冲Nextg(对应G

输入进程下一可用缓冲Nexti(对应R

计算进程正在使用缓冲Current(对应C

两个过程:GetbufReleasebuf


  1. 缓冲池

三种队列:空缓冲队列(emq)、输入队列(inq)、输出队列(outq)三个队列;

四种缓冲:

用于收容输入数据的工作缓冲区的工作缓冲区(hin

用于提取输入数据的工作缓冲区(sin

用于收容输出数据的工作缓冲区(hout

用于提取输出数据的缓冲区(sout)四个工作缓冲区

两个过程:GetbufPutbuf


四、设备分配

设备分配中的数据结构

  1. 设备控制表DCT

  2. 控制器控制表COCT

  3. 通道控制表CHCT

  4. 系统设备表SDT


设备分配中的考虑因素

  1. 设备固有属性:独占设备,共享设备(容易造成死锁),虚拟设备

  2. 设备分配算法:先来先服务,优先级高者优先

  3. 设备分配安全性

  4. 设备独立性:设立一层独立性软件,(1)执行所有设备的公共操作(面向设备),(2)向用户层软件提供统一接口(面向用户)


SPOOLing技术(伪脱机操作)

与脱机操作差不多,只是有两点不一样:

  1. 输入进程与输出进程模拟外围机

  2. 脱机操作是使用整个磁盘来缓存作业,而SPOOLing技术只是从磁盘中划分出“输出井”和“输出井”来缓存作业


六、设备处理

设备驱动程序的特点:

驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。它将进程的I/O请求经过转换后,传送给控制器;又把控制器中的记录的设备状态和I/O操作完成情况及时地反映给请求I/O的进程。

设备驱动的特点:

  1. 驱动程序与设备控制器和I/O设备的硬件特性紧密相关,对不同类型的设备应该配置不同的驱动程序。

  2. 驱动程序与I/O设备所采用的I/O控制方式紧密相关。

  3. 由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言写。

驱动程序分两部分:

  1. 设备驱动程序(驱动设备进行I/O

  2. 设备中断处理程序(设备I/O后处理相关)


七、磁盘存储器管理

磁盘访问

访问时间=寻到时间+旋转延迟时间+传输时间

磁盘调度

  1. 先来先服务FCFS

  2. 最短寻道时间优先SSTF

  3. 扫描算法(电梯调度算法)SCAN

  4. 循环扫描算法CSCAN

  5. N-Step-SCAN调度算法(FCFSSCAN的结合体)

    廉价磁盘冗余阵列

    RAID0级:仅提供并行交叉存取

    RAID1级:具有磁盘镜像功能,备份用

    RAID3级:具有并行传输功能,有一专门的校验盘

    RAID5级:具有并行传输功能,没有专门的校验盘,校验信息螺旋方式散布在所有数据盘

分享到:
评论

相关推荐

    操作系统的学习笔记

    《计算机操作系统》课程适用于计算机科学、软件工程、电子工程、通信工程、自动控制等信息技术相关专业,教学单元组织为六个部分:计算机操作系统概述、处理器管理、存储管理、设备管理、文件管理、并发程序设计。...

    computer_basics_study_notes:计算机基础学习笔记,包含计算机组成原理+操作系统+计算机网络

    计算机基础学习笔记,包含计算机组成原理+操作系统+计算机网络。 一、计算机组成原理 todo 二、操作系统 1. 进程管理 作业管理 储存管理 文件管理 Linux 文件系统 设备管理 2. - 线程同步 -- 互斥量 - 线程同步 -- ...

    计算机操作系统(第三版)

    《计算机操作系统》可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。 目录 第一章 操作系统引论 1.1 操作系统的目标和作用 1 1.1.1 操作系统的...

    《计算机应用基础》读书笔记.doc

    读书笔记 类型: 课程学习 名称: 计算机应用基础 时间:2006.7.7 体裁:说明文 " 知识内容与结构 "备 注 " "一.知识整体结构层次1说明: " " "计算机基础知识 " " "计算机软件 (系统软件-—操作系统) " " "计算机...

    自考计算机基础应用-0018.docx

    微型计算机或者个人计算机(PC)是我们日常接触最多的计算机,又可以分为台式机、笔记本计算机、平板计算机、智能移动终端设备。本书中提到的计算机概念如不特别注明,均指的是微型计算机。 2.4未来计算机发展趋势 ...

    Sysprep Chief Executive Officer系统封装首席执行官

    简称Sc,由系统总裁网站(http://www.sysceo.com/)开发研制,是一款面对Windows操作系统封装的一款辅助工具,界面友好、简单易用、智能高效、自定义强,是学习研究系统封装爱好者的首选。 我的效果图: ...

    01.Vue学习笔记.md

    Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...

    自己动手写操作系统(含源代码).part2

    Woodhull的《操作系统:设计与实现》来学习操作系统的读者,本书尤其适合作为你的引路书籍,因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人...

    自己动手写操作系统(含源代码).part1

    Woodhull的《操作系统:设计与实现》来学习操作系统的读者,本书尤其适合作为你的引路书籍,因为它翔实地介绍了初学者入门时所必需的知识积累,而这些知识在《操作系统:设计与实现》一书中是没有涉及的,笔者本人...

    若干源程序资料12.rar

    2012-06-11 21:16 264,555 内存管理和设备调试中文.pdf 2012-06-11 21:30 267,989 冈萨雷斯数字图像处理matlab版源码V1.1.3(1).rar 2012-06-11 21:30 267,989 冈萨雷斯数字图像处理matlab版源码V1.1.3.rar 2012-06-...

    电子时钟设计(1).doc

    数据库管理系统 编译系统 网络系统 标准程序库 服务性程序 4、硬件系统组成及各部件主要功能 硬件 计算机系统所使用电子线路和物理设备看得见、摸得着实体央处理器( CPU )、存储器、外部设备(输入输出设备、I/O...

    C语言 课程设计+大作业+小程序集,纯字符画逻辑实现.zip

    C语言 课程设计+大作业+小程序集,纯字符画逻辑实现【笔记本电脑,哔哩哔哩移动端,超级玛丽,QQ,绝地求生等】让C语言课设不仅仅局限于图书馆管理系统!配套视频演示,代码均通过自己思考无任何参考实现,规范性...

    计算机课程总结.docx

    5.CAM(全称ComputerAidedManufacturing)指计算机辅助制造,即利用计算机进行生产设备的管理、控制和操作。CAD(全称ComputerAidedDesign)指计算机辅助设计,即利用计算机作为工具,帮助工程师进行设计。CAI...

    产品经理刷leetcode-AlgorithmExercises:我的算法练习和笔记

    设备管理 文件系统 linux指令 数据库系统 MySQL 新兴领域概念复述 高级数据库+hivehttps:// 数据挖掘笔记 机器学习 深度学习 云计算 产品经理 B站课程 微博分析 牛客上的题 自我介绍 参考资料 CS技术面试基础知识 ...

    java学习:01.JVM笔记.md

    Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...

    java学习:01.redis笔记.md

    Java程序可以在任何计算机、操作系统和支持Java的硬件设备上运行。这意味着开发人员只需编写一次代码,就可以在多个平台上运行,大大提高了开发效率和应用程序的可移植性。 Java的应用领域非常广泛。它被广泛用于...

    汇编语言笔记 参考《汇编语言 第三版》王爽.zip

    - **教学与理解计算机原理**:学习汇编语言有助于深入理解计算机体系结构、指令集、内存管理和硬件接口等基础概念。 ### 编程特点与挑战 - **手动管理内存**:程序员需要手动分配和释放内存,跟踪数据在内存中的...

    【密训资料】计算机应用基础(全国).pdf

    计算机应用基础(全国) 1 第一章 计算机基础知识 1.1 认识计算机 1.1.1 计算机的起源及发展 1、计算机体系结构和元器件的进步决定计算机向前发展的程度。 2、1822 年英国人巴贝奇首先提出来整个计算过程自动化,...

    计算机网络基础应用实训大纲.docx

    懂得常用的INTERNET互连设备 懂得操作系统的简单配置 懂得几种常用的INTERNET互连方法 任务一 Internet互连设备(路由器,ADSL,无线网卡)的认识与选购 任务二 DNS、操作系统的配置,网址的格式 任务三 通过拔号...

    小学计算机基础知识测试.doc

    ( C ) A、网上邻居 B、剪贴板C、回收D、控制面板 11、下面不属于计算机的用途( D ) A、用计算机学习、娱乐 B、用计算机算数 C、用计算机设计楼房 D、安装计算机 1、下面不是信息传递的( C ) A、打手势 B、打...

Global site tag (gtag.js) - Google Analytics