Linux用户态切换内核态方式详解
用户态切内核态
是用户程序在运行中的状态切换;
用户程序在运行中遇到申请外部资源
, 比如程序执行中需要访问: 磁盘
、内存分配
、网卡
、声卡
, 甚至主板LED指示灯
时, 就会发生用户态到内核态的切换.
比如读写文件: open/read/write 就会从用户态切换到内核态;
比如申请内存: C语言的: malloc/ java语言 new 一个对象 都需要申请内存空间;
包括select/poll/epoll 都是系统调用;
切换方式
用户态到内核态的切换, 一般有三种方式: 系统调用
、异常
、中断
; 系统调用
又有 进程
、文件
、设备
、信息
、通信
等的调用;
查看内核提供的可用系统调用可以用: man syscalls
可以把syscalls
导出来看下:man syscalls|col -b >syscalls.txt
系统调用大体分类如下:
进程调用: 终端命令exit
fork
;
文件调用: chmod
chown
;
设备调用: read
write
;
信息读取: 比如cpu信息 getcpu
;
通信: pipe
mmap
(文件内存映射)
以上就是Linux用户态切换内核态方式详解的详细内容,更多关于Linux用户态切换内核态的资料请关注脚本之家其它相关文章!
相关文章
linux系统中一次用户态进程死循环案例的分析过程以及解决办法
这篇文章主要为大家介绍了linux系统中用户态进程死循环的分析过程,业务进程(用户态多线程程序)挂死,操作系统反应迟钝,系统日志没有任何异常。从进程的内核态堆栈看,看2014-10-09Linux(KDE)使用Network Settings设置静态ip详细教程
这篇文章主要为大家介绍了Linux(KDE)使用Network Settings设置静态ip详细教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-31- 这篇文章主要为大家介绍了Linux调整Swap空间大小的扩容技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-31
linux下du和df命令已使用空间结果不一致的原因及处理办法
Linux df和du命令查出来的已使用空间不同如何解决?Linux系统使用的时候,竟然发现df和du查出来的结果不一样,du查出来的明显比df查出来的已使用空间要小很多,下面我们就2023-08-16- Linux创建或删除文件夹的命令怎么用?linux系统中想要创建和删除文件夹,可以直接使用命令操作,该怎么用呢?下面我们就来看看详细的教程2023-08-02
- 在linux中使用shar命令可以讲文件打包,发送即可,十分的便捷,本文中介绍的是使用shar创建自解压文件的方法2023-07-13
- Linux网络开发者面临的问题往往比较复杂,因此需要使用一些工具和命令来进行定位和解决。在本篇博客中,我将总结一些常用的Linux网络开发者工具和命令,包括网络包观测、各2023-07-02
linux/ubuntu系统怎么安装百度网盘? linux百度网盘安装图文教程
linux/ubuntu系统怎么安装百度网盘?linux系统中想要安装百度网盘,该怎么安装呢?下面我们就来看看linux百度网盘安装图文教程2023-06-02新补丁发布! 修复Linux 6.3 更新导致 XFS 元数据故障
在升级到 6.3.3 维护版本更新之后,基于 XFS 格式的服务器就出现不断崩溃的问题现在已经找到原因,并发布新的补丁,详细请看下文介绍2023-05-30linux如何导出文件到本地电脑? Linux命令导出文件的技巧
linux如何导出文件到本地电脑?linux系统中的文件,想要导出道本地,该怎么操作呢?下面我们就来看看Linux命令导出文件的技巧2023-05-17
最新评论