计算机组成原理与操作系统

计算机组成原理

第一章微型计算机的概述

1.电子计算机的发展历程通常分为五代:

第一代电子管时代的电子计算机;

第二代晶体管时代的电子计算机;

第三代小、中规模集成电路时代的电子计算机;

第四代大、超大规模集成电路时代的电子计算机;

新材料、新技术取代硅半导体器件和冯·诺依曼结构体系的新一代电子计算机。微型计算机始于20世纪70年代初期,是第四代电子计算机的一个重要分支。微型计算机与其他大、中、小型计算机比较,主要区别在于中央处理器(CPU)上,它将传统计算机的运算器和控制器等,集成在一块超大规模集成电路芯片上,常把微型计算机的CPU芯片称为微处理器。

微处理器:将传统计算机的运算器和控制器等集成在一块超大规模集成电路芯片上。

微型计算机:由微处理器为核心、再配上存储器、接口电路所组成

微处理器、微型计算机和微型计算机系统框图

冯·诺依曼计算机的组成

数据与指令均以二进制数形式存放在存储器使用程序存储方式工作

微处理器主要由运算器和控制器两部分组成;

微型计算机主要由微处理器、存储器、外设的输入/输出接口电路组成,它们之间是由系统总线连接起

来的;

微型计算机系统是由微型计算机(称为裸机)、I/O 设备和软件组成的。

2.计算机的性能指标

字长 CPU 一次能处理的二进制数据位数,决定着寄存器、运算器、数据总线的位数;表示的数据

范围、精度

存储容量 主存和辅存的

运算速度每秒所能执行的指令条数,大中型机常用--每秒百万条指令(MIPS),微型机常用--主时钟频率(主频),主存的速度

兼容性软件不需修改就可在其它计算机上运行,将计算机设计为同系列

可靠性用平均无故障时间表示(在规定的时间和工作条件下,正常工作而不发生任何故障的概率)

微型计算机主要应用于科学计算、信息处理、计算机辅助设计、实时控制、计算机通信、人工智能和计算机仿真等方面。

组成微型计算机的组装部件主要有,主板、光盘驱动器、硬磁盘驱动器、主机箱和电源等。常用的I/O 设备有键盘、鼠标、显示器等。

第三章存储系统

微型计算机存储器系统示意图

微型计算机存储器系统示意图

Random Access Memory,(RAM)随机访问方式,主存

Sequential Access Memory,顺序访问方式,磁带

Direct Access Memory,直接访问方式,磁盘

Associative Access Memory,关联访问方式例如 cache

3.存储器的主要性能指标:存储容量存取速度 ---对主存可靠性

存储器的带宽 (Bandwidth) -----对主存

半导体存储器:一般可分为RAM 和ROM 两大类,具有存取速度快、体积小、功耗低、集成度高、稳定性强等优点,一般都采用随机访问的方式。

1、、RAM 数据易失,必须电源供应;仅用于临时存储数据;又可分为:

静态随机存储器(Static RAM,SRAN)和动态随机存储器(Dynamic RAM,DRAM)

动态随机存储器(DRAM)

每个存储位元中的电容被充电、有电荷表示存储信号1

被放电、无电荷表示存储信号0

?模拟设备;需要定时刷新:有电荷泄露(放电)的趋势,需要对电荷充电以保持原状态。需刷新电路;位元较小(集成度高) 、成本低、相对慢用于主存

静态随机存储器(SRAM)

?存储位元:双稳态触发器,存储二进制数据 0/1 数字设备只要电源供应,不需要定时刷新位元较大、成本高、更快用于高速缓存

2、、ROM

掩膜只读存储器 Masked ROM,简写为MROM,储内容在芯片制造过程中,确定不能修改

可编程只读存储器(Programmable ROM , PROM) 专用的编程器

出厂后全“0”或全“1”一次性写入,不能修改

可擦除可编程只读存储器(Erasable Programmable ROM ,EPROM)

专用设备写入、擦除紫外线照射,擦除芯片全部信息为1,可反复擦写电可擦除可编程只读存储器不需要先擦除,写操作时间远远大于读操作,字节级别的更新

