社区
Linux_Kernel
帖子详情
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的?
gkernel
2006-10-31 07:22:40
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的?
谢谢~
...全文
625
12
打赏
收藏
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的?
弱弱的问,一个while(1){}的程序在user space中运行,是怎么被系统中断并切换到别的process的? 谢谢~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
操作
系统
选择+简答
中
断
是指计算机
运行
过程
中
,出现某些意外情况需主机干预时,机器能自动停止正在
运行
的
程序
并转入处理新情况的
程序
,处理完毕后又返回原被暂停的
程序
继续
运行
。什么是多道
程序
设计?两个或两个以上
程序
在计算机
系统
...
谢旭升《操作
系统
教程》课后习题解答
原文和下载地址:http://liuyanzhao.com/2916.html习题一1.设计操作
系统
的主要目的是什么? 设计操作
系统
的目的是: ...(2)从用户的观点来看,设计操作
系统
是为了给用户使用计算机提供
一个
良好的界面
利用STM32CubeMX和Keil模拟器,3天入门FreeRTOS(4.2) ——
中
断
函数
中
使用队列
FreeRTOS
中
断
函数
中
使用队列
四川大学软件学院_操作
系统
笔记_2024-2025学年度秋
进程是动态的,是正在执行的
程序
是
程序
的一次执行过程(同
一个
程序
的多次
运行
会对应多个进程)操作
系统
在创建
一个
进程时会为其创造
一个
唯一的PID(
Process
ID),除了PID之外,还会有UID(进程所属用户),分配了...
rust写操作
系统
rCore tutorial 学习笔记:实验指导六 用户
程序
与
系统
调用
这是 os summer of code 2020 项目每日记录的一部分: 每日记录github地址(包含根据实验指导实现的每个阶段的代码):...单独生成 ELF 格式的用户
程序
,并打包进文件
系统
中
创建并
运行
用户进程 使用
系统
调
Linux_Kernel
4,465
社区成员
17,462
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章