恶补《操作系统》5_1——王道学习笔记

news2024/11/20 20:41:08

5设备管理

5.1_1 I-O设备的概念和分类

1、什么是I-O设备

输入/输出:I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件。

2、按使用特性分类

  1. 人机交互的外部设备
  2. 存储设备
  3. 网络通信设备

3、按传输速率分类

  1. 低俗设备
  2. 中速设备
  3. 高速设备

4、按信息交换的单位分类

  1. 块设备:传输速率高,可寻址,可随机读写在任一块
  2. 字符设备:慢,不可寻址

5.1_2 I-O控制器

I-O设备=电子部件(I-O控制器)+机械部件

机械部件:如鼠标等

电子部件功能:

1、接受和识别CPU发出的命令

控制寄存器

2、向CPU报告设备的状态

状态寄存器

3、数据交换

数据寄存器

4、地址识别

两种寄存器编址方式:内存映射I-O、寄存器独立编制

5.1_3 I-O控制方式

1、程序直接控制方式

轮询:完成一次读/写操作的流程

CPU干预频繁

每次读写一个字

实现简单

会使CPU忙等

2、中断驱动方式

CPU发出IO指令后做其它的事情

大量中断会使cpu效率低

每次读写一个字

CPUIO可并行工作

3DMA方式:直接存储器存取

数据单位:连续的多个块

直接从设备到内存

减少了cpu干预

DR:数据寄存器

MAR:内存地址寄存器

DC:剩余读写字节数

CR:命令/状态寄存器

4、通道控制方式

弱鸡版cpu

通道程序:任务清单

cpu发送命令给通道,然后让通道处理IO操作就行了

处理完了,向cpu发送中断信号

5.1_4 I-O软件层次结构

1、用户层软件

实现与用户交互的接口,向上提供方便易用的库函数

2、设备独立性软件(设备无关性软件)