大量用于单片机

Flash Memory 存储器(FROM) 读写速度更快 ,块级别的更新 微型硬盘

存储器与CPU 的连接

3、、存储器的扩展

位扩展、

例如:用4K*4组成4K*8的存储器

字扩展、

各个单元的位数与所需的存储器或CPU 字长相同,而单片存储芯片的容量有限

例如: 用16K ×8位RAM 芯片,扩展成64K ×8位的存储器

字位扩展

其容量和每个单元的位数均不能满足要求时,不仅要位扩展,还需要字扩展

4、、虚拟存储器

产生原因:由于CPU的寻址空间远远大于目前内存的存储容量

虚拟存储技术:增加部分硬件或软件的支持,使内存和外存形成一个有机整体,用户可以把外存和内存当做一个存储器使用。它使微型计算机具有外存的容量和近似内存的速度。

第四章中央处理器CPU

1、、计算机功能

计算机的工作过程就是计算机执行程序的过程。首先给将要运行的程序和数据分配主存;再者,计算机工作时,CPU按顺序逐条取出指令、分析指令、执行指令,并自动跳转下一条指令,直到程序完成。

2、、指令周期

指令周期是指处理一条指令所需要的过程;它包括取指周期、执行周期。如下图所示:

ALU(arithmetic logic unit)运算器/算术逻辑单元

CU(Control Unit):控制器

IR(Instruction Register):指令寄存器

MAR(memory address register):地址寄存器

MBR(memory buffer register):缓冲寄存器

PC(Program Counter):累加器

执行动作分为以下几类:

CPU与主存间的数据传输

CPU与I/O间的数据传输

数据处理:算逻运算

控制:操作顺序的改变,e.g.jump

第六章总线

分类:

在微型计算机系统中,根据总线连接的对象和范围不同,可以把总线分成3层

芯片总线:内部总线 ;系统总线:板级总线,内总线.外部总线:通信总线

根据总线传输信号的不同,可以把总线分成3类。

数据总线:双向总线;

地址总线。是微处理器向内存、I/O发送命令信号和外界向微处理器传送状态信号等的通道;

控制总线。是微处理器向内存、I/O传送控制信息的通道。有的是外设到微处理器的信号,如等待信号、中断请求信号等。

(2.)总线的性能参数:

总线时钟频率:总线的工作频率,单位为MHz,影响总线传输速率的重要因素之一。

总线宽度:数据总线的位数,单位为位(bit)。(位宽)

总线传输速率:在总线上每秒钟传输的最大字节数,单位为MB/s。传输速率=总线时钟频率×总线宽度/8 (总线带宽)

第八章输入/输出系统

1、 I/O接口

I/O接口是指CPU与外部设备之间通过系统总线进行连接的逻辑部件(或称电路),它是CPU与外部设备进行信息交换的中转站。

接口在计算机中的地位及作用

按数据传输的宽度,可分为并行接口与串行接口,按输入/输出的信号,可分为数字接口和模拟接口。

主机与外设之间传送的信息:数据信息、控制信息、状态信息、I/O寻址信息

2、主机与外设信息传送控制方式:

程序查询方式、中断处理方式、DMA(直接存储器存取)传送方式;I/O通道控制方式

程序查询方式是发送指令查看外设是不是准备好,外设寄存器是不是空的;

中断系统:

内部中断:也称软件中断,是由处理器检测到异常情况或执行软件中断指令所引起的一种中断。

外部中断:也称硬件中断,是由CPU的外部中断请求信号触发的一种中断,分为不可屏蔽中断NMI 和可屏蔽中断INTR。

中断顺序: 内部中断、NMI中断、INTR中断和单步中断。

中断的优先权判断方法:软件判优、硬件判优

软件判优:优先级高的先查询,优先级低的后查询。通过修改程序可调整设备的优先级。

硬件判优:是靠硬件电路实现的。一旦电路设计好,优先级就不能更改,成本较高,但速度快中断响应条件:非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。

可屏蔽中断请求,能否响应中断,还取决于CPU的中断允许触发器的状态。

中断处理的过程如下:

