局部性原理有效性的原因
1 :除了分支和调用指令,程序都是顺序执行的,而这两类指令在程序中只占很少的一部分,因此,大多数指令都是跟在上一条指令之后的
2:很少会出现很长的连续的过程调用序列,继而是相应的返回序列。
3:大多数圆环结构都是由相对较少的几个几个指令重复若干次组成
4:许多程序中,很多计算机都涉及存储诸如数组,记录序列的数据结构
时间局部性和空间局部性的区别
空间局部性主要涉及很多聚簇存储单元的趋势,反应处理器顺序访问指令的趋势,也反应处理器顺序访问存储单元的趋势
时间局部性指处理器访问最近访问存储单元的趋势
时间局部性是通过近来使用的指令和数据值,保存到高速缓冲中并使用高速缓存中的层次结构来实现的
空间局部性通常是通过较大的高速缓存将预取机制集成到告诉缓存中控制逻辑实现的
栈
控制调用和返回最常用的技术就是栈
栈帧:为一次调用保存整个参数集合,包含返回地址
可重入过程是指程序代码的一个副本在同一段时间被多个用户共享使用
可重入的两个重要特征:程序代码不能修改其自身,每个用户的局部数据必须单独保存,一个可重入的过程可以被中断,由正式中断程序调用,在返回该过程中能够正确执行
可重入过程必须由永远不变的部分(组成过程的指令)和一个临时部分(指向调用程序的指针及指向程序中局部变量的存储地址指针)
进程
现代操作系统最基础任务就是进程管理
操作系统必须为进程分配资源,使进程可以交换信息,保护各个进程的资源不被其他进程所占用,并且可以使进程同步
操作系统必须为每一个进程维护一个数据结构,这个数据结构描述进程的状态和资源所有权
传统操作系统的进程分为两部分:一部分负责管理资源所有权,另一部分负责指令的执行
使用多进程的组织方法对程序的结构化和性能方面有很大的提升
互斥和同步
互斥是多进程共享代码,资源或数据并使得在一个时间内只允许一个进程访问共享对象
同步是多进程根据信息交换来协调他们的活动能力
支持并发最重要的机制:信号量,管程,信息传递
进程控制块的组成: 标志符 状态 优先级 程序计数器 内存指针 上下文信息 I/O状态信息 记账信息
进控制程块是操作系统支持多进程提供多处理的关键工具
进程是由程序代码和相关数据和进程控制块组成