| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Files spread between Dropbox, Google Drive, Gmail, Slack, and more? Dokkio, a new product from the PBworks team, integrates and organizes them for you. Try it for free today.

View
 

IO

Page history last edited by widefox 10 years, 11 months ago

 

 

Kernel Comparison: Linux (2.6.28) versus Windows (Vista SP1)

 

 

I/O

I/O General

I/O Management (general) Linux Windows
centred around inode file object
layered I/O model N Y
generic file descriptors (pipes and network connections that act like files) Y N
wake-one socket semantics (#512, #512) Y Y

 

Default I/O Scheduler

I/O Scheduler (default) Linux Windows
default discipline CFQ SCAN?
i.e. I/O priority based Y Y

 

Alternative I/O Scheduler

I/O Scheduler (alternative) Linux Windows
alternative discipline available Y N
alternative discipline selected at boot Y N
alternative discipline selected at runtime Y N
alternative discipline assignable per device Y N
I/O Scheduler (available disciplines)
anticipatory Y N
Completely Fair Queuing (CFQ) Y N
Deadline Y N
Elevator algorithm (SCAN) N Y?
Elevator algorithm variants (C-SCAN, LOOK, C-LOOK, FSCAN) N N
First In, First Out (FIFO) (or First Come First Served (FCFS)) N N
Highest Response Ratio Next (HRRN) N N
Last In, First Out (LIFO) N N
N-Step-SCAN N N
Random Scheduling (RSS) N N
requested merge FIFO (NOOP) Y N
Shortest Seek / Service Time First (SSTF) (shortest seek first) N N
Stochastic Fair Queuing (SFQ) N N

 

I/O Performance

I/O Management (performance) Linux Windows
zero-copy file sending Y Y

 

Vectored I/O

I/O Management (vectored) Linux Windows
Scatter/Gather DMA Y Y
vectored I/O support (#501, #502) Y Y
asynchronous vectored I/O support (#501, #502) Y Y

 

Asynchronous I/O

I/O Management (asynchronous) Linux Windows
asynchronous I/O support (#502, #502) Y Y
asynchronous I/O support - general system (#512, #512) N Y
asynchronous I/O support - system (#512, #512) AIO (or epoll) completion ports
asynchronous I/O cancellation Y Y

 

I/O Priority

I/O Priority Linux Windows
I/O priority based on thread priority - default Y Y
I/O priority - user control (read, write) (#43, #44) Y Y

 

I/O Priority - read

I/O Priority - read Linux Windows
I/O priority (#43, #44) Y Y
I/O timeslice or packet (#43, #44) timeslice packet
I/O bandwidth reservation (#43, #44) N Y
I/O priority - scheduling class levels - realtime (IOPRIO_CLASS_RT, -) (#43, #44) 8 ("0-7") 0
I/O priority - scheduling class levels - best effort (IOPRIO_CLASS_BE, default) (#43, #44) 8 ("0-7") 5 (4 used) (5 "Critical",- "High",3 "Normal",2 "Low",1 "Very low")
I/O priority - scheduling class levels - idle (IOPRIO_CLASS_IDLE, -) (#43, #44) 1 0
I/O priority - best effort - default "0" 3 ("Normal")

 

I/O Priority - write

I/O Priority - write Linux Windows
I/O priority (#43, #44) N Y
I/O timeslice or packet (#43, #44) timeslice packet
I/O bandwidth reservation (#43, #44) N Y
I/O priority - scheduling class levels - realtime (IOPRIO_CLASS_RT, -) (#43, #44) 8 (0 used) ("0-7") 0
I/O priority - scheduling class levels - best effort (IOPRIO_CLASS_BE, default) (#43, #44) 8 (0 used) ("0-7") 5 (4 used) (5 "Critical",4 "High" (not used),3 "Normal",2 "Low",1 "Very low")
I/O priority - scheduling class levels - idle (IOPRIO_CLASS_IDLE, -) (#43, #44) 1 (0 used) 0
I/O priority - best effort - default "0" 3 ("Normal")

 

 

<-Prev|Next->

 

Johnathon Weare © Johnny Weare 2009

 

 

 

 

Comments (0)

You don't have permission to comment on this page.