中断的优缺点:

优点:实现了外设的并行工作,大大提高了计算机系统的工作效率。

缺点:需要通过CPU执行程序来实现外设与内存之间的信息传送;每次为传输一个字节或字要中断一次,要花费时间保护断点和现场,对于高速I/O设备太慢。

结论:中断方式不适用于大批量的数据高速传输。

DMA直接存储方式:(Direct Memory Access,DMA)直接存储器存取

在内存与外部设备之间开辟专用数据通道,实现外部设备与内存之间数据的直接传送,而不通过CPU.

优点是:传送效率高,适用于高速传送大批量数据

缺点是:电路结构复杂,硬件开销较大。

为实现这种传送方式而设计的专用控制芯片称为DMA控制器(工作原理见下图)

3、存储设备的接口有五大类:

IDE、SCSI、USB,并行口,串口等,其中并行口与串口的速度相对慢的多。

……实现并行通信的接口电路称为并行通信接口,简称并行接口。并行输入/输出设备,如打印机、扫描仪等。并行口接口特性:接口传输数据宽度:即CPU可以通过接口一次传送的数据位数。接口控制线:接口控制线用于协调并行的数据传输。内部含有数据口、控制口、状态口3部分,分别占用了3个I/O端口,通过它们实现数据输出和控制信号的输入/输出。

串行通信:数据在一根传输线上一位一位的按顺序传送的通信方式.

串行接口特性:只需要一条传输线,所有的数据、状态、控制信息都是在这一根传输线上传送的。

计算机操作系统

第一章:操作系统的形成与发展

1、多道程序设计技术

指在主存中同时存放多个作业,并允许它们交替执行。

多道程序系统具有以下特征:

(1) 多道性。有效提高资源利用率和系统吞吐量。

(2) 无序性。作业完成的先后顺序与他们进入内存的顺序之间无严格的对应关系

(3) 宏观上并行、微观上串行。

操作系统(Operating System,简称OS):一组软件构成的集合。

用户角度:方便用户使用

资源管理角度:管理计算机资源,提高系统效率。资源包括两大类:硬件资源和信息资源。

四大资源: 处理机、存储器、I/O设备、软件

2、操作系统的地位(Operating System,简称OS)

操作系统是在计算机硬件的基础上对硬件进行的第一层扩充,它是计算机系统中最核心的系统软件,其它的系统软件和应用软件都是在操作系统的基础上构建起来的。

1、进程的概念

多道程序系统出现—>为了描述程序的并发执行,而引入进程概念。

进程有很多不同的定义:进程是程序的一次执行实例。或者进程是系统进行资源分配和调度的一个独立单位

进程实体组成:程序段 + 相关数据段 + PCB(进程控制块)

进程控制块:(Process Control Block) PCB

进程控制块是进程存在的标志,创建进程,实际上就是为其建立一个进程控制块。 OS利用PCB来控制和管理进程。PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的。

进程控制块的组织方式:PCB表:系统把所有PCB组织在一起,将它们放在内存中的固定区域,就构成了PCB表。具体时,系统根据进程的状态,将其PCB数据结构组织在相应状态的队列中。

2、进程的状态及其转换

状态:就绪状态(Ready),运行状态(Running),等待状态(Wait/Blocked)

三种状态模型五种状态进程模型

3、进程调度

调度的目标、实质:合理分配处理器资源

进程调度策略调度方式:时机;选择函数:调度算法

进程调度的方式:

剥夺式/抢占方式(Preemptive mode):正在运行的进程被迫将CPU的使用权交给一个按照某种剥夺原则此时更适合占用CPU的进程。常见的剥夺原则有优先权原则、短进程优先原则和时间片原则。特点:算法相对复杂些,较大的系统开销,反映出进程的优先级特征。

轮转调度(RR),最短剩余时间优先(SRT),分级轮转法。

非剥夺式/非抢占方式(Non-Preemptive mode):一旦把处理机分配给某进程后,该进程一直执行,直到其主动放弃处理器(完成或发生某事件而阻塞自己)。先来先服务(FCFS)、短进程优先(SPN).特点:算法简单,系统开销较小,不能反映出进程的优先级特征

