操作系统(一)--计算机系统概述

操作系统大的方面主要也就分为

  1背景知识介绍

   2进程有关问题:同步互斥、饥饿死锁等问题

   3内存管理有关问题:虚拟内存、调度问题

  4以及输入输出文件模块

这儿首先对操作系统的做一个总的概述 主要记录背景知识模块

 

基本构成:计算机主要有四个构件:

         处理器:CPU

         内存(易失性)

         输入输出模块

         系统总线(在另外三个模块间通信的设施)

指令的执行:程序的执行是不断重复取指令和执行指令的过程组成的   取到的指令和数据分别保存在对应的寄存器中

        执行指令可以分为:

          处理器-存储器 间的数据传送

          处理器-I/O 间的数据传送

          数据处理

          控制 (改变执行顺序 例如while和for循环)

中断:其他模块(I/O 存储器)中断处理器正常处理过程的机制

        分类:

          程序中断:由于程序员的原因 程序执行出错 比如3/0 算术溢出等

          时钟中断:轮到该程序执行的事件片已用完

          I/O中断:I/O控制器通知 I/O操作的正常完成或者错误条件

          硬件失效中断:比如拔掉电源

        时间上分:

          短I/O等待:I/O执行时间较短 当I/O操作完成时 CPU立即返回处理

          长I/O等待:I/O执行时间较长 一般是CPU再次需要I/O操作时 在来处理

  中断处理:设备发送中断信号->处理器结束当前指令执行 并响应中断->处理器检查并给提交中断的设备发送确认信号->CPU保存当前进程的程序状态子PSW和程序计数器PC压入栈->根据中断 加载新的PC值->保存剩余处理状态信息->处理中断->恢复中断状态信息->恢复旧的PSW和PC值

  多个中断情况:正在处理一个中断时,又发生了一个或多个中断 此时有两种处理方法

          第一种:处理一个中断时、禁止再有中断发生 当再有中断发生时 不去理会 中断将被挂起

          第二种:定义中断优先级 处理一个中断时 当又发生中断的优先级大于当前 则处理新的中断

 

存储器的层次结构--总是跟 容量 价格 速度有关

  存储器层次结构金字塔:  板上处理器(寄存器、高速缓存、内存)

             板外处理器(磁盘)

          离线处理器(磁带)(..这个从上到下光看左边还是有点像金字塔的...)

          

          从上到下:价格、访问速度、访问概率递减 容量递增    

          板上处理器都是易失性的         

  高速缓存:处理器和内存的速度不匹配 并且近年来处理器速度的提高一直快于内存速度的提高 导致了利用局部性原理的高速缓存出现

          若处理要访问的字在高速缓存中将直接传递给处理器;否则将包含这个字的块装入高速缓存中 然后将字传递给处理器

          设计问题:

            高速缓存大小 块大小 高速缓存级数

            映射函数:内存中读的块放在高速缓存的哪个部分

            置换函数:高速缓存已满时如何置换

            写策略:块上的数据改变时 何时写回内存

直接内存存取

  执行I/O操作方式:

            可编程I/O:I/O模块执行请求动作并设置I/O状态寄存器中相应的位 但不通知处理器 等处理器执行完定期检查I/O模块状态

            中断驱动I/O:将打断处理器的执行并请求服务

            直接内存存取(DMA):由系统总线中的一个独立模块完成  处理器读或写一块数据时给MDA一条命令 之后的过程不需要处理器参与

 

多处理器和多核

  对称多处理器(SMP)

  特点:1具有两个以上处理器

    2处理器共享内存和I/O设备  处理器共享对I/O设备的访问

    3所有处理器执行相同的功能(称之为对称)

    4整个系统由统一的操作系统控制

  交互的基本单元可以为单个数据 而多处理器系统中物理单元是一个消息或文件

  相对单处理器优点:性能更好 可用性 渐增势成长 可伸缩性

  SMP中的多个处理器都含有自身的控制单元、算术逻辑单元、和寄存器  同时也会有告诉缓存一致性问题

  多核处理器:计算机将多个处理器组装在同一块硅里面

你可能感兴趣的:(操作系统(一)--计算机系统概述)