操作系统面试知识点总结5

#来自ウルトラマンメビウス(梦比优斯)

1 IO管理概述

1.1 I/O 设备

I/O 设备的类型分类。

1.1.1 按使用特性

  • 人机交互类外部设备,例如打印机、显示器等。
  • 存储设备,例如磁盘、光盘等。
  • 网络通信设备,例如网络接口等。
1.1.2 按传输速率

  • 低速设备:键盘、鼠标。
  • 中速设备:打印机、激光机等。
  • 高速设备:磁带机、磁盘机等。
1.1.3 按信息交换的单位分类

  • 块设备:信息存取以数据块为单位。
  • 字符设备:传输单位以字符为单位,如打印机、交互式终端机。

1.2 I/O控制方式

2.2.1 程序直接控制方式

CPU 和 I/O 设备串行工作,由用户进程直接控制主存或 CPU 和外围设备之间的信息传送。

2.2.2 中断驱动方式

允许 I/O 设备主动打断 CPU 的运行并请求服务。为了减少程序直接控制方式下 CPU 的等待时间以及提高系统的并行程度,外围设备仅当操作正常结束或异常结束时才向 CPU 发出中断请求。在 I/O 设备输入每个数据的过程中,由于无需 CPU 的干预,一定程度上实现了 CPU 与 I/O设备的并行工作。仅当输入或输出完一个数据时,才需 CPU 花费极短的时间做中断处理。

2.2.3 DMA 方式(直接存储器存储)

用窃取或挪用总线控制权,在设备和主存之间开辟直接数据交换通道,成批地交换数据,而不必让 CPU 干预。

2.2.4 通道控制方式

通道,独立于 CPU 的专门负责输入输出控制的处理机,它控制设备与内存直接进行数据交换。有自己的通道指令,这些指令由 CPU 启动,并在操作结束时向 CPU 发出中断信号。

通道控制方式,实现了CPU、通道和I/O设备三者的并行操作,从而更加有效地提高整个系统的资源利用率。

1.3 I/O子系统的层次结构

  • 用户层I/O软件:实现与用户交互的接口
  • 设备独立性软件:实现用户程序与设备驱动器的统一结构、设备命令、设备保以及设备分配与释放
  • 设备驱动程序:与硬件直接相关,负责具体实现系统对设备发出的操作指令
  • 中断处理程序:用于处理中断相关事项
  • 硬件设备:包括一个机械部件(设备本身)和一个电子部件(控制器)

2 IO 核心子系统

2.1 I/O子系统概述

主要提供IO调度、缓冲与高速缓存、设备分配与回收、假脱机、设备保护和差错处理

2.2 IO调度概念

通过IO调度改善系统整体性能,使得进程之间公平共享设备访问,减少IO完成所需要的平均等待时间。

2.3 高速缓存与缓冲区

高速缓存在内存中分为两种形式:

  • 在内存中开辟一个单独的存储空间作为磁速缓存,大小固定
  • 把未利用的内存空间作为一个缓沖池,供请求分页系统和磁盘I/O时共享。

缓存区:

  • 釆用硬件缓冲器,但由于成本太高,除一些关键部位外,一般不釆用硬件缓冲器
  • 釆用缓冲区(位于内存区域)。

缓存区分类:

  • 单缓存
  • 双缓存
  • 循环缓存
  • 缓冲池

2.4 设备分配与回收

充分发挥设备的使用效率,避免进程死锁。

设备分类:

  • 独占设备
  • 共享设备
  • 虚拟设备

2.5 IO调度

  • 安全分配方式:为进程分配一个设备后就将该进程阻塞,本次I/O完成后才将进程唤醒。

  • 不安全分配方式:进程发出I/O请求后,系统为其分配I/O设备,进程可继续执行,之后还可以发出新的I/O请求,只有某个I/O请求得不到满足时才将进程阻塞。不安全分配方式一个进程可以同时使用多个设备。

2.6 SPOOLING技术(假脱机技术)

如果设备被占用,先把数据暂存,等到设备空闲了就把这些数据输送到设备中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】IP地址和子网掩码(IP地址篇)

个人主页:【😊个人主页】 系列专栏:【❤️计算机网络】 文章目录 前言IP地址网络地址网络地址的定义与组成作用分类网络地址的分配与管理 广播地址(Broadcast Address)定义构成类型作用注意事项 广播地址功能 组播地址…

HiveSQL题——炸裂+开窗