先来先服务First-Come-First-Served(FCFS)按照进程就绪的先后次序列队,取出队头进程轮转调度 Round Robin(RR)处理机总是优先分配给就绪队列中的第一个就绪进程

轮转规则:当运行进程用完规定的时间片时,被迫释放处理机回到就绪队列的尾部。剥夺调度方式-运行进程用完规定的时间片时

分级轮转法:多个就绪队列,分别排列不同优先级的进程;选择较高优先级就绪队列的队头进程优先数法,短进程优先(SPN):当前进程运行完后选择最短的进程运行,比当前进程优先级更高的进程进入就绪队列

静态优先级法:进程类型--系统进程,高I/O进程,前台进程,短进程优先。

动态优先级法:最短剩余时间优先(SRT)

4、进程间的同步与互斥

相互制约关系的原因有二:资源共享——间接制约关系互斥关系

进程合作——直接制约关系同步关系

被互斥使用的资源------临界资源(critical resource)一次仅允许一个进程访问的资源。临界区:在每个进程中,访问临界资源的那段程序。

用P、V操作解决进程间互斥问题

用P.V操作解决进程间同步问题

用信号量实现资源信号量empty:初值为1,指示空缓冲区数为1。

资源信号量full:初值为0,指示满缓冲区数为0。

经典的生产者─消费者问题

同步关系生产者进程不能往“满”的缓冲区中放产品;

消费者进程不能从“空”的缓冲区中取产品

互斥关系临界资源:n个缓冲区

int n, in=out=0, counter=0; item buffer[n];

空:in=out 满: (in+1)mod n=out

semaphore mutex=1, empty=n, full=0;

资源信号量 empty 表“空”的数量资源信号量 full 表“满”的数量

互斥信号量 mutex 表对n个缓冲区的使用权

item[n] buffer;

do{

produce an item;

P(empty);

P(mutex);

buffer(in)=nextp;

in=(in+1) mod n

V(mutex);

V(full);

} while (1);

P.V操作总结

信号量的物理含义: P(S):表示申请一个资源 V(S):表示释放一个资源。

信号量的初值应该 0 ; S>0 表示有S个资源可用;S=0 表示无资源可用

S<0 | S |表示S等待队列中的进程个数

P.V操作必须成对出现当为互斥操作时,它们处于同一进程;

当为同步操作时,它们处于不同进程;

一个同步P操作与一个互斥P操作在一起时,那么P操作的顺序,同步P操作在互斥P操作之前,两个V操作的顺序,无关紧要。

第四章存储管理

1、存储管理的主要目的:

为用户进程提供方便、安全、充分大的运行空间

适应多道程序的并发执行,提高内存资源的利用率

功能:内存的分配与回收地址重定位存储器扩充存储保护

2、内存的分配与回收:分配时机的不同,内存分配可分为

(1)静态存储分配:内存分配是在作业运行前一次性完成的,运行结束释放内存

(2)动态存储分配:内存分配在作业运行前及运行过程中逐步完成,按需分配和回收

要执行一行代码,会发生: 从逻辑地址到物理地址的地址转换

3、地址的重定位既是地址映射:确定指令在内存中的实地址,是一个从逻辑地址到物理地址的地址转换过程。包括符号地址;逻辑地址/虚地址;物理地址/实地址;相对地址;绝对地址(1)静态地址重定位地址转换是在装入时一次完成。加载模块中,所有存储访问以绝对地址表示

(2)动态地址重定位加载模块中,所有存储访问以相对地址表示。地址转换发生在指令真正执行时,需硬件机构完成。

4、存储扩充:

内存的逻辑扩充:覆盖技术交换技术虚拟存储技术

交换技术不要求程序员给出程序段之间的覆盖结构,主要是在进程之间进行;覆盖技术主要是在同一个进程之间进行。

交换技术的运用,可以小空间中运行较多的进程;覆盖技术的运用,可以小空间中运行比其容量大的进程。

5、存储保护目的:限制每个进程只能访问自己的进程空间,防止越界

6、连续存储管理:为一个用户进程分配连续的内存空间

