假脱机技术

目录

假脱机技术

1、什么是假脱机技术

2、逻辑结构

3、打印机实现假脱机技术


假脱机技术

用户层软件实现假脱机技术(SPOOLing技术)

设备独立性软件实现:I/O调度、设备保护、设备分配与回收、缓冲区管理等

I/O调度:按照某种规则算法来处理各个I/O请求

设备保护:(设备会被视为一个文件)设置权限字

1、什么是假脱机技术

首先什么是脱机技术?

就是使用硬件,使得I/O输入输出的操作得以脱离主机控制的技术

是进行I/O输入输出的时候(外部设备和内存之间),不需要主机CPU的参与就可以自动进行的技术

如何实现呢?

就是在输入设备和主机的内存之间,设置一个外围控制器,数据的输入输出就通过外围控制器进行

这一般需要硬件参与

那么什么是假脱机技术呢?

就是用软件实现脱机技术,而不是硬件

因此,称为假脱机技术

2、逻辑结构

假脱机由三部分组成:

一边是主机存储磁盘,其中设置输出井和输入井

一边是外部设备,分别是输入设备和输出设备

主机内存设置输入缓冲区和输出缓冲区

并分别由输入进行和输出进行控制

控制过程: 当外部设备要输入数据到磁盘中时,先由输入进程将数据传送到输入缓冲区,再由输出进程吧数据发送到输入井

磁盘到外部设备的数据输出,也是一样的过程

3、打印机实现假脱机技术

举个例子:

独占式设备:一个时间只能被一个进程使用

共享式设备:同时间能被多个进行使用

打印机是一个独占式设备

但是可以使用SPOOLing假脱机技术将打印机实现共享是设备

为了实现共享设备,需要做以下两个工作:

1)在磁盘输出井为每一个进程设置一个空闲缓冲区,存放要打印的数据

2)为用户进程申请一张打印请求表(记录要打印数据的信息),并将该打印申请表放到输出队列上

于是,当打印机空闲时

就会从输出队列中拿出队头的打印请求表,并根据打印相应的内容,将相应要打印的数据传送到打印机上

如此依次进行

通过上述的方式,当多个进程要申请使用打印机时,系统都会同意

于是在逻辑上,对于每一个进程来说,都相当于拥有了自己的打印机

从而实现逻辑上的共享

(事实上还是顺序执行)

相关推荐
川穹冬菱草9 分钟前
Ubuntu 20.04.6编译安装COMFAST CF-AX90无线网卡驱动
网络·编译安装·comfast cf-ax90·无线网卡驱动·linux网卡驱动·ubuntu网卡驱动·aic8800驱动
c无序10 分钟前
【Docker-13】Docker Container容器
运维·docker·容器
Sunlight_77712 分钟前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
sky.fly1 小时前
多路由器通过三层交换机互相通讯(单臂路由+静态路由+默认路由版),通过三层交换机让pc端相互通讯
网络·tcp/ip·计算机网络·智能路由器
云达闲人2 小时前
Proxmox VE 用户与权限管理命令大全
运维·网络·云原生·容器·proxmox·用户权限管理·命令大全
喆星时瑜2 小时前
【Docker】运行错误提示 unknown shorthand flag: ‘d‘ in -d ----详细解决方法
运维·docker·容器
长流小哥3 小时前
Linux网络编程实战:从字节序到UDP协议栈的深度解析与开发指南
linux·c语言·开发语言·网络·udp
极小狐3 小时前
极狐GitLab 功能标志详解
linux·运维·服务器·elasticsearch·gitlab·极狐gitlab
jinan8864 小时前
加密软件的发展:从古典密码到量子安全
大数据·运维·服务器·网络·安全·web安全
您8134 小时前
二十、FTP云盘
linux·服务器·网络