简单理解OS结构设计以及操作系统之设备管理

    xiaoxiao2021-07-17  223

    文章目录

    简单理解OS操作系统结构设计+操作系统之设备管理一.OS设计结构:三种结构:1.无结构操作系统2.模块化的结构3.分层式结构微内核操作系统结构 二.设备管理1. I/O系统**1.1简单概述**1.2. I/O设备类型**1.2.5.设备与控制器之间的接口** 2.设备控制器2)设备控制器的组成 3.I/O通道4.I/O控制方式1.程序I/O方式2.中断驱动I/O方式**3.DMA I/O控制方式** 5.缓冲管理1.缓冲引入2.单缓冲和双缓冲3.循环缓冲4.缓冲池 6.I/O软件

    简单理解OS操作系统结构设计+操作系统之设备管理

    一.OS设计结构:

    三种结构:

    1.无结构操作系统

    早期系统还不太大,主要致力于提高功能的实现和获得较高的效率.因此没有注意设计结构,而是一个整体的.

    2.模块化的结构

    随着操作系统规模越来越大,之前无结构的设计模式,会使得操作系统越来越复杂混乱,不利于后期维护人员的维护.因此出现了模块化设计结构.它按功能划分为各个独立性的模块,比如进程管理模块,存储器管理模块,I/O设备管理模块,算数逻辑模块等.这样结构清晰,利于管理.

    3.分层式结构

    设计基本原则:每一步设计都是建立在可靠的基础上,保质保量.每一层仅能使用更低一层提供的服务和功能.这样就使系统更容易调试和管理. 缺点就是: 效率变低.由于层与层之间是单向依赖的,相邻层之间需要建立通信机制,os每执行一个功能都需要自上而下穿越多个层次,必将造成操作系统的开销和消耗.

    微内核操作系统结构

    微内核并非一个完整的OS,它只是操作系统中最基本的部分.他只是为了构建其他操作系统的基础.其他系统在此基础上,扩展. 微内核主要功能: 1.实现与硬件的紧密处理 2.实现一些基本的功能

    二.设备管理

    设备管理得主要功能有 缓冲区管理,设备分配,设备处理,虚拟设备以及实现设备独立性。

    说到设备管理,那么就该想到I/O。

    1. I/O系统

    1.1简单概述

    输入/输出(Input /Output ,简称I/O),指的是一切操作、程序或设备与计算机之间发生的数据传输过程。

    输入/输出系统(Input/Output System) ,实现数据得输入,输出以及数据存储得系统。

    输入/输出设备,就是指可以与计算机进行数据传输的硬件。

    最常见的I/O设备有打印机、硬盘、键盘和鼠标。

    从严格意义上来讲,它们中有一些只能算是输入设备(比如说键盘和鼠标);有一些只是输出设备(如打印机)。

    所有储存器也可以算是输入/输出设备。如硬盘、软盘、光盘,U盘等。

    1.2. I/O设备类型

    1.2.1按照使用特性分类:

    (1).存储器设备

    这里得存储器设备指的是外存储设备,也叫外存和辅助存储器,通俗讲,就是硬盘,U盘,等外部存储器。

    (2).输入输出设备(外界能与计算机进行数据交互得设备)

    输入设备有:鼠标,键盘,扫描仪,视频摄像和各类传感器。

    输出设备通常是由计算机加工处理后的信息送向外部的设备,比如打印机,显示器,音响。

    1.2.2按照传输速率分:

    (1).低速设备(2).中速设备(3).高速设备

    1.2.3.按信息交换的单位

    (1).块设备。数据的存取是以数据块为单位,属于结构设备。

    磁盘属于典型的块设备,每个盘块大小为512kb–4kb。这样传输速率较高。

    (2)字符设备。基本单位是字符。字符设备 种类繁多,比如打印机。

    1.2.4.按照共享属性

    (1).独占设备。

    一段时间内只允许一个用户进程访问的设备,叫独占设备,也叫独占资源,临界资源。

    打印机一段时间内不能同时打印及几个东西,只能一个东西打印完后,再打印。

    打印机属于独占设备

    (2).共享设备

    一段时间内允许多个用户进程访问的设备。但是对于每一时刻而言,这类设备仍然只允许一个进程访问。

    共享设备常见的是磁盘。一段时间内可以有多个用户程序进行数据的传输交换。比如 在这一段时间内,我既可以存qq的数据,然后我又存一些微信的数据。

    (3)虚拟设备

    因为一些独占设备,只能一个进程一个进程的访问,因此我们可以虚拟化出另一个同样的设备出来,这样就可以供多个用户程序使用了。

    1.2.5.设备与控制器之间的接口

    cpu由算术逻辑单元(ALU)和寄存器(小块内存)以及RAM(随机存取存储器设备,也叫内存)构成,可见他的功能负责对数据进行运算。

    设备需要与cpu之间进行数据传输,也就是两者之间需要通信。但是设备不是之间与cpu之间进行通信,,而是与设备控制器通信,因此在I/O设备中需要有能与设备控制器进行通信接口。

    设备与设备控制器之间的通信又需要几种控制线进行控制。

    1)数据信号线,顾名思义,就是设备控制器与设备之间传送数据的信号。

    对于输入设备而言,数据都是先放到缓冲器中,达到一定字节之后,才会交给设备管理器处理。

    对于输出设备,数据由设备管理器通过数据信号线,传送到缓冲中,经转换器适当转换后再逐个输出。

    2)状态控制控制线

    控制操作的。比如 控制这个设备一直进行读操作。

    3)状态信号线

    传送当前设备的状态的信号。比如 想设备管理器传送,这个打印机设备还在打印。

    2.设备控制器

    1)设备控制器是一个实体,不是一串代码,他的功能就是处理一个或多个设备与计算机之间的数据交换。

    我们之前说过,设备并不是直接与计算机之间进行数据交换,而是通过先和设备管理器进行交流,其次,设备管理器与cpu之间进行数据交换。

    设备的不同类,导致设备控制器也有诸多类。不同类的设备控制器类别还比较大。

    2)设备控制器的组成

    大多数控制器都有三部分组成

    1.设备控制器与处理机之间的接口

    2.设备控制器与设备的接口

    3.I/O逻辑

    设备控制器能进行一些简单的数据处理,分担了一些cpu的任务,而处理数据必不可少的就是逻辑运算的能力。因此设备控制器还有简单的I/O逻辑。

    3.I/O通道

    cpu处理繁复的I/O操作,必然负担很重,因此我们希望能将cpu从其中解脱出来,让cpu由时间处理其他的数据。

    由此,出现了设备控制器,管理控制设备与cpu之间的数据处理。=,同时也替cpu分担了些数据处理的任务。

    但,远远不够,cpu负担仍然很重。。。。

    由此,我们在cpu与设备之间设置了I/O通道。

    这个通道的作用就是替cpu处理设备传送过来的数据,这个通道是一种特殊的处理机,能够执行I/O指令。

    比如,我在键盘上,输入“你好”,然后通道就处理这个指令,将“你好”两个字显示在屏幕上。

    总的来说,它就是一种特殊的处理机,替cpu处理了一些I/O操作。

    4.I/O控制方式

    1.程序I/O方式

    2.中断驱动I/O方式

    程序的运行是靠进程,当进程需要某个设备进行启动时,cpu向相应的设备控制器发出指令,然后设备控制器控制设备的启动,cpu仅仅只是发出一条I/O命令给设备控制器,之后就不管了,继续执行自己的任务。当设备数据传输完之后,cpu才再次出来,发送一条I/O中断命令。

    中断驱动方式,是以字节为单位进行数据传输的,因此中断驱动方式比较低效,

    比如读取磁盘中1kb的数据,需要cpu中断1k次。因此后面引入DMA I/O控制方式

    3.DMA I/O控制方式

    这种方式传输数据的基本单位是数据块,传送的数据都是直接从设备到内存,较之以往,以字节为单位,效率高得多。

    5.缓冲管理

    1.缓冲引入

    2.单缓冲和双缓冲

    3.循环缓冲

    4.缓冲池

    6.I/O软件


    最新回复(0)