当前位置: 首页 > news >正文

操作系统第五章——输入输出管理(中)

提示:若我会见到你,事隔经年,我如何向你招呼,以眼泪,以沉默

文章目录

  • 5.2.1 IO核心子系统
    • 知识总览
    • 功能要在那个层次实现
  • 5.2.2 假脱机技术(SPOOLing)
    • 知识总览
    • 什么是脱机技术
    • 假脱机技术——输入井和输出井
    • SPOOLing——输入进程和输出进程
    • 假脱机技术——输入/输出缓冲区
    • 共享打印机原理分析
    • 知识总览
  • 5.2.3 设备的分配与回收
    • 知识总览
    • 设备分配时应考虑的因素
    • 静态分配和动态分配
    • 设备分配管理中的数据结构
    • 设备分配的步骤
    • 设备分配步骤的改进
    • 知识总览
  • 5.2.4 缓冲区管理
    • 知识总览
    • 什么是缓冲区?有什么作用?
    • 缓存区有什么作用?
    • 单缓冲区
    • 双缓冲策略
    • 单/双缓冲在通信时的区别
    • 循环缓冲区
    • 缓冲池
    • 知识回顾


5.2.1 IO核心子系统

知识总览

请添加图片描述

功能要在那个层次实现

请添加图片描述
I/o调度:用某种算法确定一个好的顺序来处理各个/o请求。
如:磁盘调度(先来先服务算法、最短寻道优先算法、SCAN算法、C-SCAN算法、LOOK算法 ,C-LOOK算法)。当多个磁盘I/o请求到来时,用某种调度算法确定满足I/o请求的顺序。
同理,打印机等设备也可以用先来先服务算法、优先级算法、短作业优先等算法来确定I/o调度顺序。
设备保护:操作系统需要实现文件保护功能,不同的用户对各个文件有不同的访问权限(如:只读、读和写等)。
在UNIK系统中,设备被看做是一种特殊的文件,每个设备也会有对应的FCB。当用户请求访问某个设备时,系统根据FCB中记录的信息来判断该用户是否有相应的访问权限,以此实现“设备保护”的功能。(参考“文件保护”小节)

5.2.2 假脱机技术(SPOOLing)

知识总览

请添加图片描述

什么是脱机技术

请添加图片描述
请添加图片描述

假脱机技术——输入井和输出井

请添加图片描述
请添加图片描述

SPOOLing——输入进程和输出进程

请添加图片描述
请添加图片描述

假脱机技术——输入/输出缓冲区

请添加图片描述

共享打印机原理分析

请添加图片描述
请添加图片描述虽然系统中只有一个台打印机,但每个进程提出打印请求时,系统都会为在输出井中为其分配一个存储区(相当于分配了一个逻辑设备),使每个用户进程都觉得自己在独占一台打印机,从而实现对打印机的共享。SPOOLing技术可以把一台物理设备虚拟成逻辑上的多台设备,可将独占式设备改造成共享设备

知识总览

请添加图片描述

5.2.3 设备的分配与回收

知识总览

请添加图片描述

设备分配时应考虑的因素

请添加图片描述
请添加图片描述
请添加图片描述

静态分配和动态分配

请添加图片描述

设备分配管理中的数据结构

请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

设备分配的步骤

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

设备分配步骤的改进

请添加图片描述
请添加图片描述
请添加图片描述

知识总览

请添加图片描述

5.2.4 缓冲区管理

知识总览

请添加图片描述

什么是缓冲区?有什么作用?

请添加图片描述

缓存区有什么作用?

请添加图片描述

单缓冲区

请添加图片描述
请添加图片描述
请添加图片描述

双缓冲策略

请添加图片描述
请添加图片描述

单/双缓冲在通信时的区别

请添加图片描述
请添加图片描述

循环缓冲区

请添加图片描述

缓冲池

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

知识回顾

请添加图片描述

http://www.lryc.cn/news/90502.html

相关文章:

  • 【网络】socket套接字基础知识
  • Go语言介绍以及Go语言环境安装
  • FPGA纯verilog实现CameraLink视频接收和发送,附带工程源码和技术支持
  • k8s中的service、api-server、kube-proxy有什么区别
  • 记录::opencv编译,cmake编译vs动态库
  • 网易SmartAuto,中文编程就是爽
  • 适配器模式那么强大,该怎么使用呢?
  • [极客大挑战 2019]PHP1
  • PID 学习
  • 002. java.lang.NumberFormatException: Infinite or NaN,怎么破?
  • Vue常用的修饰符
  • freertos笔记-任务切换
  • 企业电子招投标采购系统源码之登录页面-java spring cloud
  • 接口测试|Fiddler弱网测试
  • Linux-0.11 文件系统super.c详解
  • 什么是ChatGPT、历史发展及应用领域
  • Spring的创建与使用
  • 抖音Flutter插件的使用
  • Debezium报错处理系列之六十八:No resolvable bootstrap urls given in bootstrap.servers
  • Python二级编程:分词去重
  • Android Wifi开发——Wifi锁(十九)
  • Nginx的优化与防盗链
  • STP协议
  • 方法——检查参数的有效性
  • 七、Docker仓库之nexus搭建(四)
  • MySQL 锁机制
  • HACKER KID: 1.0.1实战演练
  • Android车载学习笔记1——车载整体系统简介
  • Apache Doris
  • GB28181 对接海康平台,解决音视频卡顿问题