当前位置:   article > 正文

Linux操作系统———系统调用_linux ring1和riong1

linux ring1和riong1

1、简述

无论是Windows还是Linux/UINX操作系统,操作系统都负责管理和分配所有的计算机资源。为了使用户进程合理、安全地使用系统内核提供的服务和资源,操作系统提供一组用户进程与内核交互的特殊接口——系统调用

1.1、CPU指令集

指令:指示计算机硬件执行某种运算、处理功能的命令,是计算机运行的最小的功能单位

指令集:一台计算机全部指令的集合,包括指令格式、寻址方式、数据形式。

目前CPU指令集有很多,在每个CPU指令集中,每个指令都有唯一的不重复的指令编号。CPU硬件的控制单元,可以识别、解析程序中要执行的指令编号,然后控制单元使相关硬件做出相应的操作。

图1 CPU执行一条指令的过程

1.2、CPU指令权限分级

由于操作硬件极为复杂,如果允许用户程序任意使用指令集、操作硬件资源,可能出现一些不安全的操作,为了避免这种情况的出现,所以将CPU指令及分为特权级非特权级。

特权级:只能由操作系统使用的指令。

非特权级:用户程序可以使用的指令。

inter的CPU把权限分为4个级别:ring0、ring1、ring2、ring3.

其中ring0级别最高,ring3级别最低。

Linux系统中,ring0为内核态,ring3为用户态。用户程序读写IO,使用是ring3的指令,需要切换到ring0权限的系统内核,就要由用户态切换到内核态。

1.3、用户态切换为内核态的三种情况

1.系统调用

2.异常

3.外围设备的中断


文章仅为记录学习使用,后续会不断完善,如有不足、欢迎各位佬们斧正!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/476451
推荐阅读
相关标签
  

闽ICP备14008679号