用户态切内核态是用户步调在运行中的状态切换; 用户步调在运行中遇到[code]申请外部资源[/code], 比如步调实验中须要访问: [code]磁盘[/code]、[code]内存分配[/code]、[code]网卡[/code]、[code]声卡[/code], 甚至[code]主板LED指示灯[/code]时, 就会发生用户态到内核态的切换. 比如读写文件: open/read/write 就会从用户态切换到内核态; 比如申请内存: C语言的: malloc/ java语言 new 一个对象 都须要申请内存空间; 包罗select/poll/epoll 都是系统调用; 切换方式用户态到内核态的切换, 一样平常有三种方式: [code]系统调用[/code]、[code]非常[/code]、[code]中断[/code]; [code]系统调用[/code] 又有 [code]进程[/code]、[code]文件[/code]、[code]装备[/code]、[code]信息[/code]、[code]通讯[/code]等的调用; 查看内核提供的可用系统调用可以用: [code]man syscalls[/code]可以把[code]syscalls[/code]导出来看下: 系统调用大要分类如下:进程调用: 终端命令[code]exit[/code] [code]fork[/code]; 文件调用: [code]chmod[/code] [code]chown[/code]; 装备调用: [code]read[/code] [code]write[/code]; 信息读取: 比如cpu信息 [code]getcpu[/code]; 通讯: [code]pipe[/code] [code]mmap[/code](文件内存映射) 以上就是Linux用户态切换内核态方式详解的具体内容,更多关于Linux用户态切换内核态的资料请关注脚本之家其它相关文章! 来源:https://www.jb51.net/LINUXjishu/909905.html 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )
GMT+8, 2025-4-12 05:01 , Processed in 0.031546 second(s), 17 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.