操作系统概念学习笔记 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的干预,且每块只产生一个中断,而不是一个字节一个中断。

时间: 2024-08-02 08:39:53

操作系统概念学习笔记 3 存储结构和I/O结构的相关文章

操作系统概念学习笔记 8 进程

操作系统概念学习笔记 8 进程 概念 进程 进程是执行中的程序,这只是非正式的说法.进程不只是程序代码,程序代码称为文本段(代码段),还包括当前活动,通过程序计数器的值和处理器寄存器的内容来表示.此外,进程还包括进程堆栈段(临时数据.函数参数.局部变量.地址)和数据段(包括全全局变量.还可能包括堆(leap),是在进程运行期间动态分配内存. 程序是被动实体,如存储在磁盘上包含一系列指令的文件内容(可执行文件),而进程是一个活动实体,他有一个程序计数器来表示下一个要执行的命令和相关资源集合. 虽然

操作系统概念学习笔记 12 进程同步(二)管程

操作系统概念学习笔记 12 进程同步(二) 管程 基本的.高级的同步构造,即管程(monitor)类型. 使用: 管程类型提供了一组由程序员定义的.在管程内互斥的操作.管程类型的表示包括一组变量的声明(这些变量的值定义了一个类型实例的状态)和对这些变量操作的子程序和函数的实现.管程的类型表示不能直接为各个进程所使用.因此,在管程内定义的子程序只能访问位于管程内那些局部声明的变量和形式参数.类似的,管程的局部变量能被局部子程序访问. 管程结构确保一次只有一个进程能在管程内活动.不需要显示的编写同步

操作系统概念学习笔记 16 内存管理(二) 段页

操作系统概念学习笔记 16 内存管理 (二) 分页(paging) 分页(paging)内存管理方案允许进程的物理地址空间可以使非连续的.分页避免了将不同大小的内存块匹配到交换空间上(前面叙述的内存管理方案都有这个问题,当位于内存中的代码和数据需要换出时,必须现在备份存储上找到空间,这是问题就产生了.备份存储也有前面所述的与内存相关的碎片问题,只不过访问更慢). 传统上,分页支持一直是由硬件来处理的.最近的设计是通过将硬件和操作系统相配合来实现分页. 基本方法 实现分页的基本方法设计将物理内存分

操作系统概念学习笔记 11 进程同步(一)

操作系统概念学习笔记 11 进程同步(一) 互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据.维护一致性的问题,即进程同步. 从底层到高级应用,同步机制依次有临界区.信号量.管程.原子事务. 多个进程并发访问和操作同一数据且执行结果与访问发生的特定顺序有关,称之为竞争条件(race condition). 临界区(critical section) 每个进程有一个代码段称为临界区(critical section),在该区中进程可能改变共同变量.更新一个表或写

操作系统概念学习笔记 7 操作系统结构

操作系统概念学习笔记 7 操作系统结构 系统设计 设计目标 系统设计的第一个问题是定义系统的目标与规格.在最高层,系统设计受到硬件选择和系统类型的影响. 需求可以分为两个基本类:用户目标和系统目标 策略和机制 操作系统设计的重要原理是策略(policy)和机制(mechanism)的区别.机制决定如何做,策略决定做什么.策略可能会随着时间或位置而有所改变,每次改变都可能需要底层机制的改变.系统更需要通用机制.这样策略的改变只需要重定义一些系统参数. 操作系统重要功能的改善可能是由于更好的数据结构

操作系统概念学习笔记 1 加电引导过程

操作系统概念学习笔记 1 加电引导过程 加电-引导程序(bootstrap program) 引导程序通常位于ROM或EEPROM中,引导程序必须定位操作系统内核并把它装入内存,接着操作系统开始执行第一个进程如init并等待事件的发生. 简单来说即:1,电自检程序.2,自举装入程序.3,引导程序.4,操作系统 流程图: linux系统为例: 1.加电并且启动BIOS 加电:把电源按钮按下去,主板通电后会启动BIOS. 2.BIOS到要引导的存储设备 BIOS启动之后会先进行POST(short

操作系统概念学习笔记 15 内存管理(一)

操作系统概念学习笔记 15 内存管理(一) 背景 内存是现代计算机运行的中心.内存有很大一组字或字节组成,每个字或字节都有它们自己的地址.CPU根据程序计数器(PC)的值从内存中提取指令,这些指令可能会引起进一步对特定内存地址的读取和写入. 一个典型指令执行周期,首先从内存中读取指令.接着该指令被解码,且可能需要从内存中读取操作数.在指令对操作数执行后,其结果可能被存回到内存.内存单元只看到地址流,而并不直到这些地址是如何产生的(由指令计数器.索引.间接寻址.实地址等)或它们是什么地址(指令或数

操作系统概念学习笔记 2 系统中断

操作系统概念学习笔记 2 系统中断 概述 现代操作系统是中断驱动的.如果没有进程可执行,没有I/O设备可服务,没有用户可响应,那么操作系统就会安静的等待事件的发生. 事件的发生几乎总是通过中断或者陷阱来表征的. 陷阱(trap)或异常(exception)是因错误(如除0.非法访问内存)或者用户程序(执行操作系统服务)的特定请求所引起的软件生成中断. 对于中断,硬件可以随时通过系统总线向cpu发出信号,触发中断. 软件通过执行系统调用的特别操作触发中断. 对于每种类型的中断,操作系统都有一段独立

操作系统概念学习笔记 5 操作系统管理简述

操作系统概念学习笔记 5 操作系统管理简述 进程管理 处于执行中的程序被称作进程. 进程需要一定的资源(包括cpu时间.内存.文件.I/O设备)来完成任务.这些资源可以在进程创建时分配给进程,也可以在执行时分配给进程.除了在创建时得到各种物理和逻辑资源外,进程还可以接受传输过来的各种初始化数据. 程序本身并不是进程,程序是被动的实体.而进程是活动的实体.进程是系统工作的单元. 单线程进程具有一个程序计数器来明确下一个执行的指令,直到进程终止. 在任何时候,最多只有一个指令代表进程被执行.因此,尽