当前位置:首页 > CN2资讯 > 正文内容

windows10部署安装iotdb

10小时前CN2资讯



操作系统——I/O设备

  • I/O设备的基本概念和分类
  • I/O控制方式
  • I/O软件层次结构
  • I/O核心子系统
  • 假脱机技术
  • 设备的分配与回收
  • 缓冲区管理



       操作系统(OS)这门学科在计算机领域有着很重要的作用,作为计算机硬件和软件的临界者,对计算机发展有着很重要的意义,随着时代的不断发展,越来越多的操作系统进入大众视野,无论是大家耳熟能详的Windows、MAC,抑或是程序员口中经常念叨的Linux。除了电脑操作系统,手机中的鸿蒙、苹果、安卓也是大家关注的热点,因此要想在计算机领域有所造诣,操作系统是必须要了解掌握的一门学科,因此在这里借助平台,跟大家分享一下我学习操作系统的经验和笔记,用十天的时间来和大家梳理和整理这门学科,让我们一起探索其中的奥秘,享受知识带给我们的快乐吧!!!

I/O设备的基本概念和分类

按功能划分:
(1)人机交互类外部设备
鼠标、键盘、打印机……数据传输速度慢
(2)存储设备
移动硬盘、光盘……数据传输速度快
(3)网络通信设备
调制解调器……数据传输速度适中

按传输速率划分:
(1)低速设备
鼠标、键盘……传输速率为每秒几个到几百字节
(2)中速设备
激光打印机……传输速率为每秒数千甚至上万字节
(3)高速设备
磁盘……传输速率为每秒数千甚至千兆字节

I/O控制器

CPU和机械设备之间的“中介”

  • I/O控制器可能会对应多个设备
  • 内存印象I/O:让寄存器占用内存地址的一部分
  • 寄存器独立编址:采用I/O专用地址

I/O控制方式

(1)程序直接控制方式


整个过程要进行轮询方式,CPU不断介入检查

传输单位为:字

数据流向:

  • 读操作:I/O设备 -> CPU -> 内存
  • 写操作:内存 -> CPU -> I/O设备

CPU和I/O设备只能串行工作,CPU需要一直轮询检查,长期处于“忙等”状态,CPU利用率低

(2)中断驱动方式


引入中断机制,可以将等待I/O进程阻塞,CPU检测到中断信号,进行中断处理。

CPU和I/O设备并行运行(3)DMA方式(直接存储器存取)

数据传输单元是“块”

数据的流向是从设备直接放入内存,或者从内存直接到设备。

CPU干预只在开始和结束

(4)通道控制方式

通道:一种硬件,弱鸡版的“CPU”,可以识别并执行一系列通道指令

I/O软件层次结构

  • 用户层软件:
    实现与用户交互的接口,用户可以直接使用该层提供的、与I/O操作相关的库函数对设备进行操作
  • 设备独立性软件:
    将用户请求翻译成格式化I/O请求,并通过“系统调用”请求操作系统内核服务
  • 设备的保护
  • 差错处理
  • 设备的分配与回收
  • 数据缓冲区管理
    建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序(建立逻辑设备表LUT)
  • 设备驱动程序:
    不同的设备有不同的硬件特性,所以要控制不同的设备要进行不同的驱动程序
  • 中断处理程序:
    I/O任务完成时,I/O控制器会发送一个中断信号,系统跟你局中断信号类型找到相应的中断处理程序

I/O核心子系统

假脱机技术

批处理阶段引入了脱机输入/输出技术

  • 输入缓冲区:用于暂时存放输入设备输入的数据,之后转存到输入井中
  • 输出缓冲区:用户暂时存放从输出井送来的数据,之后载传送至输出设备上

输入\输出缓冲区属于内存
输入井\输出井属于磁盘