向上层提供统一的调用接口(read/write

设备的保护

差错处理

设备的分配与回收

数据缓冲区管理

建立逻辑设备名到物理设备名的映射关系

根据设备类型选择调用相应的驱动程序

3、设备驱动程序(比如打印机驱动)

设置设备寄存器、检查设备状态

4、中断处理程序

进行中断处理

5、硬件

执行IO操作,有机械部件+电子部件组成

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

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

相关文章

io流,字节流概述

io流概述 io流:输入输出流读写数据的 i 指Input,称为输入流:负责把数据读到内存中去 o指Output,称为输出流:负责写数据出去 io流的分类 按流的方向分为: 输入流和输出流。 按流中数据的最小单位, 分为:字节流(适合操作…

LWIP+TCP客户端

一、TCP API函数 其中tcp_poll()函数的第三个参数表示隔几秒调用一次这个周期性函数 二、修改服务器的IP 三、TCP客户端编程思路 申请套接字绑定服务器IP和端口号等待客户端连接 进入连接回调函数在连接回调函数中 配置一些回调函数,如接收回调函数,周期…

C++必修:类与对象(三)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C学习 贝蒂的主页:Betty’s blog 1. 隐式类型转换 在学习C语言时我们就明白,当我们进行赋值时&#xf…

智慧旅游引领旅游行业创新发展:借助智能科技的力量,实现旅游资源的优化配置和高效利用,推动旅游行业的转型升级和可持续发展

目录 一、引言 二、智慧旅游的定义与特点 1、信息化程度高 2、智能化服务丰富 3、互动性强 4、个性化服务突出 5、可持续性发展 三、智慧旅游在旅游行业创新发展中的作用 (一)优化旅游资源配置 (二)提升旅游服务质量 &…

vue3 jspdf,element table 导出excel、pdf,横板竖版分页

多个表格需要,pdf需要的格式与原本展示的表格样式不同 1.创建一个新的表格,设置pdf需要的样式,用vue的h函数放入dom中 2.excel用xlxs插件直接传入新建el-table的dom,直接导出 3.pdf导出类似excel黑色边框白底黑字的文件,把el-t…

开源版本管理系统的搭建一:SVN服务端安装

作者:私语茶馆 1.Windows搭建SVN版本管理系统 点评:SVN本身非常简洁易用,VisualSVN文档支撑非常好,客户端TortoiseSVN非常专业。5星好评。 1.1.SVN概要和组成 背景介绍 Svn是一个开源版本管理系统,由CollabNet公司…

ffmpeg 推流

参考 【windows&&linux环境下实现ffmpeg&&vlc rtsp本地视频、摄像头推流,VLC推拉流】 本地视频 推流 localhost 下载 mediamtx 服务器 https://github.com/bluenviron/mediamtx/releases 下载 ffmpeg https://github.com/BtbN/FFmpeg-Builds/rel…

基于vmware虚拟机中yum源的配置

1.首先需确保虚拟机中已经连接了光盘映像(如图在虚拟机右下方从左往右第二个) 2.在虚拟机中找到光盘映像文件(默认在/dev的sr0) 3.将光盘文件挂载(挂载后才可读取) 为方便每一次开机之后自动挂载&#xff…

jQuery 笔记13 JavaScript的好帮手

相关内容:下载jQuery网址、jQuery的使用、表格排序软件(tablesorter)、行事历软件(FullCalendar)、…… jQuery是一套开放性源代码的JavaScript函数库(Library),jQuery是JavaScript函数库,简化了…

《21天学通C++》(第十二章)运算符类型与运算符重载

1.为什么要重载运算符&#xff1f; 通过重载运算符&#xff0c;可以将复杂的操作封装成简单的运算符形式&#xff0c;简化代码&#xff0c;提高可读性下面举一个简单的例子 计算两个点的坐标之和。 1.不重载运算符 #include <iostream> using namespace std; class P…

JavaScript基础(四)

逻辑运算符 && 与 : 多个条件同时满足 ΙΙ 或 : 多个条件满足一个 &#xff01; 非 : 否定某个条件 例: <script> //&多个条件同时满足&#xff0c;才返回true //任意一个为false&#xff0c;就返回false var a 10; var b 20; …

【linux】重定向

重定向 什么是重定向如何实现一个简单的重定向关于重定向的系统调用接口 注意&#xff1a;在看这篇博客之前&#xff0c;最好是要对文件在系统中是如何被打开的以及操作系统是如何管理文件有一个初步了解&#xff0c;如果不了解的话&#xff0c;可以看看这篇博客《初步认识文件…

stm32之hal库spi驱动封装(实现阻塞,中断,dma三种方式)

前言 配置功能参考rt-thread驱动代码将中断配置和dma配置单独分开管理 代码 中断管理 头文件 /** Copyright (c) 2024-2024,shchl** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date Author Notes* 2024-5-3 shchl first version*/#ifnd…

【AIGC】本地部署 ollama + open-webui

在之前的篇章《【AIGC】本地部署 ollama(gguf) 与项目整合》中我们已经使用 ollama 部署了一个基于预量化&#xff08;gguf&#xff09;的 Qwen1.5 模型&#xff0c;这个模型除了提供研发使用外&#xff0c;我还想提供给公司内部使用&#xff0c;因此还需要一个 ui 交互界面。 …

2003-2022年各省对外直接投资存量/省对外直接投资流量/省OFDI流量/省OFDI存量数据

2003-2022年各省对外直接投资存量、省对外直接投资流量、省OFDI流量、省OFDI存量数据 1、时间&#xff1a;2003-2022年 2、来源&#xff1a;对外直接投资公报 3、范围&#xff1a;31省 4、指标&#xff1a;省对外直接投资流量/OFDI流量、省对外直接投资存量/OFDI存量 5、指…

OpenCV(三)—— 车牌筛选

本篇文章要介绍如何对从候选车牌中选出最终进行字符识别的车牌。 无论是通过 Sobel 还是 HSV 计算出的候选车牌都可能不止一个&#xff0c;需要对它们进行评分&#xff0c;选出最终要进行识别的车牌。这个过程中会用到两个理论知识&#xff1a;支持向量机和 HOG 特征。 1、支…

爬虫自动化之drissionpage实现随时切换代理ip

目录 一、视频二、dp首次启动设置代理三、dp利用插件随时切换代理一、视频 视频直接点击学习SwitchyOmega插件使用其它二、dp首次启动设置代理 from DrissionPage import ChromiumPage, ChromiumOptions from loguru

MySQL与金蝶云星空对接集成执行查询语句-v2打通销售退货新增V1

MySQL与金蝶云星空对接集成执行查询语句-v2打通销售退货新增V1 数据源系统:MySQL mysql是一个关系数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;所谓的关系型数据库&#xff0c;是建立在关系模型基础上的数据库&#xff0c;借助于集合代数等数学概念和方法来处理数…

深度解析 Spring 源码:探寻Bean的生命周期

文章目录 一、 Bean生命周期概述二、Bean生命周期流程图三、Bean生命周期验证3.1 代码案例3.2 执行结果 四、Bean生命周期源码4.1 setBeanName()4.2 setBeanFactory()4.3 setApplicationContext()4.4 postProcessBeforeInitialization()4.5 afterPropertiesSet()4.6 postProces…

npm安装依赖报错解决办法

项目场景&#xff1a; 安装gitee上的开源vue3TS项目&#xff0c;npm安装依赖报错 问题描述 克隆项目到VSCode之后&#xff0c;使用npm install安装依赖&#xff0c;报错 npm install npm ERR! code ENOENT npm ERR! syscall open npm ERR! path Y:\WebStudyBlog\MovieWeb/p…