Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DragonFly BSD
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==== Threading ==== As support for multiple [[instruction set architecture]]s complicates [[symmetric multiprocessing]] (SMP) support,<ref name="behind-dfbsd" /> DragonFly BSD now limits its support to the [[x86-64]] platform.<ref name="osnews-mp-improved" /> DragonFly originally ran on the [[x86]] architecture, however as of version 4.0 it is no longer supported. Since version 1.10, DragonFly supports 1:1 userland threading (one kernel thread per userland thread),<ref name="luciani_dcbsdcon2009" /> which is regarded as a relatively simple solution that is also easy to maintain.<ref name="unix-for-clusters" /> Inherited from FreeBSD, DragonFly also supports multi-threading.<ref name="paying-off-already" /> In DragonFly, each [[Central processing unit|CPU]] has its own thread scheduler. Upon creation, threads are assigned to processors and are never preemptively switched from one processor to another; they are only migrated by the passing of an [[inter-processor interrupt]] (IPI) message between the CPUs involved. Inter-processor thread scheduling is also accomplished by sending asynchronous IPI messages. One advantage to this clean compartmentalization of the threading subsystem is that the processors' on-board [[CPU cache|caches]] in [[symmetric multiprocessor system]]s do not contain duplicated data, allowing for higher performance by giving each processor in the system the ability to use its own cache to store different things to work on.<ref name="unix-for-clusters" /> The [[Light Weight Kernel Threads|''LWKT'']] subsystem is being employed to partition work among multiple kernel threads (for example in the networking code there is one thread per protocol per processor), reducing competition by removing the need to share certain resources among various kernel tasks.<ref name="behind-dfbsd" />
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)