共享打印机原理:
多个用户进程申请打印请求,系统答应后不会直接分配打印资源,而是进行两个准备:
【1】在磁盘输出井中为进程申请一个空闲缓冲区,用来存放要打印的数据
【2】为用户申请填写打印请求表,将请求表挂到假脱机队列上等待

设备的分配与回收

设备的固有属性

  • 独占设备:一个时段只能分配给一个进程(如打印机)
  • 共享设备:可同时分配多个进程使用(如:磁盘),各进程往往是宏观上同时共享使用设备而微观上交替使用
  • 虚拟设备:采用SPOOLing技术将独占设备改造成虚拟的共享设备,可以同时分配给多个进程使用

设备分配算法

  • 先来先服务
  • 优先级高者优先
  • 短任务优先

设备分配中的安全性

  • 安全分配方式:为进程分配一个设备后就将进程阻塞,本次I/O完成后才将进程唤醒(一个时间段只能使用一个设备,对于进程来说,CPU和IO设备只能串行工作)
  • 不安全分配方式:进程放出I/O请求,系统为其分配I/O设备,进程可以继续执行。只要某个I/O请求的布袋满足时才将进程阻塞(计算任务和IO任务可以并行处理,有可能发生死锁)
  • 静态分配
    进程运行之前分配所有需要的资源,运行结束后归还
  • 动态分配
    进程运行中动态申请设备资源

设备分配管理中的数据结构
“设备”、“控制器”、“通道”

  • 设备控制表(DCT):系统为每个设备配置一张(DCT):系统为每个设备配置一张DCT,用于记录设备情况
    (设备类型、设备标识符、设备状态、指向控制器表的指针、重复执行次数和时间、设备队列的队首指针)
  • 控制器控制表(COCT):每个设备控制器都会对应一张COCT,操作系统根据COCT的信息对控制器进行操作和管理
    (控制器标识符、控制器状态、指向通道表的指针、控制器队列的队首指针、控制器队列的队尾指针)
  • 通道控制表(CHCT):每个通道都会对应一张CHCT,根据CHCT的信息对通道进行操作和管理
    (通道标识符、通道状态、与通道连接的控制器表首址、通道队列的队首指针、通道队列的队尾指针)
  • 系统设备表(SDT):记录了系统中全部设备的情况,每个设备对应一个表目
  • 表目(设备类型、设备标识符、DCT、驱动程序入口)

设备分配改进的步骤:
1、根据进程请求的逻辑设备名查找SDT(逻辑设备名其实就是“设备类型”)
2、查找SDT,找到用户进程指定类型的、并且空闲的设备,将其分配给该进程。操作系统在逻辑设备表(LUT)中新增一个表项
3、根据DCT找到COCT,若控制器忙碌则将进程PCB挂到控制器等待队列中,不忙碌则将控制器分配给进程
4、根据COCT找到CHCT,若通道忙碌则将进程PCB挂到通道等待队列中,不忙碌则将通道分配给进程

只有设备、控制器、通道三者都分配成功时,这次设备分配才算成功,之后便可以启动IO设备进行数据传送
整个系统只有一张LUT:各用户所用的额逻辑设备名不重复,适用于单用户操作系统
每个用户一张LUT:不同用户的逻辑设备名可重复,适用于多用户操作系统

缓冲区管理

缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可以利用内存作为缓冲区。

  • 单缓冲:操作系统会在主存中为其分配一个缓冲区(一个缓冲区的大小就是一个块)
  • 双缓冲:操作系统会在主存中为其分配两个缓冲区
    实现同一时刻双向的数据传输
    管道通信中的“管道”其实就是缓冲区。要实现数据的双向传输,必须设置两个管道
  • 循环缓冲区:将许多个大小相等的缓冲区链接成一个循环队列
  • 缓冲池:由系统中共用的缓冲区组成。
    这些缓冲区可以分为:空缓冲队列、装满输入数据的缓冲队列、装满输出数据的缓冲队列

