Professional Documents
Culture Documents
Case Comp
Case Comp
Comparing Architectures
Scheduling Memory Management- Paging File management Security Speed
Scheduling
Scheduling
Windows
Two scheduling classes
Real time (fixed) priority 16-31 Dynamic - priority 1-15
Fixed 31
16 15 Dynamic I/O
Windows
Scheduling
Linux
0
Has 2 scheduling classes: Dynamic priority 100-139 Fixed RR priority 0-99 Lower priorities are favored Priorities of normal threads go up (decay) as they use CPU Priorities of interactive threads go down (boost) Linux assign higher-priority task longer time quantum
Fixed Round-Robin
I/O
CP
Linux
Scheduling
Unix No scheduling classes are created in UNIX. CPU scheduling in UNIX is designed to benefit interactive process.
Memory Management
0 User
Linux
Global working set management uses clock algorithm
No swapper
LRU Process
No swapper (the working set trimmer code is called the swap daemon, however)
LRU
I/O Management
Windows
Centered around the file object Layered driver architecture throughout driver types Most I/O supports asynchronous operation Internal interrupt request level (IRQL) controls interruptability Interrupts are split between an Interrupt Service Routine (ISR) and a Deferred Procedure Call (DPC) Supports plug-and-play
Linux Centered around the vnode No layered I/O model Most I/O is synchronous
Only sockets and direct disk I/O support asynchronous I/O
Internal interrupt request level (IRQL) controls interruptability Interrupts are split between an ISR and soft IRQ or tasklet Supports plug-and-play
IRQL Masked
File Management
File Caching
Windows
Single global common cache Virtual file cache
Caching is at file vs. disk block level Files are memory mapped into kernel memory
Linux
Single global common cache Virtual file cache
Caching is at file vs. disk block level Files are memory mapped into kernel memory
File Cache
File Cache
Disk Driver
Disk Driver
I/O Processing
Linux 2.2 had the notion of bottom halves (BH) for lowpriority interrupt processing
Fixed number of BHs Only one BH of a given type could be active on a SMP
Linux 2.4 introduced tasklets, which are non-preemptible procedures called with interrupts enabled Tasklets are the equivalent of Windows Deferred Procedure Calls (DPCs)
Security
Security
Windows
Very flexible security model based on Access Control Lists Users are defined with Privileges Member groups Security can be applied to any Object Manager object Files, processes, synchronization objects, Supports auditing Concept of user id and password ,but optional.
Security
Linux
Two models: Standard UNIX model Access Control Lists (SELinux) Users are defined with: Capabilities (privileges) Member groups Security is implemented on an object-by-object basis Has no built-in auditing support Concept of user id and password.
security
unix
Further Reading
Transaction Processing Council: www.tpc.org SPEC: www.spec.org NT vs Linux benchmarks: www.kegel.com/nt-linuxbenchmarks.html The C10K problem: http://www.kegel.com/c10k.html Linus Torvalds home: http://www.osdl.org/ Linux Kernel Archives: http://www.kernel.org/ Linux history: http://www.firstmonday.dk/issues/issue5_11/moon/ Veritest Netbench result: http://www.veritest.com/clients/reports/microsoft/ms_netbench.pdf Mark Russinovichs 1999 article, Linux and the Enterprise: http://www.winntmag.com/Articles/Index.cfm?ArticleID=5048 The Open Group's Single UNIX Specification: http://www.unix.org/version3/