单道程序系统:单一连续存储管理

多道程序系统:固定分区存储管理;动态分区存储管理

固定分区存储管理:系统初始化时,操作系统把内存可用空间划分成若干个固定大小的存储区,系统运行期间,分区大小、数目不变。可运行多道程序,通过分区说明表

优点:最简单的多道程序存储管理方式;

缺点:作业大小受分区限制:多少(交换可能解决);大小(覆盖可能解决);内存利用率低:内部碎片

动态分区存储管理

1)空闲分区的组织形式方便比较每个空闲区的大小;方便遍历每个空闲区;组织形式不受空闲区数目的限制

2)常用的分配算法首次适应算法最佳适应算法最差适应算法

不同的分配算法,对应空闲分区不同的链接顺序

3)扩充内存交换覆盖

4)优点实现了多道程序存储管理;资源利用率提高了;易实现

缺点:外部碎片紧凑法 (移动内存中的程序和数据,以便凑成大块的空闲区)

7、离散存储管理离散分配的基本单位是页(页式存储管理);段(段式存储管理)

1)连续存储管理的问题:没有足够大小的空闲分区,但是几个空闲分区之和满足需要

------交换 / 紧凑:CPU需花不少时间来处理

2)分页存储管理:当一个用户进程装入内存时,以页为单位进行分配。

系统初始化时,将内存空间分成大小相等的若干块(帧),同时把程序逻辑地址也分成与帧大小相等的若干块(页);页的大小是为2n ,通常为1KB,2KB,nKB等。

操作系统为每个进程维护一个页表;页表保存了进程中每个页对应的帧号;进程的

逻辑地址=页号+页内偏移量;

地址重定位实现过程:查找内存中的页表,依靠硬件机构,完成地址重定位

3)分段存储管理:用户程序和其相关数据可以被划分成多个段;这些段不必具有相同长度。分区:段的分配类似于动态分区,这些段不必是连续的。每个进程一个段表,相应段在主存中的起始地址。段长:逻辑地址=段号+偏移量

优点: 消除了内部碎片,方便模块共享。缺点: 外部碎片

4)离散存储管理讨论:共同点,进程被分成多个片段(程序或数据),不必为其分配连续的空间,逻辑地址到物理地址的转换发生在运行时,因此允许进程被换出换进内存占据不同的内存区域,因此进程执行时可以只装入可能即将运行的片段

5)虚拟存储器

软硬件支持,硬件:支持分段/分页(具备从虚拟地址到物理地址的地址转换机制)

软件:操作系统能够管理页/段在辅存与主存之间的转移

当所访问的进程片段不在内存中时,发生缺页中断,将欲访问的进程片段装入主存。

抖动(thrashing):可能这个进程片段刚刚被换出,随即又因被需要而调入这种情况出现太多,系统就会表现出抖动现象

程序的局部性原理(Principle of Locality)

在程序执行过程中的一个较短时期,程序的执行可能局限于某个部分;相应地,所访问的存储空间也局限于某个区域内。原因:子程序调用,循环结构,数据结构

虚拟存储器的替换算法:最优算法(OPT算法);先进先出算法(FIFO算法);3.最久未使用页面置换算法(LRU算法);LRU近似算法。

缺页中断次数/页面置换次数……缺页率/页面置换率验证算法的可行性;

第五章设备管理

设备管理的任务:

为上层用户提供服务:

提供访问设备的接口函数(简单、统一、相对稳定);

提供设备独立性

管理底层硬件设备:

数据结构:设备控制表DCT,系统设备表SDT;

设备分配:独享设备,共享设备,虚拟设备技术,

SPOOLing系统(实现虚拟设备技术的系统);

设备处理:设备驱动程序(它通过外设接口中的寄存器与外设打交道)

第六章文件管理

操作系统通常把外存上的信息组织成文件的形式

文件的逻辑结构:有结构的文件——>由若干个相关的记录构成的文件

无结构的文件――>流式文件,基本信息单位是字节或字文件的物理结构文件在外存介质上的存储组织方式

外存管理和文件的物理组织:常见的方法:连续结构、索引结构、链表结构