用于收容输入数据的工作缓冲区(hin)、用于提取输入数据的工作缓冲区(sin)、用于收容输出数据的工作缓冲区(hout)、用于提取输出数据的工作缓冲区(sout)

1、输入进程请求输入数据

2、计算进程想要取得一块输入数据

3、计算进程想要将准备好的数据冲入缓冲区

4、输出进程请求输出数据

***

      第十天的学习到这里就结束了,不知道小伙伴们收获如何呢?欢迎评论区交流学习,也恳请各位批评指正!!

      操作系统其实就是计算机中的一个大管家,这个大管家有着很多很厉害的角色(就像谍战片里面的大府中的老管家一样),因此学习操作系统这门课,就像是在欣赏一部谍战片,要想理解角色内涵,你就必须站在其角度去思考,思考其可能会遇到的危险以及应对策略(bug与bug的修复),这样你才能在凶险的代码江湖生存下来,成为一代英雄,留下你的印记,期待与各位在江湖的相遇,也希望大家能给作品一个三连!!


本文参考教材:王道考研——操作系统(配套PDF文件,点赞留言后私信我发你)
教材配套讲解视频:b站链接




    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/28282.html

    分享给朋友:

    “windows10部署安装iotdb” 的相关文章

    如何在甲骨文云服务器中轻松添加IPv6,提升网络效率与安全性

    甲骨文云服务器(Oracle Cloud Infrastructure)是一款功能强大的云计算平台,提供了从虚拟化到数据分析、存储、网络和安全性的全方位服务。它的设计理念是帮助用户灵活应对业务需求,同时确保数据的高效处理和安全性。无论是企业还是个人用户,甲骨文云服务器都能提供定制化的解决方案,满足不...

    甲骨文云的永久免费服务:开发者的理想选择

    在现代云计算的环境中,甲骨文云(Oracle Cloud)作为一种强有力的云计算服务,凭借其永久免费服务吸引了许多用户。回想我初次接触甲骨文云时,正是被它提供的多种Always Free服务所吸引,比如我可以免费使用2个实例和20GB的存储空间。这让我在学习和开发上有了更加广阔的可能性,不用担心一开...

    IPv6 测速方法与工具:提升网络体验的技巧

    IPv6 测速的基本概念 IPv6,作为互联网协议的最新版本,让我们在网络世界中畅游无阻。它的推出旨在解决IPv4所面临的地址枯竭问题,推进更加广泛的设备连接。简单来说,IPv6提供了更大的地址空间,能够支持越来越多的设备上线。因为万物互联的时代已经来临,我们的手机、电脑、家居设备甚至汽车都需要连接...

    选择合适的SSH连接工具以提升远程管理效率和安全性

    在当今的网络环境中,SSH连接工具扮演着重要角色。简单来说,SSH连接工具是一种应用程序,用于通过SSH协议安全地连接和管理远程服务器。想想看,当我们需要与服务器进行交互、执行命令或者上传文件时,这些工具就变得尤为重要。 我记得第一次使用SSH连接工具的时候,是为了管理一台远程服务器。能够通过简单的...

    美国原生IP的优势和购买指南

    什么是美国原生IP 说到美国原生IP,首先要知道它是什么。原生IP(也称为本地IP)指的是通过互联网服务提供商(ISP)直接分配给用户的IP地址。这种IP地址通常代表了某个特定的地理位置。当我说“美国原生IP”时,实际上我是在提到那些位于美国本土的IP地址。这使得它们在访问某些当地内容或进行地域特定...

    阿里云助力深港经济一体化与科技创新

    深港合作背景 深港合作的背景相对复杂。深圳和香港,作为中国南方的两个重要城市,在经济、科技等领域有着紧密的联系。近年来,随着国家对粤港澳大湾区的重视,深圳和香港的合作进入了一个新的阶段。在这样的环境下,科技和创新被推到了风口浪尖,成为推动这两个城市发展的核心动力。可以说,深港一体化不仅是资源的整合,...