社区
Linux_Kernel
帖子详情
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的?
gkernel
2006-10-31 07:22:40
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的?
谢谢~
...全文
704
12
打赏
收藏
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的?
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的? 谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
george3038
2007-03-18
打赏
举报
回复
任务都是都是while { 1} 死循环。
HaoyuTan
2007-03-17
打赏
举报
回复
cpu可以被外部的设备中断,比如产生时钟中断的芯片,cpu被中断时自动跳转到中断处理过程进行处理,而中断处理过程一般由操作系统在系统启动时设置
ToIP
2007-03-16
打赏
举报
回复
执行到while(1);之后这个用户态进程将永远处于ready状态,只要获得CPU时间就可以运行。但是无论如何,在每个时间片用完之后进程都会陷入内核,这是通过时钟中断来实现的。内核中的调度模块将根绝情况决定下面的时间片让哪个进程来运行。至于上下文如何切换,我也不很懂,比如在x86上,有全局描述符表,中断描述符表,局部描述符表,这些表就构成了硬件的上下文,还有一些软件上的上下文,那就是linux的进程控制块啊之类的,不甚了解,你要感兴趣自己慢慢学吧!
joyself
2007-03-11
打赏
举报
回复
1) 时间片到了
2) 被抢占
参考 ch4 Process Scheduling of the book "Linux kernel Development, 2nd"
仰望星空WU
2007-03-09
打赏
举报
回复
多任务的切换了:1)时间片到了;2)软件或硬件中断
hnhbdss
2007-03-09
打赏
举报
回复
时钟中断的到来会进入当前进程的内核态,返回时切换到别的进程
manespz
2007-03-03
打赏
举报
回复
很简单,如果你正在while(1); 那么如果你安装了一个轮训信号,就会中断while(1)。然后中断完成之后又继续while1.比如安装了一个时钟信号
redex
2007-03-02
打赏
举报
回复
mark.
prozilla
2007-02-18
打赏
举报
回复
如何切换,取决于调度算法。公交线路有公交调度,UNIX 系统有进程调度器
tkit
2006-11-06
打赏
举报
回复
关键在于,一个用户程序在运行的时候,系统中断是允许的,在这种情况下,即使用户程序没有主动通过系统调用切换到内核,周期性的时钟中断和随机的设备中断都会使指令流从用户态切换到内核态,而一旦进入内核态,当前进程就有可能被切换。对于非抢占式内核,通常时间片用完就会被切换,对于抢占式内核,切换的几率由于高优先级事件会更高。
ghyd
2006-11-06
打赏
举报
回复
楼主似乎对多任务得理解不够. 在你的用户任务里,即使你写的是个看似"不间断"的任务,但实际上,系统的任务调度可以打断你的这个任务的执行,转而执行其他具有更高优先级的任务,或者响应硬件中断. 最后,再返回来,继续执行你的任务.
zengwujun
2006-11-02
打赏
举报
回复
看看这个吧, 虽然有点长, 挑你关心的看
http://www.oreilly.com.cn/samplechap/understandingLinuxKernel/under_linux_kern_10.pdf
CANN driver 硬件驱动怎么在操作
系统
内核和昇腾NPU芯片之间架起一条零拷贝的数据高速公路
本文深入剖析CANN驱动如何在Linux内核与昇腾NPU之间构建零拷贝数据通道,核心机制包括内存映射(mmap)、HugePage优化、IOMMU/IOVA管理、DMA引擎协同、
中
断
上下半部处理及环形命令队列。通过消除用户态-内核态数据复制,显著降低AI训练与推理场景下的传输延迟和CPU开销,提升PCIe带宽利用率与端到端吞吐。关键技术涵盖设备驱动层的内存管理、任务提交、错误恢复与性能量化分析。
高效构建现代AI应用:LangGraph可视化界面实战指南
本文介绍如何通过Assistant-UI(TypeScript/React库)快速集成LangGraph工作流,构建具备实时状态管理、工具调用可视化、
中
断
恢复能力的生产级AI聊天界面。涵盖环境配置、
运行
时集成、核心功能实现、性能优化及多场景应用,强调工作流与UI的无缝同步和可定制化扩展。
Xilinx FPGA PCIe | XDMA IP 核 / 应用 / 测试 / 实践
本文
系统
阐述Xilinx FPGA
中
PCIe总线架构及XDMA IP核的核心应用,涵盖PCIe协议分层(事务层、数据链路层、物理层)、各版本带宽计算原理(GT/s与Gbps换算、编码效率影响),重点解析XDMA相较于其他PCIe IP(如7 Series Block、AXI-MM-to-PCIe)的功能定位与DMA引擎优势。内容包括XDMA IP配置(BASIC/PCIe ID/BARs/DMA等标签页参数)、三种传输模式(Block/Streaming/Scatter-Gather)、Linux驱动开发关键流程(probe、DMA传输、
中
断
处理)、以及基于AXI GPIO的
中
断
交互与实测性能分析。
嵌入式开发必掌握:受限资源下数据结构与算法实战(全套C源码+踩坑方案)
本文面向资源受限的MCU(如STM32、51单片机),
系统
讲解环形缓冲区、链表、队列、栈、状态机等核心数据结构的C语言实现,涵盖串口通信、按键处理、协议解析等典型场景;强调
中
断
安全、内存静态分配、溢出检测与踩坑方案,提供可量产代码及性能优化策略。
Gemma 4:26b 本地部署实测:Ollama 零门槛
运行
指南
本文详细记录了基于Ollama在消费级设备(如M1 Pro Mac)上零门槛部署Gemma 4:26b大模型的完整流程,涵盖环境准备、Ollama安装与服务验证、GGUF量化模型拉取、内存与磁盘空间优化、性能基准测试(实测32 tokens/s)及
中
文支持调优。重点解析了直连下载优于代理的技术原理、服务启动失败的七类根因、OOM实时监控与降级策略,以及Modelfile定制等可控性实践,强调其作为可嵌入工作流的确定性AI工具链价值。
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章