0%

Linux:Linux内核级安全开发基础(3)Linux系统调用概述

Linux内核级安全开发基础

1.3 Linux系统调用概述

1.系统调用与系统安全

当代计算机体系中

  • 操作系统内核运行在系统态
  • 应用程序运行在内核态——权限受到限制:不能执行特权指令,不能直接对硬件进行操作

===>有利于保证操作系统的安全性

——>带来问题:应用程序为了应用任务需要执行特权指令或者访问硬件,例:访问磁盘来保存自己的数据

解决思路:操作系统为应用程序提供相应的服务,应用程序间接执行特权指令或者访问硬件

  1. 操作系统在提供服务之前进行安全控制检查
  2. 检查通过,提供相应的特权操作或硬件访问操作

这是操作系统的重要任务之一:为应用程序的运行提供各种操作系统服务

——应用程序要访问硬件或者执行某特权操作,只需要调用相应的操作系统服务,这就是系统调用过程

——每一种类型的服务被称为一个系统调用

2.系统调用的服务功能

操作系统的服务是以系统调用接口形式存在的

系统调用是应用程序和操作系统内核之间的功能接口

  • 目的:比较方便使用操作系统提供的有关设备管理、输入/输出系统、文件系统和进程控制、通信以及存储管理等方面的功能,而不用了解系统内核代码的内部结构和有关硬件细节
  • 编程中用到的很多函数,如open()write()read(),都跟具体的系统调用相对应