计算机操作系统-02 操作系统的硬件环境及结构

来源:互联网 发布:小日向未来知乎 编辑:程序博客网 时间:2024/05/08 04:13

操作系统的硬件环境及结构

                                                                                                                                     主要讨论操作系统对运行硬件环境的要求

操作系统运行的硬件环境组成:

        中央处理器,存储系统,中断机制,I/O系统,时钟以及时钟队列

一、计算机系统体系结构

二、计算机系统的运行

        I/O设备与CPU可并行运行

        每一设备控制器负责一个设备类型

        每一设备控制器有一局部缓存

        CPU通过局部缓存与主机交换数据

        I/O从设备大设备控制器的局部缓存

        设备控制器通过引起中断通知CPU操作已完成

1、BIOS(基本输入输出系统)概览---开机初始化过程

      a、打开电源

      b、CPU将控制权交给BIOS

      c、BIOS运行一个程序:通电自测程序

      d、BIOS确认所有外设设备:硬盘或扩充卡

      e、BIOS确定主引导程序或初始化程序加载(IPL)设备的位置

       f、BIOS建立系统资源表

     g、选择并启用初始输入设备(键盘)和输出设备(显示器)。BIOS在上次成功启动时俘获这些设备,并存储到NVR中

     h、搜索非PnP设备,如外部设备互连(PCI)总线,并将这些设备的ROM的数据添加到资源表中

     i、BIOS解决设备冲突,并配置选择的引导设备

     j、通过用适当参数呼叫PnP设备的任选ROM来启动这些设备

     k、启动引导装入程序

     l、IPL设备将操作系统转到存储器中

    m、BIOS将控制权交给操作系统,操作系统可以进行其他资源的分配

三、中央处理器(CPU)

     专门设计了一系列基本机制:

     - 具有特权级别的处理器状态,能在不同特权级运行各种特权指令

     - 硬件机制使得OS可以和普通程序隔离,实现保护和控制 

   单机与多处理系统

     如果一个计算机系统只有一个处理器,称之为 单机系统

     如果有多个处理器 称之为 多处理器系统

              (注:一般在不加说明的情况下,说的系统均为单机处理系统)

  指令系统

    早期的微处理器,指令系统的功能相对来说比较弱。

    当代的微处理器,结构非常复杂

1、CPU的构成与基本工作方式

     组成:寄存器,运算器,缓存

2、特权指令和非特权指令

    使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令

     特权指令:只能由操作系统使用的指令

              特权指令一般引起处理器状态的切换:处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态),然后将处理权移交给操作系统中的一段特殊代码,这一过程称为陷入

3、处理器的状态

      根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态

      对数系统将处理器工作状态划分为 管态和目态

              管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、系统态

              目态:用户程序运行时状态,较低的特权级别,又称为普通态(普态)、用户态

      有些系统将处理器状态划分为核心状态,管理状态和用户程序状态(目标状态)三种         

3-1、管态和目态的差别

         处理器处于管态时:全部指令(包括特权指令)可以执行、可以使用所有资源、并具有改变处理器状态的能力

         处理器处于目态时:只有非特权指令能执行(通过系统调用可以从目态转换至管态)

     特权级别不同,可运行指令集合也不同:特权几倍越高,可运行指令集合越大,高特权级别对应的可运行指令集合包含低特权级的

4、 程序状态字PSW

      - CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其他的特殊权力

      - 条件码——反映指令执行后的结果特征

     - 中断屏蔽码——指出是否允许中断  

     CPU状态的转换:

           - 目态---->管态:其转换的唯一途径是通过中断

           - 管态--->目态:可用设置PSW(修改程序状态字)可实现

四、存储系统

         包括:分层的存储体系结构、

                     存储保护能力,为实现用户程序虚拟地址空间隔离和保护提供基础、

                     有效管理各种存储设备、

         作业必须把它的程序和数据存放在主存储器(内存)中才能运行

         多道程序系统中,若干个程序和相关的数据要放入主存储器

         操作系统要管理、保护程序和数据,使它们不至于受到破坏

         操作系统本身也要存放在主存储器中并运行

1、存储器的类型

       两类存储器:

              读写型的存储器(随机访问存储器  RAM):可把数据存入其中任一地址单元,并可在以后的任何时候把数据读出,或者重新存入新的数据的一种存储器

                                          主要用作存放随机存取的程序的数据

             只读型存储器:(只读存储器 ROM):只能从其中读取数据,但不能随意用普通方法写入数据

2、存储器的层次结构

      存储系统设计三个问题:

              容量:需求无止境

              速度:能匹配处理器的速度

              成本:成本和其它部件相比应在合适范围之内

——存储访问局部性原理:稳定或重复的访问存取器的局部区域中存储的数据

       可以实现对存储的容量进行虚拟扩充

3、存储分块

     存储最小单位:”二进位“,包含信息为0或1

     最小编址单位:字节,一个字节包含八个二进制位

     为简化分配和管理,存储器分成块,称一个物理页(page)

     块的大小:512B、1K、4K、8K

——存储保护措施:

       对主存中的信息加以严格的保护,使操作系统及其它程序不被破坏,是其正确运行的基本条件之一

       多用户,多任务操作系统:OS给每个运行进程分配一个存储区域

    ----保护的硬件支持:为了保证软件程序只影响程序的内部硬件可提供如下功能:

              界地址寄存器(界线寄存器)、存储键、地址转换(程序在内存中的位置不是固定的而是随机的----一种硬件的机构)等几种方式,来实现对其保护

五、缓冲技术

      缓冲区是硬件设备之间进行数据传输时,用来暂存数据的一个存储区域

      缓冲技术三种用途:

            处理器与主存储器之间

            处理器和其它外部设备之间

            设备与设备之间的通信

      目的:解决部件之间速度不匹配为问题

