操作系统(二)

1, 关于指令和寄存器

CPU 包括CISC(复杂指令计算机)和RISC(简单指令计算机)

 

2,中断机制

CPU 都提供对中断机制的支持,包括基于中断类型的中断向量表,基于中断级别的中断响应和中断屏蔽机制等等。

(1)Intel CPU

Intel CPU 的中断向量表共有256个中断向量和中断描述,中断向量表的大小为1KB~2KB,位于物理内存的前1KB/前1MB,但理论上可以位于物理内存的任何位置,其基地址由IDTR寄存器指定。每个中断向量或中断描述符占4B~8B,其内容为中断处理程序入口地址(例如段基地址和段内偏移地址及特权级别标志等)。

在Inter体系结构中,中断(interrupt)是指一个异步事件,典型地被I/O设备所触发。中断包括两种:1)外部(硬件产生的中断):例如外设产生的中断等;2)软件产生的中断(INT n)。中断在中断向量表中的中断号为2和32~255。

异常是一个同步事件,当处理机在一条指令执行时查到一个或多个预定义的条件(错误时)产生。异常有3种类型:错误(fault),陷入(trap),中止(abort)。错误是通常可以被修正的异常中断,一段修正,允许程序继续执行。中止是指这样的异常:它不总报告引起异常的那条指令的具体位置,不允许程序继续执。中止用于报告严重错误,陷入是在EFLAGS中的TF=1时每执行一条指令后便产生一次的异常。

异常主要包括3类:1)CPU 查到的程序错误:除法错,无效指令,无效TSS,段不存在等等。2)软件产生的异常:3)机器检测测异常。

(2)MIPS CPU

中断和异常的概念在MIPS中与Intel中大不相同。MIPS 中的异常,是Intel 中所述的中断概念的概念范围。当一条指令有多个异常发生时,只有优先级别高的异常才会被报告。另外,与Intel 有很大不同的是,MIPS中没有中断向量表和异常向量表的概念。异常向量的地址是固定在硬件电路中。

(3) 保护机制

CPU 都设有保护机制,以防止低优先级的用户程序越权执行或越权访问数据。典型的保护机制是两态划分(用户态和核心态),但有些CPU划分得更细。其中,MIPS的CPU有3种运行方式,用户态(user mode),管理态(supervisor mode),核心态(kernel mode)。管理态是为分层交换系统设立的,真正的核心在核心态下运行,而操作系统的其它部分是在管理态下运行的。Intel 系列的CPU提供2~4个特权级别,特权指令是指只能在特权级0执行的指令,这些指令在更低特权级执行会产生异常中断。Intel 体系结构中有16条特权指令。

 

3 进程的三态转换分析

1)进程正在使用CPU——运行态或执行态(run);进程正在等待I/O完成(或其他事情发生)

2)不在使用也不能使用CPU——等待态(wait)

3)进程不在使用CPU,但已准备好使用CPU(不在等待I/O或其他事件)——就绪态或称可运行态。

进程状态切换的几种情况和原因;

运行态——>等待态:当前进程需要等待某类事件的发生。在该事件发生前无法运行下去,如等I/O结束或者结束任务进程的信号。在转换过程中,发生进程切换,当前进程切换为等待状态,并置入等待队列。 发生进程切换,   其他进程由就绪态转入运行态。

等待态——>就绪态:当前等待的事件发生了,由中断导致。该进程改为就绪态,并置入调度队列。 该状态改变过程中不发生进程切换,也不引起其他进程的状态切换。

就绪态——>运行态:该进程被调度选中了,该进程改为运行态,并从调度队列中去掉。该状态改变不发生进程切换和引起其它进程切换。

运行态——>结束:

建立——>就绪态:

建立——>运行态:

一个问题:进程切换可能在用户态下发生么?

答案是不可能,只有在以系统调用或中断方式进入操作系统后,才可能需要和可能进行进程切换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值