系统概述
-
4个主要的结构化部件
-
处理器的一种功能是与存储器交换数据。内部寄存器:
-
存储器地址寄存器MAR:确定下一次读/写的存储器地址
-
存储器缓冲寄存器MBR:存放要写入存储器的数据或从存储器读取的数据。
-
输入/输出地址寄存器:用于确定一个特定的输入/输出设备
-
输入/输出缓冲寄存器:用于在输入/输出模块和处理器间交换数据
-
-
指令的执行:单个指令需要的处理为一个指令周期,包括取指阶段和执行阶段。
下面这个例子好好过!注意要取的指令地址存储在PC中,IR中第一位S代表的含义,以及AC中的内容
-
中断:可以发生在主程序的任何一个位置
-
存储器的层次结构
-
高速缓存:为了解决内存和CPU访问速度不平衡,利用局部性原理在其之间提供一个容量小且速度快的存储器
-
直接内存存取DMA
- 区别于可编程I/O和中断驱动I/O
- 区别于可编程I/O和中断驱动I/O
-
对称多处理器SMP
- 具有两个或两个以上可比性能的处理器,它们共享内存和I/O设备,并通过总线或其他内部连接方式互连。所有处理器共享对I/O设备的访问,所有处理器可以执行相同的功能(因此对称),整个系统由统一的操作系统控制。
- 具有两个或两个以上可比性能的处理器,它们共享内存和I/O设备,并通过总线或其他内部连接方式互连。所有处理器共享对I/O设备的访问,所有处理器可以执行相同的功能(因此对称),整个系统由统一的操作系统控制。
-
多核计算机
-
进程的四个特性是:动态,并发,独立,异步,多个进程可以含有相同的程序。
-
进程间的基本关系为相互独立与相互制约,相互制约包括直接制约(同步/合作)和间接制约(互斥/共享)
-
控制器根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC按确定的时序,向相应的部件发出微操作控制信号。
- CPU,是一个集成多功能的部件。控制器仅可以作为其中的一部分,也可以安装于CPU外部。而一般集成CPU除了控制器还兼顾运算器(算术、逻辑,以及移位循环)等其他功能,功能范围比较广。
- 指令存储器仅存放正在执行的指令
- 指令译码器仅分析指令的操作码是什么,以决定操作的性质和方法,然后控制计算机其他各部件协同完成指令表达的功能。
- 在程序执行过程中,控制器控制计算机的运行总是处于取指令、分析指令和执行指令的循环之中。
-
若一台计算机的字长为4个字节(一个字节等于8个“二进制位”),这意味着它在CPU中作为一个整体加以传送处理的代码位是32位
-
操作系统管理功能:
(1)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等;
(2)文件管理:又称为信息管理;
(3)存储管理:实质是对存储“空间”的管理,主要指对内存的管理;
(4)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收;
(5)进程管理:实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。注:对程序进行编译是由编译器完成的,编译器在操作系统之上。删除文件是由操作系统直接完成的。
系统观点——计算机资源的管理者
用户观点——用户使用计算机的界面(用户与计算机硬件之间的接口)
软件观点——程序和数据结构的集合
-
进程间通信(IPC)是指在不同进程之间传播或交换信息,方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等,其中Socket和Streams支持不同主机上的两个进程IPC。
- 管道(pipe):是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。信号量传递有限。
- 命名管道FIFO(named pipe): 半双工通信方式,还允许无亲缘关系进程间的通信。信号量传递有限。
- 消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。 具有写权限的进程可以按照一定规则向消息队列中添加新信息;对消息队列有读权限的进程则可以从消息队列中读取信息。
- 共享存储SharedMemory:共享内存就是映射一段能被其他进程所访问的内存,**这段共享内存由一个进程创建,但多个进程都可以访问。不同进程可以及时看到对方进程中对共享内存中数据的更新。共享内存是最快(最有用)**的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号量,配合使用来实现进程间的同步和通信。(需要考虑互斥)
- 信号量Semaphore:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。主要作为进程间以及同一进程内不同线程之间的同步手段。
- 套接字Socket:是一种更为一般的进程间通信机制,可用于网络中不同机器之间的进程间通信,应用广泛
- 信号 ( sinal ) : 信号是在软件层次上对中断机制的一种模拟,它是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一致的。
-
程序的再现性是指程序多次执行结果一样。多道程序执行分为顺序执行(顺序性/封闭性/程序执行结果的确定性和可再现性)和并发执行(执行期间并发程序相互制约/程序与计算不再一一对应/程序结果不可再现/程序的并发与并行执行)