多任务系统中的主要问题


内存保护

正在执行的任务是不能随意访问的,操作系统必须保护挂起任务的内存空间不受正在运行任务的非法更改。


IO端口访问

在单任务系统中,任务可以随意的访问IO端口,但在多任务系统中,由于任务切换,可能会产生许多问题。在任务访问IO端口时(使用io指令),CPU将陷入到操作系统例程,有操作系统代为访问IO设备。
未授权的调用
由于操作系统负责维护系统的完整性,对控制寄存器,内存页表的访问应该只由操作系统来执行,这需要通过授权来实现。在x86体系中,有以下四个特权等级:
  1. Level 0:最高优先级,通常赋予内核。
  2. Level 1:通常赋予提供服务和驱动的系统服务。
  3. Level 2:通常赋予设备驱动程序。
  4. Level 3:赋予普通应用程序。

屏蔽中断

在多任务系统下,单个任务发起屏蔽中断指令(cli),这种情况下是不可能真正的关闭CPU中断的。当任务执行cli时,cpu陷入操作系统例程,系统将标识该任务不接受中断。


BIOS调用

在IO端口访问中已经提到,所有的IO端口访问都必须经过操作系统。由于BIOS例程也系统IO端口访问功能,因此,任务中的int指令也必须有CPU陷入到操作系统例程中来执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值