IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux 系统调用详解 -> 正文阅读

[系统运维]Linux 系统调用详解

系统调用

系统调用是操作系统提供给用户程序调用系统服务的一组“特殊”接口。



前言

在这里插入图片描述



系统调用

系统调用可被看成是一个内核与用户空间程序交互的接口,它把用户进程的请求传达给内核,待内核把请求处理完毕后再将处理结果送回给用户空间。

在这里插入图片描述



系统调用的作用


  • 把用户从底层的硬件编程中解放出来
与具体的硬件完全隔离,用户不需要面向具体的硬件编码,降低了开发的复杂性和难度。极大的提高了系统的安全性
  • 将用户进程隔离实现内核“保护”
用户进程不允许访问内核数据,也无法使用内核函数。用户访问内核的路径是事先规定好的,只能从规定位置进入内核,而不准许肆意跳入内核。有了这样的陷入内核的统一访问路径限制才能保证内核安全无误。
  • 使用户程序具有可移植性


中断实现系统调用


软件中断

它是通过软件指令触发的中断。Linux系统内核响应软件中断,从用户态切换到内核态,执行相应的系统调用。

系统调用控制程序执行软件中断的过程如下:

1.在进程的内核态堆栈中保存大多数寄存器的内容(即保存恢复进程到用户态执行所需要的上下文)

2.根据用户态传递的系统调用号,确定系统调用的执行程序

3.调用相应的执行程序来处理系统调用

4.从系统调用返回



系统调用号和系统调用表


系统调用号:

每个系统调用被赋予一个系统调用号,与具体的系统调用相关联。

在这里插入图片描述

系统调用表:

内核维护系统调用表,保存系统调用函数的起始地址,系统调用号对应系统调用在调用表中的偏移量。

在这里插入图片描述



执行系统调用


glibc库

glibc是Linux下使用的开源的标准C库,它是GNU发布的libc库,即运行时库。

syscall 调用

glibc提供的syscall函数,直接调用。



glibc库

  • 每个特定的系统调用对应了至少一个glibc封装的库函数
  • 多个API也可能只对应同一个系统调用
  • 返回值-1在多数情况下表示内核不能满足进程的请求
  • Libc中定义的errno变量包含特定的错误码在这里插入图片描述


glibc函数库对比Syscall调用

优势劣势
glibc函数库只需了解glibc提供的API的原型,无须知道更多的细节,如系统调用号。其次,更好的移植性没有封装某个内核提供的系统调用时无法使用
syscall调用可定制自己的系统调用使用起来不方便
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:38:51  更:2021-12-26 22:38:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 6:25:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码