diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-01-08 21:34:29 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-01-08 21:43:11 +0100 |
commit | cd42b6144bf707fa38555bc06e267bb16db011f5 (patch) | |
tree | ddebd4ae1c845bd062261b4335a9ab7a969a3c89 /microkernel/mach/gnumach/continuation.mdwn | |
parent | a91114fc89dd554494801349e57bd5d29454a8b1 (diff) | |
parent | e66cb01b99b60f9483de2425bca3bb104bcc9ae8 (diff) | |
download | web-cd42b6144bf707fa38555bc06e267bb16db011f5.tar.gz web-cd42b6144bf707fa38555bc06e267bb16db011f5.tar.bz2 web-cd42b6144bf707fa38555bc06e267bb16db011f5.zip |
Merge remote-tracking branch 'fp/master'
Diffstat (limited to 'microkernel/mach/gnumach/continuation.mdwn')
-rw-r--r-- | microkernel/mach/gnumach/continuation.mdwn | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/microkernel/mach/gnumach/continuation.mdwn b/microkernel/mach/gnumach/continuation.mdwn new file mode 100644 index 00000000..cdd942b7 --- /dev/null +++ b/microkernel/mach/gnumach/continuation.mdwn @@ -0,0 +1,26 @@ +[[!meta copyright="Copyright © 2010, 2012, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_gnumach]] + +[[Mach]] internally uses *[[/continuation]]*s for kernel [[thread]] management. + +The advantage is that not a full kernel thread stack has to be preserved in +case that a thread is about to enter a blocking state. This saves space. It +is not clear this is still worthwhile given today's RAM offerings. (How many +kernel threads are there, typically?) + +And, this would no longer be possible in case Mach were be made a +[[preemptive|preemption]] kernel. In the latter case, the kernel itself, that +is, kernel threads can be preempted, and then their full state needs to be +preserved. + +See also [[open_issues/multithreading]]. |