本节讲操作系统所依靠的计算机系统组成,也即现代的冯·诺依曼结构计算机
一个芯片上容纳一个处理器内核
一个芯片上容纳多个处理器内核,共享执行单元
处理器执行的程序是由一组保存在存储器中的指令组成的。按照最简单的形式,指令处理包括两个步骤:
程序执行由不断重复的取指令和执行指令过程组成。一个单一的指令需要的处理称为一个指令周期。
事实上,所有计算机都提供了允许其他模块(IO,存储器)等中断处理器正常处理过程的机制。
当外部设备做好服务的准备时(即当它准备好从处理器接受更多的数据时),该外部设备的 IO 模块给处理器发送一个中断请求信号。这时处理器会做响应,暂停当前程序的处理,专门去处理服务于特定 IO 设备的程序,这个程序成为中断处理程序。在对该设备的服务响应完成后,处理器恢复原先的执行任务。
没有中断,CPU必须迁就I/O设备的时钟速度,每次写操作后CPU必须保持空闲直到I/O设备发出完成指令——太慢力
中断是提高处理器效率的一种手段。
对CPU的其它中断操作,以上也是类似的,中断是无法预测的,处理短促的中断事件比一直跟着某个进程直到产生结果或者错误快。
指一个包含了正常指令和中断指令的全周期。
利用中断功能,处理器可以在1/O操作的执行过程中执行其他指令。
和前面一样,用户程序到达系统调用WRITE处,但涉及的IO程序仅包括准备代码和真正的I/O命令。在这些为数不多的几条指令执行后,控制权返回到用户程序。在这期间,外部设备忙于从计算机存储器接收数据并打印。这种IO操作和用户程序中指令的执行是并发的。
从用户程序的角度来看,中断打断了正常执行的序列。中断处理完成后,再恢复执行。因此,用户程序并不需要为中断添加任何特殊的代码,处理器和操作系统负责挂起用户程序,然后在同一个地方恢复执行。
其中,因中断处理导致的内存和寄存器变化如下图:
顺序中断处理:当正在处理一个中断时,禁止中断(对任何新的中断请求信号不予理睬,处理完这个再处理下个)
缺点:没有考虑相对优先级和时间限制的要求
嵌套中断处理:定义中断优先级,允许高优先级的中断打断低优先级的中断处理程序的运行。
高速缓存大小
块大小
映射函数
置换算法
写策略
高速缓存的级数、
具体可见。
DMA是直接内存存取,这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据。DMA直接通过一个通路把数据传送到主存储器,无需cpu的参与.
主要特点:
直接通过一条数据通路直接与主存进行交换信息
无需CPU的直接参与,大大提高了cpu资源利用率
I/O与CPU并行工作
适合于高速 I/O 或辅存与主存之间交换信息
工作机制:DMA由专门的硬件(DMA)控制下,实现高速外设和主存储器之间自动成批交换数据,尽量减少CPU干预的输入/输出操作方式。
当处理器要读或写一块数据时,给DMA模块产生一条命令,发送以下信息:
此时IO设备的管理权转移到DMA设备,CPU继续其它工作。DMA模块直接与存储器交互,传送整个数据块,无须处理器参与。
传送完成或IO错误,DMA模块发一个中断信号给处理器,处理器处理中断。
缺点:周期挪用:当 CPU 与 I/O 同时访问主存,CPU 必须把总线占有权让给 DMA 接口使用,即 DMA 采用周期挪用占用一个存储周期,处理器的执行速度会变慢。
SMP是具有以下特点的独立计算机系统:
具有两个或两个以上可比性能的处理器;
所有处理器共享内存和I/O设备,并通过总线或其他内部连接方式互连,从而每个处理器的访存时间大致上相同;
所有处理器共享对I/O设备的访问,通过相同的通道或者可以连接到相同设备的不同通道;所有处理器可以执行相同的功能;
整个系统由一个统一的操作系统控制,为多个处理器及其程序提供各种级别的交互。
多处理器的存在对用户是透明的。
该结构说白了就是N个处理器共享总线、IO、内存,形成多物理处理器的电脑,如下图所示:
多核(muliticore)计算机是指将两个或多个处理器(核)组装在同一块芯片上。每个核上通常会包含组成一个独立的处理器的所有零部件。如下图:
因篇幅问题不能全部显示,请点此查看更多更全内容