我知道中断会导致操作系统将CPU从当前任务中更改为运行内核例程。在这种情况下,系统必须保存在CPU上运行的进程的当前上下文。 但是,我想知道当任何随机进程进行系统调用时是否发生上下文切换。通过随机系统调用的上下文切换
0
A
回答
0
我想知道当任何随机进程进行系统调用时是否发生上下文切换。
不准确。回想一下,如果一个进程当前正在运行,那么这个进程只能进行系统调用 - 不需要将上下文切换到已经运行的进程。
如果某个进程发出阻塞系统调用(例如,sleep()
),则会切换到下一个可运行进程的上下文,因为当前进程正在休眠。但那是另一回事。
0
通常有两种方法可以导致内容切换。 (1)定时器中断调用强制执行上下文切换的调度程序或(2)过程产生。大多数操作系统都有一些系统服务,这些服务会导致进程产生CPU。
0
好吧,我明白你的意思了。所以,首先我清楚一个关于系统调用的非常基本的想法。
当进程/程序进行系统调用并中断内核以调用系统调用处理程序时。 TSS加载内核堆栈并跳转到系统调用函数表。
看到它的运行程序本身的不同部分实际上相同,唯一的主要变化是内核在这方面发挥的作用,这段代码将在环0中执行
现在你的问题“会出现什么如果上下文切换发生时,随机进程正在进行系统调用?“
好吧,什么都不会发生。事情会像以前一样工作。只需要在TSS中拥有正常的地址,而不必在该随机进程的TSS中指向内核堆栈和SysCall函数表地址。
相关问题
- 1. 线程调用系统调用时的上下文切换
- 2. 没有上下文切换的系统调用?
- 3. 操作系统中的上下文切换
- 4. 随机android系统
- 5. 制作一个WPF系统上下文菜单项可切换
- 6. 切换android系统
- 7. 如何跟踪通过厨师刀切换系统的变化?
- 8. 是否有可用于跟踪上下文切换的Linux系统API?
- 9. Android系统/系统上下文/替换类
- 10. 线程上下文切换vs进程上下文切换
- 11. Linux:通过ptrace()执行系统调用()
- 12. 随机UIView切换器
- 13. C# - 系统切换隐藏文件?
- 14. 通过Windows上的MINGW32在Python中进行系统调用
- 15. 使用API REST通过文件系统上传的文件
- 16. Linux系统:当切换至
- 17. 用随机数制作破坏系统
- 18. 在Linux下挂载系统调用不能显示文件系统的挂载点通过df命令
- 19. 用jquery切换一个随机类
- 20. lpc 1769上下文切换
- 21. Python:GIL上下文切换
- 22. 切换画布上下文
- 23. 上下文切换太贵
- 24. PHP上下文切换
- 25. 写入系统调用C-HDD顺序或随机访问?
- 26. 通过系统调用在Linux上监控内存
- 27. 通过名称调用系统调用的麻烦
- 28. 命令通过终端,但不是通过python系统调用
- 29. 待定线性系统的随机解
- 30. Magento的结账系统随机锁死
你能告诉我“过程控制块”在这个过程中的作用是什么? –