六、中断技术

      中断对于操作系统的重要性就像机器中的驱动齿轮一样——有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”

1、中断的概念-1

     指CPU对系统中或系统外发生异常事件的响应

     “中断”名称源于:

              当异步事件发生后,打断了对当前程序的执行而转去处理异步事件,直到处理完了后,再转回原程序中断点继续执行

     异步事件是指无一定时序关系的随机发生事件,如外部设备完成数据传输,实时设备出现异常等

     中断定义:CPU对系统发生的某个事件作出的一种反应

                    CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序

    引入中断的目的:

          解决主机与外设的并行工作问题,提高可靠性,实现多机联系,实现实时控制

    中断特点:中断随机的,可恢复的,自动处理的

2、中断系统的概念

      中断由软硬件协同处理

      中断装置:指发现中断,响应中断的硬件

      中断处理程序:由软件来完成

      中断系统=中断装置+中断处理程序

名词概念:

      中断源:引起中断发生的事件

      中断寄存器:记录中断

      中断字:中断寄存器的内容

      系统堆栈区:在内存开辟的一块区域,用于临时保存现场

3、中断类型-1

     强迫性中断:正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的

            输入/输出(I/O)中断:主要来自外部设备通道

            程序性中断:运行程序中本身的中断(如溢出,缺页中断,缺段中断,地址越界)

            时钟中断

            控制台中断

            硬件故障

     自愿性中断:用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有意使用“访管”指令或系统调用,使中断发生

           执行I/O,创建进程,分配内存

           信号量操作,发送/接收信息

4、中断响应

     通常在CPU执行了一条指令以后,更确切地说,在指令周期最后时刻接收中断请求,或此时扫描中断寄存器

5、中断处理

     简单的中断处理-典型的处理过程:

   (1)设备给处理器发一个中断信号

   (2)处理器处理完当前指令后响应中断,延迟非常短(要求才处理器没有关闭中断)

   (3)处理器处理完当前指令后检测到中断,判断出中断来源并向发送中断的设备发送了确认中断信号,确认信号使得该设备将中断信号恢复到一般状态

   (4)处理器开始为软件处理中断做准备:保存中断点的程序执行上下文环境,这通常包括程序状态字PSW,程序计数器PC中的下一条指令位置,一些寄存器的值,它们通常保存在系统控制栈中,处理器状态被切换到管态

   (5)处理器根据中断源查询中断向量表,获取与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序

   (6)中断处理程序开始工作,包括检查I/O相关的状态信息,操作I/O设备或者在设备和主存之间传送数据等等

   (7)中断处理结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中被恢复,处理器状态恢复成原来的状态

   (8)PSW和PC被恢复成中断前的值,处理器开始一个新的指令周期, 中断处理结束

七、I/O技术

      I/O控制使用下面几种技术:

          1、程序控制:

                 由处理器提供I/O相关指令来实现

                 I/O软件包含直接操作I/O的指令:

                     控制指令:用于激活外设,并告诉它做什么

                     状态指令:用于测试I/O控制中的各种状态和条件

                     数据传送指令:用于在设备和主存之间来回传送数据

                主要缺陷:处理器必须关注I/O处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能

          2、中断驱动

                  为了解决程序控制 I/O方法的主要问题

                        应该让处理器从轮询任务中解放出来。使 I/O操作和指令并行执行起来

                 具体做法:当 I/O处理单元准备好与设备交互的时候,通过物理信号通知处理器,即中断处理器

          3、直接存储器存取(DMA)

                   中断的引入大大地提高了处理器处理 I/O的效率,当处理器和 I/O间传送数据时,效率仍旧不高

                   通过系统总线中一独立控制单元-DMA控制器,自动控制成块数据在内存和I/O单元间的传送,大大提高处理I/O的效能

          4、通道(I/O处理机)

                   独立于中央处理器,专门负责数据 I/O传输的处理机

                          它对外设实现统一管理

                          代替CPU对 I/O操作进行控制

                          使CPU和外设可以并行工作

                  引入通道的目的:

                         为了使CPU从I/O事务中解脱出来

                         同时为了提高CPU与设备、设备与设备之间的并行度

八、时钟

      时钟为计算机完成以下必不可少的工作:

      在多道程序运行环境中,为系统发现陷入死循环(编程错误)的作业,防止机时的浪费

      在分时系统中,间隔时钟实现作业间按时间片轮转

      在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如A/D,D/A转换)

      定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类结账程序等)

      记录用户使用设备时间和记录某外部事件发生时间

      记录用户和系统所需要的绝对时间 ,即年、月、日

九、操作系统服务

      程序执行-调入一个程序进内存并运行之的系统能力

      I/O操作-由于用户程序不能直接执行I/O操作,操作系统必须提供手段完成I/O操作

      文件系统操作-读、写、创建和删除文件的能力

      通信-运行的进程在同一计算机或由网络连接的不同系统中交换信息。通过共享存储器或消息传递实现

      出错检测-探测在CPU与内存硬件中,在I/O设备中,或在用户程序中的错误,确保正确运算

   系统部件:

     进程管理,主存管理,二级存储器管理,I/O系统管理,文件管理,保护系统,网络处理,命令解释器系统

  系统调用:

     系统调用提供在运行程序和操作系统之间的接口

     3种常用方式用于在运行程序和操作系统之间的参数传递:

        - 寄存器中的 参数传递

        -参数存在内存的一张表中,表地址作为寄存器的参数传递

        -程序把参数压入栈,由操作系统弹出



以上内容来源于:http://www.da-fan-shu.com/flvplayer/42_2635.html

原创粉丝点击