2. 系统调用

一、操作系统接口

​ 操作系统接口是连接操作系统和应用软件的函数,表现为系统调用

二、系统调用

2.1 什么是系统调用

​ 根据进程访问资源的特点,可以把进程在系统上的运行分为两个级别:

  • 用户态:可以直接读取用户程序的数据的进程;
  • 内核态:可以访问计算机任何资源的进程

​ 凡是与系统态级别的资源有关的操作(如文件管理、进程控制、内存管理等)都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。

​ 系统调用功能大致分类:

  • 设备管理:完成设备的请求、释放、启动等功能;
  • 文件管理:完成文件的读、写、创建和删除等功能;
  • 进程控制:完成进程的创建、撤销、阻塞和唤醒等功能;
  • 进程通信:完成进程间消息传递或信号传递等功能;
  • 内存管理:完成内存分配、回收以及获取作业占用内存区大小及地址等功能。

2.2 系统调用的实现

​ 内存被硬件分割成两部分:内核态和用户态
在这里插入图片描述

​ 用户态的应用程序不能进入内核态,因为内核中保存了操作系统的重要信息,比如 Linux 的 root 密码,如果被用户程序直接访问,很容易引起灾难;

​ 操作系统保证用户态的应用程序不能进入内核态的方法:通过比较 DPL(目标特权级别) 和 CPL(当前特权级别) 的大小

​ 系统调用如何进入内核态:硬件提供了主动进入内核的方法——中断:中断指令将 CPL 改成 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值