由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Linux scheduler (转载)
相关主题
请教牛人:自学内核编程怎么开始呢调试版链接时间特别长
求推荐关于linux的书INIT_WORK从Linux kernel 2.6.20后改了?
why do we need to map user threads to kernel threads?请教一个linux下面的多线程semaphore的问题。
docker的致命缺陷How can linux kernel signal an event to user application ?
multithread app的design要注意哪些问题?写给对系统感兴趣的人
学了一个星期linux内核,顿感人生层次提升了很多C++要学到什么程度?
linux现在主要是谁在开发呢?一个有向图问题
[合集] question about the kernel scheduler (转载)把windows batch放task scheduler里,一闪而过
相关话题的讨论汇总
话题: linux话题: scheduler话题: kernel话题: 内核话题: user
进入Programming版参与讨论
1 (共1页)
i**p
发帖数: 902
1
【 以下文字转载自 Linux 讨论区 】
发信人: isup (No), 信区: Linux
标 题: Linux scheduler
发信站: BBS 未名空间站 (Wed Oct 22 20:32:24 2014, 美东)
用户空间的进程是由scheduler调度的.
内核空间的任务也是由scheduler调度的吗? 比如我写了一个device driver,让它死循
环, 内核有没有机制在一段时间以后将这个任务挂起? 还是只有用高优先级的中断打段
它的执行?
m********2
发帖数: 89
2
只要不 diable local interrupt and preempt ion,就可能被 scheduler preempt。
当然还有 nmi。

【在 i**p 的大作中提到】
: 【 以下文字转载自 Linux 讨论区 】
: 发信人: isup (No), 信区: Linux
: 标 题: Linux scheduler
: 发信站: BBS 未名空间站 (Wed Oct 22 20:32:24 2014, 美东)
: 用户空间的进程是由scheduler调度的.
: 内核空间的任务也是由scheduler调度的吗? 比如我写了一个device driver,让它死循
: 环, 内核有没有机制在一段时间以后将这个任务挂起? 还是只有用高优先级的中断打段
: 它的执行?

i**p
发帖数: 902
3
我记得在哪里读过一旦进入内核空间, 调度程序就只有等到该进程回到用户空间才能切
换.
换句话说, 我能否设计一个巨大计算在内核空间完成, 同时又给其他同优先级的进程不
必等到该计算完成也能有机会运行?

【在 m********2 的大作中提到】
: 只要不 diable local interrupt and preempt ion,就可能被 scheduler preempt。
: 当然还有 nmi。

S*A
发帖数: 7142
4

这个是没有 preempt 的 kernel 情况。不一定回到 user space。
直接调用 schedule() 也可以导致被切换。
为吗要放到内核来作计算呢?这个完全不 make sense.
你完全可以用 user space 的程序来完成这个啊。

【在 i**p 的大作中提到】
: 我记得在哪里读过一旦进入内核空间, 调度程序就只有等到该进程回到用户空间才能切
: 换.
: 换句话说, 我能否设计一个巨大计算在内核空间完成, 同时又给其他同优先级的进程不
: 必等到该计算完成也能有机会运行?

i**p
发帖数: 902
5
"为吗要放到内核来作计算呢?"
这不是举个例子来说明我的问题吗.

【在 S*A 的大作中提到】
:
: 这个是没有 preempt 的 kernel 情况。不一定回到 user space。
: 直接调用 schedule() 也可以导致被切换。
: 为吗要放到内核来作计算呢?这个完全不 make sense.
: 你完全可以用 user space 的程序来完成这个啊。

z******g
发帖数: 271
i**p
发帖数: 902
7
Thanks! Got it from one link. There is a change for this in 2.6.x
The Linux kernel provides preemptive scheduling under certain conditions.
Until kernel version 2.4, only user processes were preemptive, i.e., in
addition to time quantum expiration, an execution of current process in user
mode would be interrupted if higher dynamic priority processes entered TASK
_RUNNING state.[59] Toward 2.6.x series of the Linux kernel, an ability to
interrupt a task executing kernel code was added, although with that not all
sections of the kernel code can be preempted.

【在 z******g 的大作中提到】
: These might help:
: http://en.wikipedia.org/wiki/Kernel_preemption
: http://en.wikipedia.org/wiki/Linux_kernel#PREEMPTION

1 (共1页)
进入Programming版参与讨论
相关主题
把windows batch放task scheduler里,一闪而过multithread app的design要注意哪些问题?
科普贴,fusion IO学了一个星期linux内核,顿感人生层次提升了很多
怎样中断一个正在等待的Java线程比较好?linux现在主要是谁在开发呢?
问一个machine learning/SVM 问题[合集] question about the kernel scheduler (转载)
请教牛人:自学内核编程怎么开始呢调试版链接时间特别长
求推荐关于linux的书INIT_WORK从Linux kernel 2.6.20后改了?
why do we need to map user threads to kernel threads?请教一个linux下面的多线程semaphore的问题。
docker的致命缺陷How can linux kernel signal an event to user application ?
相关话题的讨论汇总
话题: linux话题: scheduler话题: kernel话题: 内核话题: user