使用最多的技术:索引结构、链表结构;类似页式内存管理技术,硬盘分成大小相等的块;

文件分配表:记录为系统中每个文件分配的物理区域

用户访问文件的手段

目录相关概念目录,多层目录结构,树形结构

目录文件:把同一个目录下的文件/子目录的名字以及物理位置信息记录下

来,以一个文件的形式存放在外存上。

通过文件名找到外存上的文件

文件所在的各级目录的名字构成了文件的路径

1.如果信号量S的初值是5,现在信号量的值是-5,那么系统中的相关进程至少执行了几个P(S)操作?与信号量S相关的处于阻塞状态的进程有几个?为使信号量S的值大于0,应进行怎样的操作?答案:

1)5-(-5)=10,因此系统中的相关进程至少执行了10个P(S)操作。因为每执行一次P(S)操作就会将信号量S减去1。

2)与信号量S相关的处于阻塞状态的进程有|-5|=5个。

3)为使信号量S的值大于0,应当有至少6个执行了P(S)但还没来得及执行V(S)的进程去执行V(S)操作。

2.一售票厅只能容纳300人,当少于300人时,可以进入;否则,需在外等候。若将每一个购票者作为一个进程,请用P、V操作编程,并写出信号量的初值。

答案:

设置信号量NUM表示售票厅当前还可以进入的人数,初值为300.

购票者进程:

do{

P(NUM);

进入售票厅;

V(NUM);

} While(1);

3.桌上有一空盘,只允许存放一个水果。爸爸可向盘中放苹果,也可向盘中放桔子。儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘中空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。

答案:

设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。同步描述如下:

int S=1; int Sa=0; int So=0;

main( )

{

father();

son();

daughter();

}

father()

{

while(1)

{

P(S );

将水果放入盘中;

if (放入的是桔子)V(So);

else V(Sa);

}

} son( )

{

while(1)

{

P(So);

从盘中取出桔子;

V(S);

吃桔子;

}

}

daughter( )

{

while(1)

{

P(Sa);

从盘中取出苹果;

V(S);

吃苹果;

}

}

4.下面是两个并发执行的进程。它们能正确执行吗?若不能,试改正之。

Cobegin

V ar x: integer;

Process P1

V ar y, z:integer;

Begin

x:=1;

y:=0;

If x≥1 then y:=y+1;

z:=y;

End;

Process P2

V ar t,u:integer;

Begin

x:=0;

t:=0;

If x<1 then t:=t+2;

u:=t;

End;

Coend

答案:改正后的代码cobegin

var x:integer;S;semaphore;

S:=1;

Process P1

Var y,z:integer;

Begin

P(S);

x:=1;

y:=0;

If x≥1 then y:=y+1;

V(S);

z:=y;

end

Process P2

var t,u:integer;

begin

P(S);

x:=0;

t:=0;

If x<1 then t:=t+2;

V(S);

u:=t;

End

Coend

书上:3(6)有k个进程共享一临界区,说明信号的初值及含义,用P、V操作写出互斥算法

1)一次只允许一个进程进入临界区。

2)一次允许K个进程进入临界区。

答案:

1)设信号量M表示当前可进入临界区的进程数,

初值为1.

进程

{…

P(M);

进入临界区;

V(M);

….}

2)设信号量M表示当前可进入临界区的进程数,

初值为K.

进程

{….

P(M); 进入临界区;V(M);

…}

或者:

进程

{…

进入临界区;…}

G1122X@https://www.360docs.net/doc/d410930819.html,

1.用16K×8位RAM芯片,扩展成16K×32位的存储器,画出芯片连接图

2.用16K×8位RAM芯片,扩展成64K×8位的存储器,画出芯片连接图

3.现在有已扩展的16K×32位的存储器和已扩展的64K×8位的存储器,有些什么方法可以得到64K×32位的存储器?

4.分别应用FCFS和RR(时间片长度:3)调度算法,画出以下进程序列在单CPU系统中的执行序列

进程到达时间服务时间

A 0 6

B 3 2

C 5 5

D 5 4

E 10 3

相关文档
最新文档