操作系统概念学习笔记 3 存储结构和I/O结构

简介:

操作系统概念学习笔记 3

存储结构与I/O结构

存储结构

计算机必须在内存或RAM(随机访问内存random access memory)运行,内存是处理器可以直接访问的唯一大容量存储区域。

内存和处理器本身内置寄存器是cpu能直接访问的唯一存储介质。

指令load能将内存中的字移到cpu内部的寄存器中。而指令store能将寄存器的内容移动到内存。除了显式使用load和store,cpu可自动从内存中装入指令以执行。

内存比较小,并且是易失性存储设备,所以计算机系统提供辅助存储器作为内存的扩充。

对于I/O,每个I/O控制器都有寄存器来报存命令和所要传输的数据。通常,特殊的I/O指令允许在这些寄存器和系统内存之间进行数据传输。为了允许对这些I/O设备更方便的访问,许多计算机体系结构都提供内存映射I/O,内存地址的一块范围被单独分开,并映射到设备管理器。通过读写这些内存地址就能实现与设备寄存器之间的数据传输。

I/O结构

通用计算机系统有一个cpu和多个设备控制器组成,他们通过共同的总线连接起来。每个设备控制器负责特定类型的设备,可有多个设备与其连接。设备控制器维护一定量的本地缓冲存储和一定用途的寄存器。设备控制器负责在其所控制的外部设备与本地缓存之间进行数据传递。通常操作系统为每个设备控制器提供一个设备驱动程序。

为了开始I/O操作,设备驱动程序在设备控制器中装载适当的寄存器。相应的,设备控制器检查这些寄存器的内容以决定采取什么操作(如从键盘读取一个字符),控制器开始从设备向本地缓存传输数据,一旦数据传输完成,设备控制器会通过中断告诉驱动程序已完成操作,然后,驱动程序返回对操作系统的控制。

一旦I/O开始,就可能有两种行动过程。对于最简单的情况,开始进行I/O,在I/O完成后,控制权返回给用户进程,这种情况称为同步I/O。另一种可能,称为异步I/O,无须等待I/O完成,就将控制权返回给用户程序。接着I/O继续进行,同时其他系统操作照常进行。

等待I/O完成可以采用:wait指令使cpu空闲直到下一个中断开始。等待循环。

一种更好地选择是开始I/O之后,就继续执行其他操作系统或者用户程序代码。如果需要,系统调用就要允许用户程序等待I/O的完成。如果没有用户程序就绪可执行,操作系统也没有其他工作可做,那么需要wait或空闲循环以及能够在同一时刻跟踪多个I/O请求,为此,操作系统采用了设备状态表。

这种I/O中断驱动适合少量数据,DMA(直接内存访问)可以用于大量数据移动,设备控制器能在本地缓冲和内存之间传送一整块数据,而无需cpu的干预,且每块只产生一个中断,而不是一个字节一个中断。

目录
相关文章
|
4天前
|
安全 算法 Unix
深入浅出操作系统:从基础概念到实践应用
【10月更文挑战第22天】本文旨在以浅显易懂的语言,为读者揭开操作系统的神秘面纱。我们将从操作系统的基本概念出发,逐步深入其核心功能与设计哲学,并通过具体代码示例,展示操作系统如何在实际中发挥作用。无论你是计算机科学的学生,还是对技术有浓厚兴趣的爱好者,这篇文章都将为你提供一次轻松愉快的操作系统之旅。
16 4
|
26天前
|
Ubuntu Java Linux
Linux操作系统——概念扫盲I
Linux操作系统——概念扫盲I
36 4
|
2月前
|
存储 算法 安全
深入理解操作系统:从基础概念到代码实践
【9月更文挑战第23天】本文将带领读者深入探索操作系统的奥秘,从基础概念出发,逐步揭示操作系统的工作原理和设计哲学。我们将通过实际代码示例,展示操作系统如何与硬件交互、管理资源以及提供用户界面。无论你是计算机专业的学生还是对操作系统感兴趣的开发者,这篇文章都将为你打开一扇通往操作系统世界的大门。
66 16
|
6月前
|
存储 程序员
操作系统(15)-----I/O设备管理(万字总结~)(4)
操作系统(15)-----I/O设备管理(万字总结~)
69 2
|
6月前
|
存储 Unix 人机交互
操作系统(15)-----I/O设备管理(万字总结~)(1)
操作系统(15)-----I/O设备管理(万字总结~)
73 2
|
6月前
|
存储 网络协议 程序员
操作系统(15)-----I/O设备管理(万字总结~)(2)
操作系统(15)-----I/O设备管理(万字总结~)(2)
73 1
|
6月前
|
存储 缓存 Linux
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
|
4月前
|
人工智能 Unix 物联网
深入理解操作系统:从概念到实践
【7月更文挑战第31天】本文将带领读者深入探索操作系统的世界,从基本概念、发展历程、核心组件,到实际应用场景和未来趋势。我们将揭示操作系统如何作为软件与硬件之间的桥梁,以及它如何影响计算机系统的性能和用户体验。通过本文,您将获得对操作系统设计哲学的深刻理解,并掌握评估不同操作系统特性的能力。
72 7
|
4月前
|
算法 安全 Linux
深入理解操作系统:从基础概念到现代发展
【7月更文挑战第25天】在数字时代的心脏,操作系统(OS)扮演着至关重要的角色。本文将深入探讨操作系统的核心功能、设计哲学以及它们如何适应不断变化的技术需求。我们将从早期的批处理系统和多道程序设计开始,逐步走向现代的多任务、多用户操作系统,并探索它们是如何管理资源、提供安全性和促进用户交互的。文章还将触及开源与专有操作系统之间的辩论,并预测未来可能的发展方向。
|
4月前
|
存储 安全 物联网
深入理解操作系统:从基础概念到现代挑战
【7月更文挑战第14天】本文将探索操作系统的核心概念,并分析其在现代计算环境中面临的挑战。我们将从操作系统的定义和功能出发,逐步深入到进程管理、内存管理、文件系统以及并发和同步等关键领域。文章还将讨论操作系统在云计算、物联网(IoT)和安全性方面的新挑战,为读者提供对操作系统复杂性的全面理解和未来发展方向的洞见。
59 1