1.并行性与并发性的区别和联系
- 并行性和并发性是既相似又有区别的两个概念。
并行
是指两个或多个事件在同一时刻发生
,并发
是指两个或多个时间在同一时间间隔
发生。 - 在
多道程序
环境下,并发性
是指在一段
时间内,宏观
上有多个程序同时
运行,但在单处理
系统中每个时刻却仅能有一道
程序执行,因此微观
上这些程序只能分时地交替
执行。若在计算机系统中有多个处理器
,则这些可以并发
执行的程序变被分配到多个处理器上,实现并行执行
,即利用每个处理器来处理一个可并发执行的程序
。
2.特权指令与非特权指令
- 所谓特权指令,是指有特殊权限的指令,由于这类指令的权限最大,使用不当将导致整个系统崩溃,如
清内存、置时钟、分配系统资源、修改虚存的段表或页表、修改用户的访问权限
等。若所有的程序都能使用这些指令,则系统一天死机n次就不足为奇。为保证系统安全,这类指令只能用于操作系统或其他系统软件
,不直接提供给用户使用。因此,特权指令必须在核心态执行
。实际上,CPU在核心态下可以执行指令系统的全集。形象地说,特权指令是哪些儿童不宜的东西,非特权指令是老少皆宜的东西。 - 为了防止用户程序中使用特权指令,用户态下只能使用非特权指令,核心态下可以使用全部指令。在
用户态下使用特权指令时,将产生中断以阻止用户使用特权指令
。所以把用户程序放在用户态下运行,而操作系统中必须使用特权指令的那部分程序在和心态下运行,保证了计算机系统的安全可靠。从用户态转为核心态的唯一途径是中断或者异常
。
访管指令与访管中断
访管指令是一条可以在用户态下执行的指令
。在用户程序中,因要求操作系统提供服务而有意识地使用访管指令
,从而产生一个中断事件(自愿中断),将操作系统转为话核心态,称为访管中断
。访管中断由访管指令产生
,程序员使用访管指令向操作系统请求服务。- 为什么要在程序中引入访管指令呢?这是因为用户程序只能在用户态下运行。若用户程序想要完成在用户态下无法完成的工作,该怎么办?解决这个问题要靠访管指令。
访管指令本身不是特权指令
,其基本功能是让程序拥有“自愿进管”的手段,从而引起访管中断 - 处于用户态的用户程序使用访管指令时,系统根据访管指令的操作数执行访管中断处理程序,访管中断处理程序将按照系统调用的操作数和参数转到响应的例行子程序。完成服务功能后,退出中断,返回到用户程序断点继续执行。