Linux操作系统———系统调用

本文概述了操作系统如何管理和分配计算机资源,介绍了系统调用作为用户进程与内核交互的接口,详细解释了CPU指令集、权限分级(特权级与非特权级),并列举了用户态切换到内核态的三种情况:系统调用、异常和外围设备中断。
摘要由CSDN通过智能技术生成

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.外围设备的中断


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何予YU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值