一、每个学科的成绩第一名是谁? 0 问题描述 基于学生成绩表输出每个科目的第一名是谁呢? 1 数据准备 with t1 as(selectzs as name,[{"Chinese":80},{"Math":70}],{"English"…

CompletableFuture使用详解

简单的任务,用Future获取结果还好,但我们并行提交的多个异步任务,往往并不是独立的,很多 时候业务逻辑处理存在串行[依赖]、并行、聚合的关系。如果要我们手动用 Future 实现,是非常麻烦的。 CompletableFutur…

JMeter基本使用

一、JMeter线程组相关 进程:正在运行的程序。线程:是进程中的执行线索。线程组:进程中有许多线程,为了方便管理,可以对线程按照性质分组,分组的结果就是线程组。PS:三者关系,一个进…

【设计模式】(万字总结)深入理解Java中的创建型设计模式

1. 前言 在软件开发的世界里,设计模式是一种被广泛接受并应用的解决方案。它们不仅仅是代码的设计,更是对问题的思考和解决的方法论。在Java开发中,特别是在面向对象的编程中,设计模式尤为重要。创建型设计模式,作为设…

【初阶数据结构篇】实现顺序结构二叉树(堆的实现方法)

文章目录 实现顺序结构二叉树(堆)前言代码位置堆的概念与结构概念 堆的实现堆初始化和销毁堆的插入堆的判空堆的删除数据取堆顶数据 实现顺序结构二叉树(堆) 前言 ​ ⼀般堆使⽤顺序结构的数组来存储数据,堆是⼀种特…

一键生成惊艳图像:使用Stable Diffusion打造惊人视觉效果

一、简介 Stable Diffusion是一种由Stability AI开发的生成式AI模型,能够将文本提示转换为高质量的图像。作为生成式扩散模型的一部分,Stable Diffusion通过解析和理解输入的文本提示,逐步生成与描述相匹配的图像。这一技术不仅在图像生成和…

MybatisPlus核心用法

MybatisPlus核心用法 目录 MybatisPlus核心用法1.使用MybatisPlus的基本步骤:2.MybatisPlus是如何获取实现CRUD的数据库表信息的?3.MybatisPlus的常用注解有哪些?如果表名称和实体类名称不符合约定该怎么做?IdType的常见类型有哪些…

漏洞复现-F6-11泛微-E-Cology-SQL

本文来自无问社区,更多漏洞信息可前往查看http://www.wwlib.cn/index.php/artread/artid/15575.html 0x01 产品简介 泛微协同管理应用平台e-cology是一套企业级大型协同管理平台 0x02 漏洞概述 该漏洞是由于泛微e-cology未对用户的输入进行有效的过滤&#xff0…

Skyeye云智能制造企业版源代码全部开放

智能制造一体化管理系统 [SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模…

vue3 快速入门 (六) : vue中调用HTTP请求

1. 本文环境 Vue版本 : 3.4.29Node.js版本 : v20.15.0系统 : Windows11 64位IDE : VsCode 1.91.0 2. 访问HTTP 在Vue中,访问HTTP,可以使用axios第三方库。 axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js。 axios使用简…

遗传算法与深度学习实战——进化深度学习

遗传算法与深度学习实战——进化深度学习 0. 前言1. 进化深度学习1.1 进化深度学习简介1.2 进化计算简介 2. 进化深度学习应用场景3. 深度学习优化3.1 优化网络体系结构 4. 通过自动机器学习进行优化4.1 自动机器学习简介4.2 AutoML 工具 5. 进化深度学习应用5.1 模型选择&…

【mybatis的批量操作】

在日常开发中,如果要操作数据库的话,或多或少都会遇到批量数据的处理,我们公司使用的mybaits-plus作为持久层的框架,今天就简单介绍一下mybaits批量操作数据库的几种方式。 1.循环插入 其实这种方式并不是批量插入,只…

功能实现——使用 OpenPDF 将 HTML 转换为 PDF,并将其上传到 FTP 服务器

目录 1.需求分析2.项目环境搭建3.将 HTML 转换为 PDF3.1.代码实现mail.htmlHtmlToPDFController.javaPDFConverterService.javaPDFConverterServiceImpl.java 3.2.测试3.3.注意事项 4.将生成的 PDF 上传到 FTP 服务器4.1.搭建 FTP 服务器4.2.配置文件4.3.代码实现FtpUtil.javaF…

谷粒商城实战笔记-75-商品服务-API-品牌管理-品牌分类关联与级联更新

文章目录 一,引入Mybatis Plus分页插件二,品牌列表的模糊查询三,增加品牌测试数据四,开发后台品牌关联分类接口1,接口product/categorybrandrelation/catelog/list2,接口product/categorybrandrelation/sav…

汽车长翅膀:GPU 是如何加速深度学习模型的训练和推理过程的?

编者按:深度学习的飞速发展离不开硬件技术的突破,而 GPU 的崛起无疑是其中最大的推力之一。但你是否曾好奇过,为何一行简单的“.to(‘cuda’)”代码就能让模型的训练速度突飞猛进?本文正是为解答这个疑问而作。 作者以独特的视角&…

数仓架构解析(第45天)

系列文章目录 经典数仓架构传统离线大数据架构 文章目录 系列文章目录烂橙子-终生成长群群主前言1. 经典数仓架构2. 传统离线大数据架构 烂橙子-终生成长群群主 前言 经典数仓架构 传统离线大数据架构 背景解析 1. 经典数仓架构 1991年,比尔恩门(Bill…

牛客算法题解:数字统计、两个数组的交集、点击消除

目录 BC153 [NOIP2010]数字统计 ▐ 题解 NC313 两个数组的交集 ▐ 题解 AB5 点击消除 ▐ 题解 BC153 [NOIP2010]数字统计 题目描述: 题目链接: [NOIP2010]数字统计_牛客题霸_牛客网 (nowcoder.com) ▐ 题解 题目要求统计出某段数组中一共有多少个…

关于Buffer和Channel的注意事项和细节

1.举例 package org.example.demo;import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.util.RandomAccess;/*** MappedByteBuffer可…

动量参数(Momentum Parameter)

动量参数(Momentum Parameter)在机器学习中指的是一种用于加速梯度下降算法的技术,特别是深度学习中优化神经网络权重时。简单来说,动量参数是一种帮助优化过程加速并减少震荡的技术。 具体来说,动量参数具有以下特点…