Scheduler activations (original) (raw)
Scheduler activations are a threading mechanism that, when implemented in an operating system's process scheduler, provide kernel-level thread functionality with user-level thread flexibility and performance. This mechanism uses a so-called "N:M" strategy that maps some N number of application threads onto some M number of kernel entities, or "virtual processors." This is a compromise between kernel-level ("1:1") and user-level ("N:1") threading. In general, "N:M" threading systems are more complex to implement than either kernel or user threads, because both changes to kernel and user-space code are required.
Property | Value |
---|---|
dbo:abstract | Scheduler activations are a threading mechanism that, when implemented in an operating system's process scheduler, provide kernel-level thread functionality with user-level thread flexibility and performance. This mechanism uses a so-called "N:M" strategy that maps some N number of application threads onto some M number of kernel entities, or "virtual processors." This is a compromise between kernel-level ("1:1") and user-level ("N:1") threading. In general, "N:M" threading systems are more complex to implement than either kernel or user threads, because both changes to kernel and user-space code are required. Scheduler activations were proposed by Anderson, Bershad, Lazowska, and Levy in Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism in 1991. Support was implemented in the NetBSD kernel by Nathan Williams but has since been abandoned in favor of 1:1 threading. FreeBSD had a similar threading implementation called which is also being retired in favor of 1:1 threading. Scheduler activations were also implemented as a patch for the Linux kernel by Vincent Danjean: Linux Activations, the user-level part being done in the Marcel thread library. (en) Scheduler activations とはマルチスレッドを実現するための機構で、オペレーティングシステムのプロセススケジューラに実装され、カーネルレベルスレッドの機能とユーザーレベルスレッドの柔軟性・性能を提供することができる。Scheduler activations は N 個のアプリケーションスレッドを M 個のカーネルスレッド(あるいは仮想プロセッサ)に割り当てるいわゆる "N:M" モデルを用いる。これは、カーネルレベルのマルチスレッド(1:1)とユーザーレベルのマルチスレッド(N:1)の中間的な方法である。一般的にはN:Mのマルチスレッド機構は、カーネル空間とユーザー空間両方のコードに変更が必要なため、カーネルスレッドやユーザースレッドより実装が複雑である。 Scheduler activations は 1999年に Anderson、Bershad、Lazowska、Levy により提唱された。Nathan Williams によってNetBSD のカーネルに実装された が、NetBSD は現在 1:1 スレッドモデルに移行している。FreeBSD もKernel Scheduled Entitiesと呼ばれる類似のマルチスレッド実装を採用していたが、現在では 1:1 モデルに移行している。また Vincent Danjean により Linux カーネルにもパッチとして実装されたことがあり、その際ユーザーレベルの部分はMarcel thread library によって実現された。 (ja) |
dbo:wikiPageID | 4710561 (xsd:integer) |
dbo:wikiPageLength | 1867 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1084971680 (xsd:integer) |
dbo:wikiPageWikiLink | dbc:Threads_(computing) dbr:Edward_D._Lazowska dbr:FreeBSD dbr:Linux_kernel dbr:Hank_Levy_(computer_scientist) dbr:NetBSD dbr:Operating_system dbr:Kernel_Scheduled_Entities dbr:Scheduling_(computing) dbr:Thread_(computer_science) |
dbp:wikiPageUsesTemplate | dbt:Operating-system-stub |
dct:subject | dbc:Threads_(computing) |
gold:hypernym | dbr:Mechanism |
rdf:type | yago:WikicatSchedulingAlgorithms yago:Abstraction100002137 yago:Act100030358 yago:Activity100407535 yago:Algorithm105847438 yago:Event100029378 yago:Procedure101023820 yago:PsychologicalFeature100023100 yago:YagoPermanentlyLocatedEntity dbo:Organisation yago:Rule105846932 |
rdfs:comment | Scheduler activations are a threading mechanism that, when implemented in an operating system's process scheduler, provide kernel-level thread functionality with user-level thread flexibility and performance. This mechanism uses a so-called "N:M" strategy that maps some N number of application threads onto some M number of kernel entities, or "virtual processors." This is a compromise between kernel-level ("1:1") and user-level ("N:1") threading. In general, "N:M" threading systems are more complex to implement than either kernel or user threads, because both changes to kernel and user-space code are required. (en) Scheduler activations とはマルチスレッドを実現するための機構で、オペレーティングシステムのプロセススケジューラに実装され、カーネルレベルスレッドの機能とユーザーレベルスレッドの柔軟性・性能を提供することができる。Scheduler activations は N 個のアプリケーションスレッドを M 個のカーネルスレッド(あるいは仮想プロセッサ)に割り当てるいわゆる "N:M" モデルを用いる。これは、カーネルレベルのマルチスレッド(1:1)とユーザーレベルのマルチスレッド(N:1)の中間的な方法である。一般的にはN:Mのマルチスレッド機構は、カーネル空間とユーザー空間両方のコードに変更が必要なため、カーネルスレッドやユーザースレッドより実装が複雑である。 (ja) |
rdfs:label | Scheduler activations (ja) Scheduler activations (en) |
owl:sameAs | freebase:Scheduler activations yago-res:Scheduler activations wikidata:Scheduler activations dbpedia-fa:Scheduler activations dbpedia-ja:Scheduler activations https://global.dbpedia.org/id/51wFS |
prov:wasDerivedFrom | wikipedia-en:Scheduler_activations?oldid=1084971680&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Scheduler_activations |
is dbo:wikiPageRedirects of | dbr:Scheduler_Activations |
is dbo:wikiPageWikiLink of | dbr:Microkernel dbr:Thread_(computing) dbr:NetBSD dbr:Scheduler_Activations |
is foaf:primaryTopic of | wikipedia-en:Scheduler_activations |