CPU模式

1、CPU模式也称CPU状态。

通常将操作系统程序的运行状态称为内核态(或核心态、管态)。将用户程序的运行状态称为用户态(或目态)。

这样做的目的是为了确保操作系统的正常执行,程序的执行空间分为内核空间用户空间,各自按不同的权限运行。

逻辑上相互隔离,用户程序只能在用户空间中操作用户数据。许多操作系统采用硬件支持来区分各种执行模式。

---- 当CPU处于内核态时,程序可以执行全部指令包括特权指令,使用所有资源,具有改变CPU状态的能力;

---- 当CPU处于用户态时,程序只能执行非特权指令,如果用户程序执行特权指令,会导致非法执行而产生保护中断,继而转向操作系统的“用户非法执行特权指令”的异常处理程序进行处理。特权指令是指只能提供给操作系统的核心程序使用的指令。如启动I/O设备、设置时钟、控制中断屏蔽位、清主存、加载程序状态字(PSW)等。

2、状态转换

导致CPU从用户态-->内核态转换的情况

1)程序请求操作系统服务,执行系统调用。

2)程序运行时,产生中断或异常事件,运行程序被中断,转向中断处理或异常处理程序工作。

两类情况都通过中断机制发生,中断和异常用户态到内核态转换仅有的途径。当从用户态转向内核态,不仅CPU模式需要切换,而且所使用的堆栈也可能需要由用户堆栈切换到内核堆栈。以下图说明用户态到内核态的转换:

为了从内核态转向用户态,操作系统提供一条特权指令称作加载程序状态字,用来实现从内核态返回到用户态,将控制权交给应用进程。

=========================================

内核态具有较高的特权,能执行一切指令,访问所有寄存器和存储区,通常操作系统内核就运行在内核态。

用户态是一种具有较低特权的执行状态,它只能执行规定的指令,访问规定的寄存器和存储区。通常用户程序都是运行在用户态。

习题:

1)当操作系统程序退出执行,让用户程序执行时,系统会:从内核态变为用户态

2)当CPU执行操作系统内核代码时,称处理器处于:内核态

3)当CPU处于内核态时,它可以执行的指令是:计算机中的所有指令

4)当CPU处于用户态时,它可以执行的指令是:仅限于非特权指令包括访管指令

5)从用户态到内核态的转换是由硬件完成的。

A、硬件    B、内核态程序   C、用户程序    D、中断处理程序

解析:从用户态到内核态的转换是用户程序执行访管指令,引起一次中断,触发中断后,硬件中断机制将计算机状态置为用户态。内核态程序是指在内核态下执行的程序。

6)用户在程序中试图读取存放在硬盘中某文件的第2个逻辑块,使用操作系统提供的接口是:系统调用

解析:操作系统接口有命令接口、程序接口(或系统调用)和图形接口,访问存放在外存储器中的文件,需要内核来实现,用户程序只能通过系统调用来完成这一工作。

7)一般的过程调用是调用一个应用过程或者某个系统程序,它们都处于同一状态下,即用户态或内核态。而系统调用的调用者是运行在用户态的用户程序,被调用过程一定是系统程序,而系统程序只能在系统态下运行。

8)访管指令仅在用户态时使用,执行访管指令将用户态转换为内核态。用户程序在执行访管指令时会产生访管中断

9)在操作系统中,读时钟指令,寄存器清零、置时钟指令和取数指令中,只能在内核态下执行的指令是置时钟指令

解析:若在用户态下执行置时钟指令,则一个用户进程可以在时间片还未到之前把时钟改回去,从而导致时间片永远不会用完。

10)内部中断是由CPU及内存的某种内部因素引起的,如运算溢出等,内部中断通常称为:自陷或陷入

11)外部中断是由CPU及内存外部的中断事件引起的,如I/O设备产生的中断。

12)通常将CPU模式分为内核态用户态,这样做的目的是:为了提高操作系统的安全性

13)中断的处理是由硬件和软件协同完成的,各中断处理程序是操作系统的重要组成部分,所以对中断的处理是在内核态在进行的。

14)如果没有中断,在单处理器环境中是否能够实现多道程序设计?为什么?

答:不能。因为一个程序一旦被调度执行,将一直执行下去,中间不可能被打断,不能达到多个进程交替执行的并发目的。

15)简述中断处理过程。

答:当中断发生时,一旦CPU响应中断,系统就开始进行中断处理。中断处理的过程如下:

--1)保护被中断进程的现场。为了在中断处理结束后能使进程正确地返回到中断点,系统必须保存当前处理器的程序状态字(PSW)和程序计数器(PC)等的值。

--2)分析中断原因,转去执行相应的中断处理程序。在多个中断请求同时发生时,处理优先级最高的中断源发出的中断请求。

--3)恢复被中断进程的现场,CPU继续执行原来被中断的进程。

 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
康拓发卡器是一种用于刷卡支付的设备,通常采用专门的芯片来进行处理,被称为康拓芯片。原始的康拓发卡器是以芯片为核心的,也就是我们所说的CPU模式。但是,有一些使用时需要将康拓发卡器切换成其他模式,例如磁条模式或触点模式等。 要将康拓发卡器改成CPU模式,需要按照以下步骤进行操作: 1. 首先,确保康拓发卡器处于电源连接状态,并将其与终端设备连接好。 2. 接下来,按下康拓发卡器上的“模式切换”按钮或通过终端设备的相关操作菜单,将康拓发卡器的模式切换到“CPU模式”。 3. 如果是通过按钮切换模式,通常需要按住按钮3-5秒钟,直到康拓发卡器上的指示灯或显示屏出现与CPU模式相关的指示。 4. 如果是通过终端设备切换模式,具体操作可能略有不同,可以参考康拓发卡器的使用说明书或联系相关的技术支持人员进行咨询。 5. 切换完成后,确保康拓发卡器和终端设备之间的连接正常,并进行相应的测试,以确保刷卡支付功能正常运行。 需要注意的是,不同型号的康拓发卡器在模式切换方面可能存在一些差异,因此建议在进行改模式操作之前,先仔细阅读相关的使用说明书并进行相应的了解。另外,如果在操作过程中遇到问题,可以随时联系康拓发卡器厂家或相关的技术支持人员进行咨询和帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值