内核函数

运行在内核态的,一般来说特权级较高。

系统调用

系统调用是程序进入内核函数的接口层,大量的内核函数被封装再系统调用中。再进入不同的系统调用之后,系统调用中的内核函数被称为该系统调用的服务例程。

系统命令

比如在cmd中的ls,ll。系统命令相比于库函数就会更高一层,每一个系统命令都是一个可执行的程序。比如我们strace ls。就可以看出来他调用了open(),brk()等系统调用命令。
strace 是一个Linux用户空间跟踪器,可以通过它来监视用户进程和内核的交互,比如系统调用,信号传递和进程状态变更……
strace底层使用内核的ptrace特性来实现其功能。

库函数

库函数也就是我们所说的编程接口,application programming interface。比如常见的文件操作,read(),write()。而这样的操作必定是接触到硬件的,因此也一定会进入内核态。那为什么不直接使用系统调用呢?
这是因为在用户态和内核态中,我们都是用了缓冲区技术。我们会等到缓冲区满的时候,才会将所有的数据写回去。这样就减少了用户态和内核态切换的次数及其成本。
所以不直接使用系统调用技术。

内核函数 系统调用 系统命令 库函数相关推荐

  1. linux下的系统调用函数到内核函数的追踪

    Original from: http://blog.chinaunix.net/uid-28458801-id-3468966.html 使用的 glibc : glibc-2.17 使用的 lin ...

  2. 操作系统原理,系统调用,系统调用与库函数API等函数之间的调用关系,功能与机制设计,系统调用的执行过程与Linux系统调用执行示例,不同操作系统下的PCB

    操作系统原理,系统调用,功能与机制设计,系统调用的执行过程与Linux系统调用执行示例,不同操作系统下的PCB 一.系统调用:操作系统功能调用,用户在编程时可以调用的操作系统功能. 1.系统调用是操作 ...

  3. linux 3.5.0-23-generic内核版本系统调用数目,Linux操作系统分析(三)- 更新内核与添加系统调用...

    环境:Ubuntu 12.10     学号:SA****199 1.更新内核: 直接安装的系统内核版本一般不是最新,用 uname -a 查看一下 自己的版本,OK,我的是: Linux chenh ...

  4. python 调用linux内核api_Linux系统调用及用户编程接口(API)学习

    Linux系统学习 系统调用指操作系统提供给用户程序调用的一组"特殊"接口,用户程序可以通过这组"特殊"接口来获得操作系统内核提供的服务. 为什么用户程序不能直 ...

  5. linux中系统调用和库函数的区别

    linux中系统调用和库函数的区别 2013-05-03 22:18:20 分类: LINUX 首先,要说一下两者的概念: 系统调用 :是操作系统为用户态运行的进程和硬件设备(如CPU.磁盘.打印机等 ...

  6. 系统调用和库函数的区别

    首先,要说一下两者的概念: 系统调用 :是操作系统为用户态运行的进程和硬件设备(如CPU.磁盘.打印机等)进行交互提供的一组接口,即就是设置在应用程序和硬件设备之间的一个接口层.可以说是操作系统留给用 ...

  7. (49)逆向分析KiSystemService/KiFastCallEntry调用内核函数部分(SST,SSDT,SSPT)

    一.回顾 前两篇博客,我逆向分析了 KiSystemService 和 KiFastCallEntry 填充_KTRAP_FRAME 结构体的代码,二者大同小异,主要的区别是 sysenter 只改了 ...

  8. linux应用调用内核函数,Hooking linux内核函数(一):寻找完美解决方案

    前言 我们最近参与了一个Linux系统安全相关项目,需要hooking几个重要的Linux内核函数调用,例如打开文件和启动进程,并利用它来启用系统活动监控并抢先阻止可疑进程. 最后,我们发明了一种有效 ...

  9. linux内核添加系统调用(详细)

    linux内核添加系统调用(详细) 说在前面: 这是我第五次编译内核,分别踩了很多坑.中途问过wz佬,佬让我用qemu.我还是最后换ubuntu虚拟机跑了.现在已经有点emo了. 这篇博客是我第五次的 ...

最新文章

  1. 突破:量子计算机首次实现简化逻辑门
  2. python提升计算速度的方法
  3. 小马哥spring编程核心思想_Spring核心思想理解
  4. 双极型三极管共集电极、共基极放大电路
  5. 人力资源SaaS软件“乐才Joy HR”获数百万元战略融资
  6. java getselectedrow_Java Swing实现展示数据,以及过滤排序
  7. 解决岛屿类问题(网格)通用解法DFS(附题)
  8. ubuntu + pycharm + anaconda + pyqt4 + tools 配置
  9. SuperMap 办公自动化服务平台
  10. matlab 方程组求导,matlab求导及线性方程组的求解
  11. 今日头条推荐算法原理全文详解之二
  12. Still,yet和already的用法
  13. SpringCloud 统一网关Gateway -- 为什么需要网关、Gateway快速入门、路由断言工厂(Route Predicate Factory)
  14. Infer的安装及基本使用
  15. Git学习笔记(二)——Git的分支管理、储藏和标签
  16. Python 打开/关闭其他应用程序方法
  17. 关于微信小程序的多选和全选实现
  18. iOS8.1 APP图片模糊变形解决
  19. 已知坐标增量求坐标方位角_桥梁桩基坐标计算原理
  20. 修改历史git提交用户名和邮箱错误,解决没有小绿点

热门文章

  1. MFC与Matlab编程总结 (以《Matlab与C/C++混合编程技术(第三版)》-刘维 第五章 生成DLL为例)
  2. carsim的学习笔记2——test specifications
  3. python3精要(45)-exit
  4. 【机器学习】机器学习必知概念
  5. 【小白学PyTorch】11.MobileNet详解及PyTorch实现
  6. 【白话机器学习】算法理论+实战之EM聚类
  7. 推荐系统炼丹笔记:聊一聊特征交叉新方式CAN
  8. Java_案例实例1.简单的人机交互
  9. vue如何在用户要关闭当前网页时弹出提示
  10. IdentityServer Topics(1)- 启动说明