ULE scheduler

ULE schedulerOriginal author(s)| Jeff Roberson[1]

|

Initial release| 26 January 2003 (2003-01-26)[2]
Stable release| 3.0 (27 February 2008) [±]
Written in| C
Operating system| FreeBSD
License| BSD 2-clause

ULE is the default scheduler for the FreeBSD operating system (versions 7.1 and forward) for the i386 and AMD64 architectures.[3] It was introduced in FreeBSD version 5,[4] but it was disabled by default for a time in favor of the traditional BSD scheduler until it reached maturity. The original BSD scheduler does not make full use of SMP or SMT,[5] which is important in modern computing environments. The primary goal of the ULE project is to make better use of SMP and SMT environments. ULE should improve performance in both uniprocessor and multiprocessor environments,[6] as well as interactive response under heavy load.[7] The user may switch between the BSD scheduler and ULE using a kernel compile-time tunable.[8]

## References

1. ↑ "sched_ule(4) man page". http://www.freebsd.org/cgi/man.cgi?query=sched_ule&apropos=0&sektion=0&manpath=FreeBSD+7.1-RELEASE&format=html.
2. ↑ "FreeBSD CVS log". http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/sched_ule.c.
3. ↑ "FreeBSD 7.1-RELEASE Release Announcement". http://www.freebsd.org/releases/7.1R/announce.html. retrieved on 5 January 2009
4. ↑ "ULE: A Modern Scheduler for FreeBSD". http://www.usenix.org/event/bsdcon03/tech/full_papers/roberson/roberson.pdf.
5. ↑ McKusick & Neville-Neil 2004, 4.4. Thread Scheduling.
6. ↑ "FreeBSD 7.0-RELEASE Release Notes". http://www.freebsd.org/releases/7.0R/relnotes.html.
7. ↑ Roberson, Jeff. "ULE 2.0". http://jeffr-tech.livejournal.com/3729.html.
8. ↑ "FreeBSD Handbook". Chapter 8 Configuring the FreeBSD Kernel. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html.

### Sources

* McKusick, M. K.; Neville-Neil, G. V. (2004). The Design and Implementation of the FreeBSD Operating System. Pearson Education. ISBN 978-0-321-68003-7. https://books.google.com/books?id=-RqMzqH__BMC&pg=PT153. Retrieved 2014-06-15.

* v
* t
* e

The FreeBSD Project

FreeBSD|

* FreeBSD Core Team
* FreeBSD Documentation License
* FreeBSD Foundation
* FreeBSD Ports
* Version History
* Kernel Normal Form

Subsystems|

| Scheduling|

* ALTQ
* ULE scheduler

|

Virtualisation|

* chroot
* jail
* bhyve

Storage|

* GEOM
* raid5
* GBDE
* geli
* LVM2
* vinum
* disklabel
* fdisk
* UFS
* Soft updates
* VFS
* ZFS
* Highly Available STorage

Networking|

* 802.11 drivers
* ALTQ
* Bluetooth
* BPF
* IPFilter
* ipfw
* Netgraph
* NDIS
* pf
* CARP
* pfsync
* SCTP

Other|

* busdma
* DTrace
* OpenPAM
* OpenBSM
* portsnap
* kqueue
* KLD
* moused
* systat

People|

* Matthew Dillon
* Jordan Hubbard
* Poul-Henning Kamp
* Mike Karels
* Ben Laurie
* Sam Leffler
* Marshall Kirk McKusick
* Diomidis Spinellis
* Robert Watson
* Dru Lavigne

Derivatives|

| open-source|

* XNU
* Darwin
* DesktopBSD
* DragonFly BSD
* FreeNAS
* FreeSBIE
* GhostBSD
* Kylin
* MidnightBSD
* m0n0wall
* OPNsense
* pfSense
* TrueOS
* GNU/kFreeBSD
* Gentoo/FreeBSD
* XigmaNAS

|

proprietary|

* Junos
* macOS]], iOS, tvOS, and watchOS
* Nintendo Switch OS
* OpenServer 10
* PlayStation 3 OS
* PlayStation 4 OS
* PlayStation Vita OS

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/ULE scheduler. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:ULE_scheduler&oldid=353533"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template