操作系统--I/O管理知识整理(供自己复习所用

简介: I/O一直比较薄弱,都分不清在干啥,又听了一遍课,默写一下脑子里留下的东西,原来不是分不清,是听完课,脑子里就留下来30%……I/O子系统层次结构

I/O子系统层次结构


由上至下依次是:


用户层I/O软件

设备独立性软件(主要⚠️功能:1⃣️执行所有设备公有操作:对设备的分配和回收♻️;逻辑->物理;设备保护;缓冲管理;差错控制;提供独立于设备大小统一的逻辑块,屏蔽设备之间信息交换单位大小与传输速率的差异2⃣️向用户层提供统一接口:各种设备的读写操作)

设备驱动软件

中断处理软件

硬件(机械部件和电子部件(电子部件成为设备控制器,下面详细📝))

用户层I/O软件:实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数。用户层软件必须通过一组系统调用来获取os服务。

设备独立性软件:实现用户程序与设备驱动器的统一接口、设备命令、设备保护以及设备分配和释放等,同时为设备管理和数据传送提供必要的存储空间。(引入逻辑设备与物理设备的概念为了实现设备独立性)

设备驱动程序:与硬件直接相关,驱动I/O设备工作的驱动程序(每类设备一个)

中断处理程序:用于保护CPU环境

硬件设备:机械是设备本身,电子部件是控制器(或叫适配器)


设备控制器


用设备控制器的功能,了解设备控制器中应包含的接口(寄存器等)

1.jpg

区别内存映射I/O与寄存器独立编址区别

2.jpg


I/O控制方式


1.程序直接控制

2.中断驱动方式

3.DMA方式

4.通道控制方式


通过区分每个方式的流程、CPU干预频率、传送单位、数据流向、优缺点来记住每个方式的特点。

3.jpg

4.jpg

5.jpg


设备分配


6.jpg


SPOOLing技术


spooling系统由预输入程序、井管理程序、缓输出程序组成。

采用spooling技术的系统中,用户打印数据首先被送到磁盘固定区域。


缓冲区部分掌握较好,暂不做整理,完结撒花 🎉!


相关文章
|
6月前
|
缓存 Linux UED
深入理解操作系统的虚拟内存管理
【5月更文挑战第30天】 在现代计算机系统中,虚拟内存是允许用户程序逻辑地址空间与物理内存解耦的关键概念。此技术不仅增强了多任务处理能力,还提供了内存保护和简化了内存管理。尽管虚拟内存的基本概念广为人知,但本文将探讨其背后的机制,以及如何通过分页和分段优化系统性能。我们将分析虚拟内存对操作系统稳定性的影响,并讨论当前操作系统中虚拟内存管理的最佳实践。
|
6月前
|
安全 算法 网络协议
探索Linux操作系统的内核管理
【5月更文挑战第31天】本文将深入探讨Linux操作系统的内核管理机制,包括其设计原则、主要组件以及它们如何协同工作以提供高效的系统性能。通过分析Linux内核的关键特性和功能,我们将揭示这一开源操作系统如何在各种计算环境中保持其稳定性和灵活性。
|
4月前
|
算法
深入理解操作系统的虚拟内存管理
【7月更文挑战第24天】在现代操作系统中,虚拟内存管理是一项至关重要的技术,它允许系统拥有比物理内存更大的地址空间,从而提升多任务处理能力。本文将详细探讨虚拟内存的工作原理、关键技术及其对操作系统性能的影响,帮助读者构建对虚拟内存管理的深入理解。
|
4月前
|
Cloud Native Devops 数据库
云原生架构:未来软件开发的引擎深入理解操作系统的虚拟内存管理
【7月更文挑战第30天】在这篇文章中,我们将深入探讨云原生架构的概念,以及它如何改变软件开发的世界。我们将从云原生的基本概念开始,然后深入到它的关键技术和实践,最后讨论它对软件开发的未来影响。无论你是软件开发者,还是IT专业人士,这篇文章都将为你提供深入理解和掌握云原生架构的重要信息。 【7月更文挑战第30天】在数字世界的构建中,虚拟内存是操作系统不可或缺的一环。本文将探索虚拟内存的核心概念、工作机制及其对现代计算环境的重要性,同时揭示其背后的技术细节和面临的挑战。
44 3
|
4月前
|
缓存 算法
操作系统的虚拟内存管理
【7月更文挑战第29天】本文深入探讨了操作系统中至关重要的虚拟内存管理机制,包括其设计原理、实现方式以及在现代计算机系统中的作用。通过分析分页系统、分段系统、页面置换算法和内存分配策略,揭示了虚拟内存如何优化资源利用,提高系统性能,并确保进程间的安全性与隔离性。此外,文章还讨论了虚拟内存管理面临的挑战及未来的发展方向。
|
4月前
|
缓存 算法 程序员
深入理解操作系统中的虚拟内存管理
【7月更文挑战第14天】本文将深入探讨操作系统中至关重要的组成部分——虚拟内存管理。通过分析其设计原理、实现机制以及性能优化策略,旨在为读者提供一个全面而深入的视角来理解虚拟内存在现代操作系统中的作用和重要性。文章不仅会涵盖虚拟内存的基本概念和功能,还会讨论其在多任务处理、内存保护及系统性能提升方面的贡献。
|
4月前
|
算法 Linux 调度
操作系统中的虚拟内存管理:原理与实现
本文深入探讨了操作系统中虚拟内存管理的核心概念,包括分页、分段、需求分页和页面置换算法。通过分析现代操作系统如Linux和Windows的虚拟内存实现机制,文章揭示了虚拟内存在提升内存利用率、进程隔离和保护内存中的关键作用。同时,讨论了虚拟内存管理面临的挑战,如内存泄漏、碎片化以及性能开销,并提出了相应的优化策略。
|
5月前
|
算法
深入理解操作系统中的虚拟内存管理
【6月更文挑战第19天】在现代操作系统中,虚拟内存管理是一个至关重要的组件。它不仅使得程序能够在有限的物理内存中运行更大的地址空间,还为系统提供了多任务处理能力。本文将深入探讨虚拟内存的概念、实现机制以及它在操作系统中的重要性,同时也会讨论虚拟内存管理中遇到的挑战和解决方案。
70 4
|
5月前
|
Python
Python中使用os库管理环境变量
在Python中,可以使用os库来管理操作系统的环境变量。通过os.environ对象,我们可以获取、修改和删除环境变量的值。
104 3
|
4月前
|
Windows 内存技术
nvm 管理和切换 node版本(windows操作系统)
nvm 管理和切换 node版本(windows操作系统)
84 0