操作系统_处理器(第二章)

本文深入探讨了操作系统的运行机制,包括特权指令与非特权指令的区别,用户态与核心态的切换,以及中断和异常处理机制。详细解释了操作系统内核如何管理和保护系统资源,确保程序的安全稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习来自:https://www.bilibili.com/video/BV1YE411D7nH?p=4

一.运行机制

在这里插入图片描述

1.1 特权指令和非特权指令

什么是指令?
一条高级语言的代码翻译过来可能会对应多条指令

所以 “指令“就是CPU(处理器)能识别,执行的最基本命令
比如 : 加法指令就是让CPU进行加法运算

在这里插入图片描述
有些指令“人畜无害” 例如 加 减 乘 除 这些普通的运算指令
有的指令有着很高的权限 比如:内存清零 如果用户可以使用这种指令。就意味着一个用户可以将其他的用户内存数据随意清零,这样是很危险的。

所以 指令被分为 特权指令和非特权指令
为了具体实现双重模式,因此将能引起损害的机器指令作为特权指令(privileged instruction)。如果在用户模式下试图执行特权指令,那么硬件并不执行该指令,而是认为该指令非法,并将其以陷阱(trap)的形式通知操作系统。特权指令有以下几种:

  1)允许和禁止中断,控制中断禁止屏蔽位

  2)在进程间切换处理

  3)存取用于主存保护的寄存器

  4)执行I/O操作

  5)停止一个中央处理器的工作

  6)清理内存

  7)设置时钟

  8)建立存储键

  9)加载PSW

CPU如何判断可以执行特殊指令?
这就涉及到了 两种处理器状态 用户态(目态)和核心态(管态)

1.2用户态和核心态

内核态:
1.系统中既有操作系统的程序,也有普通用户程序。为了安全性和稳定性,操作系统的程序不能随便访问,这就是内核态。即需要执行操作系统的程序就必须转换到内核态才能执行
2. 内核态可以使用计算机所有的硬件资源

用户态:不能直接使用系统资源,也不能改变CPU的工作状态,并且只能访问这个用户程序自己的存储空间

1.3内核程序和应用程序

内核程序
操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态
应用程序
为了保证系统的安全运行,普通应用程序只能执行非特权指令,运行在用户态

操作系统中的那些功能应由内核程序实现?

安装好WINDOWS后

二.操作系统内核

三.中断和异常

3.1中断机制的诞生

早期的计算机:
各个程序只能串行的执行,导致系统资源率利用特别低
所以人们开发出了操作系统(作为计算机的管理者),引入了中断机制,实现了多道程序并发执行。

发生中断就意味着 需要操作系统的介入,开展管理工作

所有用户程序都是运行在用户态的, 但是有时候程序确实需要做一些内核态的事情, 例如从硬盘读取数据,
或者从键盘获取输入等.,而唯一可以做这些事情的就是操作系统,
所以此时程序就需要先操作系统请求以程序的名义来执行这些操作(比如java的I/O操作底层都是通过native方法来调用操作系统)。

这时需要一个这样的机制: 用户态程序切换到内核态, 但是不能控制在内核态中执行的指令。

这种机制叫系统调用, 在CPU中的实现称之为陷阱指令(Trap Instruction)

3.2中断的概念和作用

1.当中断发生时,cpu立即进入== 核心态==
2.当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
3.对于不同的中断信号,会进行不同的处理

发生了中断,就意味着需要操作系统的介入,开展管理工作;由于操作系统的管理工作(进程切换,分配I/O设备等)需要使用特权指令,因此CPU要从用户态转换为核心态。中断 可以让CPU从用户态切换为核心态,让操作系统获得计算机的控制权。有了中断,才可以实现多道程序并发执行。

用户态☞核心态 是 通过中断实现的。并且中断是唯一的途径
核心态☞用户态 的切换是通过 执行一个特权指令,将程序状态(PSW)的标志位设置为用户态 比如 0为用户态 1为核心态

3.3中断的分类

在这里插入图片描述

3.4外中断的处理过程

step1:
执行完成每个指令过后,CPU都要检查当前是否有外部中断信号
step2:
如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW,程序计数器PC,各种通用寄存器)
step3:
根据中断信号类型转入相应的中断处理程序(内核)
step4:
恢复原进程的CPU环境并退出中单,返回原进程继续往下执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值