`
lobin
  • 浏览: 417802 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于os的一些整理:第八篇:输入输出子系统

 
阅读更多

输入输出子系统

输入输出子系统是os或内核系统中非常核心的模块。和进程管理,内存管理一样重要。

 

通常我们理解的输入和输出指的是通过键盘输入,更高级的就是通过鼠标操作控制的输入方式。输出就是在屏幕控制台的输出,图形界面系统下的窗口显示也是一种高级的输出方式。

 

标准输入输出

标准输入输出相关设备主要包括用于输入的键盘和鼠标以及用于输出的显式屏幕。其中和显式屏幕相关的一个重要外设就是显卡,显式屏幕用于显示可视的文字、图像等。和键盘和鼠标相关的一个重要外设就是PS/2控制器。还有一个用于输入输出声音的外设,声卡。

 

除了标准输入输出,还有很多其他的输入输出。

 

其他输入

 

其他输出

如输出写入到文件就是一种很常见的输出方式。在输出写入文件的时候,还会涉及到磁盘操作,文件数据最终是要存到磁盘中的,如硬盘,软盘等,这个磁盘写入操作也是一种底层的输出方式。

 

当然还有很多。

 

当然我们也可以设计成所有的输入输出都抽象成文件的读写方式。

 

输入输出缓冲区

用于对用户输入输出的缓冲。

 

输入缓冲区

 

输出缓冲区

 

 

输入输出子系统的工作状态

这里主要针对的是输入的,当调用了IO需要用户输入的时候,将阻塞等待用户输入完成之后才能继续往下运行。

 

如调用scanf函数后,会等待用户输入。

 

控制台下提示用户输入

 

另一种就是在编辑文档的时候,在编辑状态下接受用户输入去编辑文档。

 

可输入和不可输入状态

 

输入输出相关状态

这里主要描述输入输出时相关设备外设,设备抽象,输入输出抽象的读写状态以及输入输出相关进程的状态。对于底层硬件外设,输入输出时的状态涉及到很多硬件细节,会比较复杂。在对外设设备进行抽象时,会对这块的细节进行抽象。当然,输入输出抽象也是一种对硬件外设在输入输出时的一种抽象。

 

正在读

 

正在写

 

挂起

这个是输入输出进程的一个状态。

 

IO

 

标准输入输出

 

Input

 

Output

 

主要用于键盘,鼠标的输入和显卡,屏幕的输出。

键盘读写

 

鼠标读写

 

显卡读写

 

磁盘读写

包括软盘和硬盘,以及其他存储设备的读写,如移动硬盘,u盘等。

 

软盘读写

 

硬盘读写

 

 

文件读写

 

Read

 

Write

 

USB读写

 

IO抽象

操作系统层面,所有IO都抽象成一个对设备的IO操作。应用层面,所有设备都抽象为一个文件,所有IO都抽象成一个对文件的IO操作。

网卡读写

 

 

网络IO 

 

管道读写

 

 

输入输出子系统在os或者内核中的位置

 

 

 

如果提供抽象文件操作的方式,按照文件io操作方式进行读写,否则,调用相关驱动接口进行读写操作。如果没有提供相关驱动,调用外设相关接口或抽象设备接口完成读写操作。

 

 

分享到:
评论

相关推荐

    第八章输入输出操作的实现1

    第八章的讨论主要聚焦在输入输出(I/O)操作的实现上,这涵盖了从用户空间的软件I/O到内核空间的硬件与软件接口。I/O操作是计算机系统中至关重要的一部分,因为它允许程序与外部设备如键盘、显示器、硬盘等进行通信...

    考研:计算机操作系统第三版,汤小丹,西安电子科技出版社版本 课后习题答案!真的全都有

    联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 六、分时系统的形成和发展 分时系统的形成和发展是为了更好地满足用户的需要。主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机...

    操作系统电子课件

    8. 实时操作系统: - 特点:响应时间快,满足实时性要求。 - 应用场景:航空航天、工业控制、医疗设备等。 9. 分布式操作系统: - 整个系统由分布在不同地理位置的多台计算机组成,相互协作完成任务。 - 特点:...

    Mac OS X and iOS Internals

    第八章详细解析了 OS X 和 iOS 内核的架构,包括 XNU(XNU 是 OS X 和 iOS 内核的核心名称)。XNU 结合了 Mach 微内核、BSD 层和 I/O Kit 的功能,这部分内容对于理解内核如何管理和调度资源至关重要。 ##### 3.2 ...

    os211:操作系统2021-1

    5. **第六周**:这周可能讲解输入/输出(I/O)管理,包括I/O设备的分类、中断驱动I/O、DMA(Direct Memory Access)、缓冲技术以及I/O子系统的层次结构。 6. **第七周**:可能会讨论操作系统的安全性和可靠性,包括权限...

    操作系统西安电子第二版教材答案

    ### 操作系统西安电子第二版教材答案解析 #### 第一章 概述 ##### 1. 设计现代OS的主要目标是什么? 现代操作系统的四大主要设计目标包括: - **方便性**:提供简单易用的界面,使用户能够方便地访问和使用计算机...

    计算机英语词汇:计算机基础知识.pdf

    - Terminal:终端,用于数据输入输出的设备,通常指的是用户与计算机系统通信的界面。 9. 计算机外围设备与配件: - Peripheral:外围设备,连接到计算机的外部设备,如打印机、扫描仪等。 - Accessory:配件,...

    嵌入式操作系统原理与应用教案

    #### 第三课:嵌入式实时操作系统μC/OS-II **知识点十一:μC/OS-II概述** - **定义**: μC/OS-II是一种面向嵌入式系统的实时操作系统。 - **特点**: 轻量级、可移植性强、实时性好。 - **应用**: 适用于对实时性...

    操作系统展望-翼辉信息董事长、SylixOS 嵌入式操作系统创始人韩辉.pdf

    5. “GPIO/mtd/AHCI/TPS/NFS/romFS/ramFS/...”涵盖了硬件接口和文件系统类型,如通用输入输出端口(GPIO)、内存技术设备(MTD)、高级主机控制器接口(AHCI)等。 6. “SPI/USB/PIPE/1553B/CAN/SPI/I2C”列举了...

    《计算机操作系统(第四版)答案》

    联机 I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 五、分时系统的形成和发展 分时系统的形成和发展是为了满足用户的需求,主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互...

    操作系统 西安电子科技大学版本

    操作系统(Operating System, OS)是计算机系统的核心组成部分,负责管理和调度系统中的各种资源,如处理器、内存、输入/输出设备等。OS 提供了用户接口,使得用户能够方便地与计算机进行交互,同时也为应用程序提供...

    计算机操作系统课后答案

    本资源摘要信息是关于计算机操作系统第三版课后答案的详细知识点,这些知识点涵盖了操作系统的基本概念、设计目标、OS 的作用、计算机资源的抽象、多道批处理系统、分时系统、实时操作系统等方面。 1. 设计现代 OS ...

    Symbian塞班操作系统

    Symbian系统的硬件配置通常包括中央处理器(CPU)、只读存储器(ROM)、随机访问存储器(RAM)、输入输出设备(IO设备)和电源。其中,32位处理器是运行Symbian系统的核心;ROM存储系统软件和预装应用;RAM用于运行...

    unix-os教学课件第五章shell程序设计.ppt

    本文档是关于Unix操作系统中的Shell程序设计的教程,主要涵盖了以下几个核心知识点: 1. **Shell编程的基本知识**:Shell程序主要用于自动化执行重复或复杂的任务,尤其适用于系统管理员进行系统管理。Shell脚本是...

    windows 操作系统

    - **子系统**:Windows支持多种子系统,如POSIX子系统、OS/2子系统等,以便于运行不同类型的程序。 - **服务**:服务是指后台运行的进程,为用户提供特定的功能,如打印服务、安全服务等。 #### 三、Windows操作...

    Shell_Programming_in_Unix, Linux and OS X, 4th Ed.zip

    《Unix、Linux和OS X下的Shell编程》第四版是一本深受程序员喜爱的经典教程,它深入浅出地介绍了Shell编程的基础和高级技巧。Shell是Unix、Linux和Apple的OS X操作系统中的命令行界面,也是系统管理员和开发者的强大...

Global site tag (gtag.js) - Google Analytics