手撕408|操作系统的运行环境(3)

共 1210字,需浏览 3分钟

 ·

2021-06-06 20:32







通知:冷月目前提供免费408 1对1辅导,有需要的同学可以加我微信:lengyue408。  


 OS运行时,分为管态和目态,每个态有各自的使命。另外中断和异常也是常考点。



手撕408系列之操作系统的运行环境,冷月出品必是精品,大家好,我是学长冷月。


在梳理本节的知识点之前,我们首先来搞懂指令和代码的区别。


所谓代码,其实就是高级程序语言设计中的代码,类似:C语言代码、Python代码。而指令其实是机器语言层面的一条条指令,计算机通过一条条指令来进行一步步操作。


操作系统的运行机制

操作系统在运行的时候,其实分为两种状态:核心态(管态、内核态)和用户态(目态)


其次在CPU中执行的程序,可以大致分为:内核程序和用户程序(用户自编程序)。


它们的区别在于内核程序可以执行特权指令(不允许用户直接使用的指令),例如:关中断、内存、时钟、分配系统资源、修改段、页表以及修改访问权限。


用户程序只能执行非特权指令,也就是说只能执行不会对计算机的运行产生风险的操作。


另外核心态可以执行特权、非特权指令,用户态则只能执行非特权指令。


OS内核

1、时钟管理:管理所有与时间相关的操作,包括给用户提供正确的时间、以及CPU的时钟管理


2、中断机制:多道程序设计中最重要的功能。


3、原语:原语是底层可被公开调用的小程序,其特点:最接近硬件的部分、有原子性(一旦执行便一气呵成执行完毕,不能被中断)运行时间短,调用频繁。


4、对系统资源管理的功能


中断和异常

中断和异常通过硬件实现,一旦发生立即进入核心态,将CPU控制权立马交还给操作系统。


中断也叫外中断,它的信号干预来自CPU外部,例如有IO请求人工干预。


异常也叫内中断(不能被CPU屏蔽),它的信号来源于CPU内部,主要有

陷阱、陷入(自愿中断,如系统调用)、故障(硬件故障)、终止(错误终止)。


系统调用

既然特权指令只能在核心态执行,那么用户如果想要有需要执行特权指令的业务场景怎么办呢?这是系统调用就发挥了作用。


系统调用是操作系统提供给用户与资源有关的操作。


用户进程在目态可以通过访管指令来执行系统调用程序,也就是OS提供给用户的接口,通过硬件中断机制将目态切为管态,执行完后再把结果返回给目态。具体操作如下图:



最后,每日一题打卡群,每日一题将会在6月中旬重启,没加的同学可以加一下,和冷月一起水群~


明天别忘了来做题!

关注下方“学长冷月”可获得更多408答题技巧及资料。


请帮冷月点一下旁边的在看,再点一个赞,一键三连支持一下!您的每一次点击都是对冷月莫大的鼓励,谢谢!!


点“在看”给我一朵小黄花




浏览 25
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报