操作系统04_IO管理
输入输出系统
- IO系统的层次结构
- 用户层IO软件
- 设备独立性软件
- 设备驱动程序
- 中断处理程序
- 对IO设备的控制方式
- 使用轮询的可编程IO方式
cpu不停地检查设备的状态,以字节为单位,非中断方式,利用率低 - 使用中断的可编程IO方式
添加CPU中断,提高了CPU的利用率 - 直接存储器访问方式
以数据块为单位,放宽响应时间 - IO通道控制方式
以数据块组成的一组数据块为单位,大幅度提高CPU的利用率
- 使用轮询的可编程IO方式
- 设备分配
- 设备分配中的数据结构
1:设备分配表DCT,2:控制器控制表,通道控制表,系统设备设备表 - 设备分配需要考虑的因素
1:设备的固有属性,2:独占设备得分配策略,3:设备的分配算法,4:设备分配中的安全性 - 独占设备的分配程序
- 设备分配中的数据结构
用户层的IO软件
- (假脱机)Spooling系统的构成
- 输入井和输出井
- 输入缓冲区和输出缓冲区
- 输入进程和输出进程
- 井管理程序
缓冲区管理
- 为生产者和消费者设置的专用缓冲区
- 单缓冲区
- 双缓冲区
- 环形缓冲区
- 公用缓冲池
用于管理多个缓冲区 - 缓冲区溢出
缓冲区溢出是指当计算机向缓冲区内填充数据时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。主要原因是程序中没有仔细检查用户输入的参数。
操作系统04_IO管理的更多相关文章
- 操作系统--进程管理1--单个CPU情况
1.进程概念 进程:一个正在执行的程序:操作系统提出进程概念目的:是为了跟踪程序在执行期间的状态.而程序只是一段代码,是一个静态的概念 无法准确描述程序执行时候发生的一切.程序代码被加载进内存后就以进 ...
- 操作系统内存管理之 内部碎片vs外部碎片
外部碎片:因为行程持续地被载入与置换,使得可用的记忆体空间被分割成许多不连续的区块.虽然记忆体所剩空间总和足够让新行程执行,却因为空间不连续,导致程式无法载入执行.内部碎片:发生在以固定长度分割区来进 ...
- 操作系统--进程管理(Processing management)
一.进程的组成 进程通常由程序.数据和进程控制块(Process Control Block,PCB)组成. 二. 进程的状态以及状态切换 进程执行时的间断性决定了进程可能具有多种状态,最基本的三种状 ...
- <操作系统>内存管理
单道程序设计:内存被划分为两部分:一部分供操作系统使用,另一部分供当前正在执行的程序使用. 多道程序设计:内存中进一步细分用户部分,以满足多个进程的要求. 内存管理的需求: 重定位:程序从磁盘换入内存 ...
- 操作系统-IO管理概述
IO管理概述 一.IO设备 IO设备管理是操作系统设计中最凌乱也最具挑战性的部分.由于它包含了很多领域的不同设备以及与设备相关的应用程序,因此很难有一个通用且一直的设计方案.所以在理解设备管理之前,应 ...
- 十天学会CS之操作系统——进程管理01
进程管理01 进程的概念 进程是计算机中一个非常重要的概念,在整个计算机发展历史中,操作系统中程序运行机制的演变按顺序大致可以分为: 单道程序:通常是指每一次将一个或者一批程序(一个作业)从磁盘加载进 ...
- 操作系统-IO管理和磁盘调度
I/O设备 IO设备的类型 分为三类:人机交互类外部设备:打印机.显示器.鼠标.键盘等等.这类设备数据交换速度相对较慢,通常是以字节为单位进行数据交换的 存储设备:用于存储程序和数据的设备,如磁盘.磁 ...
- 操作系统-CPU管理的直观想法
1. 管理CPU,先要使用CPU 管理CPU的最直观方法 2. 提出问题 有IO指令执行的特别慢,当cpu执行计算指令很快,遇到IO指令cpu进行等待,利用率不高. 使用多道程序.交替执行,这样cpu ...
- [windows操作系统]windows管理
1.磁盘管理: 1.1.使用DISKPART命令行工具创建扩展分区: windows自带有一个disk management(磁盘管理)工具,但在其中却找不到如何创建扩展分区(一般MBR分区格式需要扩 ...
随机推荐
- day1 hbuilder的使用
一.互联网的原理 1.概述 html:用来制作网页. 互联网原理:上网即请求数据. 用户通过在浏览器上输入一个网址,通过HTTP协议向服务器发送请求,服务器做出响应,将相关的网页数据传输到本地计算机, ...
- valueError: This solver needs samples of at least 2 classes in the data, but the data contains only one class: 0
问题描述:执行下面的代码,报错valueError: This solver needs samples of at least 2 classes in the data, but the data ...
- XMLHttpRequest对象(Ajax)的状态码(readystate) HTTP状态代码(status)
2018-11-28 14:19:00 来自 :XMLHttpRequest对象(Ajax)的状态码(readystate) HTTP状态代码(status) XMLHttpRequest对象(Aj ...
- win10安装mongodb-win32-x86_64-2008plus-ssl-3.4.10-signed
1.下载mongodb在windows下的安装文件 首先去官网https://www.mongodb.com/download-center?jmp=nav#community下载安装文件.mongo ...
- python 读csv数据 通过改变分隔符去掉引号
import csv with open(r'C:\Temp\ff.csv') as f: f_csv=csv.reader(f,delimiter='\t') headers=next(f_csv) ...
- 1、第一个android APP
https://blog.csdn.net/tongyong128/article/details/68484726
- urlopen和urlretrieve
import urllib import re url = "https://www.duitang.com/search/?kw=%E9%AC%BC%E6%80%AA&type=f ...
- codeSourcery交叉编译环境
arm-none-Linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具.可用于交叉编译ARM系统中所有环节的代码,包括 ...
- mxnet 查看 Sym shape
import mxnet as mximport numpy as npimport randomimport mxnet as mximport sysdata_shape = {'data':(6 ...
- Urllib库及cookie的使用
https://blog.csdn.net/pipisorry/article/details/47905781