查看“Multitasking Systems”的源代码
←
Multitasking Systems
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
多任务系统是指操作系统 (甚至是系统中的扩展)在多个任务之间自动共享可用处理器时间的行为。 == 多任务系统的类型 == 有许多方法可以实现多任务处理。 === Cooperative Multitasking 协作多任务 === 对于 [[Cooperative_Multitasking | 协作多任务]],任务可以一直使用CPU,直到它自愿放弃CPU (可以是yields或exits)。 协作多任务系统的示例是pre-X MacOS或Windows 3.X。 在一些单语言协作多任务系统中,如Oberon和ruby中,编译器/解释器会自动确保代码周期性地产生控制; 让这样的程序可以在DOS等操作系统上(译者注:指不是操作系统,而是语言运行时实现的多线程)运行多个线程。 === Preemptive Multitasking 抢占性多任务 === 在 [[preemptive_multiptasking | 抢占性多任务]] 系统中,某些当前运行的任务切换不是由任务主动放弃CPU引起的,并且由于某些其它原因而完成 (包括当任务消耗了给定的时间或当更高优先级的任务需要CPU时)。 几乎所有的现代操作系统都是这种形式 - 例如Linux,*BSD,Windows 3.x以后,BeOS,AmigaOS。 你可以进一步将这些系统细分为可以抢占任务和可以抢占 “内核本身” 的系统。 Linux (pre-2.6内核) 是前者的一个例子,而AmigaOS是后者的一个例子。 这是多媒体应用程序或任何 “软” [[Real-Time Systems|实时系统]] 的主要关注点,因为非抢先内核会引入延迟,从而可能破坏媒体播放 “近乎实时” 的性能要求。 == 另见 == === 文章 === *[[Context Switching]] *[[Monotasking Systems]] *[[Scheduling Algorithms]] *[[Kernel Multitasking]] === 外部链接 === *[[wikipedia:Computer_multitasking| Computer Multitasking]] on Wikipedia. [[Category:Task Models]]
返回至“
Multitasking Systems
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
变体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息