5.1.5 Discretionary Access Control (DAC)..........................................................................................55
5.1.5.1 Permission bits.....................................................................................................................56
5.1.5.2 Access Control Lists ............................................................................................................57
5.1.6 Asynchronous I/O .......................................................................................................................60
5.1.7 I/O scheduler................................................................................................................................61
5.1.7.1 Deadline I/O scheduler.........................................................................................................61
5.1.7.2 Anticipatory I/O scheduler...................................................................................................62
5.1.7.3 Completely Fair Queuing scheduler.....................................................................................62
5.1.7.4 Noop I/O scheduler..............................................................................................................62
5.1.8 I/O interrupts................................................................................................................................63
5.1.8.1 Top halves............................................................................................................................63
5.1.8.2 Bottom halves......................................................................................................................63
5.1.8.3 Softirqs.................................................................................................................................63
5.1.8.4 Tasklets................................................................................................................................63
5.1.8.5 Work queue..........................................................................................................................64
5.1.9 Processor interrupts......................................................................................................................64
5.1.10 Machine check...........................................................................................................................64
5.2 Process control and management.........................................................................................................65
5.2.1 Data structures..............................................................................................................................66
5.2.2 Process creation and destruction...................................................................................................67
5.2.2.1 Control of child processes....................................................................................................68
5.2.2.2 DAC controls.......................................................................................................................68
5.2.2.3 execve()................................................................................................................................68
5.2.2.4 do_exit()...............................................................................................................................69
5.2.3 Process switch..............................................................................................................................69
5.2.4 Kernel threads..............................................................................................................................69
5.2.5 Scheduling....................................................................................................................................69
5.2.6 Kernel preemption........................................................................................................................71
5.3 Inter-process communication ..............................................................................................................72
5.3.1 Pipes.............................................................................................................................................73
5.3.1.1 Data structures and algorithms.............................................................................................74
5.3.2 First-In First-Out Named pipes....................................................................................................74
5.3.2.1 FIFO creation.......................................................................................................................75
5.3.2.2 FIFO open............................................................................................................................75
5.3.3 System V IPC...............................................................................................................................75
5.3.3.1 Common data structures.......................................................................................................76
5