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

简单理解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软件

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值