16.05.2015 Views

Working with the Unix OS

Working with the Unix OS

Working with the Unix OS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Figure 27. Driver Entry Points........................................................................................... 143<br />

Figure 28. Block and Character Device Switch Tables....................................................... 143<br />

Figure 29. Opening a Device ............................................................................................. 144<br />

Figure 30. Closing a Device .............................................................................................. 144<br />

Figure 31. Reading Disk Data - block & raw interface....................................................... 145<br />

Figure 32. Data Sequence and Data Flow through Line Dicsipline..................................... 146<br />

Figure 33. Removing characters from a Clist ..................................................................... 147<br />

Figure 34. Placing characters on a Clist ............................................................................. 147<br />

Figure 35. Writing Data to a Terminal ............................................................................... 148<br />

Figure 36. Flooding Standard Output <strong>with</strong> Data................................................................. 148<br />

Figure 37. Algorithm for Reading a Terminal ........................................................................1<br />

Figure 38. Contending for Terminal Input Data ................................................................. 149<br />

Figure 39. Raw Mode - Reading 5 character Bursts ........................................................... 150<br />

Figure 40. Polling a Terminal ............................................................................................ 150<br />

Figure 41. Loggin in.......................................................................................................... 151<br />

Figure 42. A Stream after Open......................................................................................... 151<br />

Figure 43. Pushing a Module onto a Stream....................................................................... 152<br />

Figure 44. Windowing VT................................................................................................. 152<br />

Figure 45. Pseudo-code for Multiplexing Windows ........................................................... 152<br />

Figure 46. Process Scheduling........................................................................................... 170<br />

Figure 47. Range of Process Priorities ............................................................................... 171<br />

Figure 48. Process Scheduling Example ............................................................................ 171<br />

Figure 49. Tie breaker rule ................................................................................................ 173<br />

Figure 50. Fair Share Scheduler......................................................................................... 173<br />

Figure 51. Program Using Timer ....................................................................................... 174<br />

Figure 52. Alarm Call........................................................................................................ 174<br />

Figure 53. Clock Handler .................................................................................................. 175<br />

Figure 54. Invoking Profil system call ............................................................................... 175<br />

Figure 55. Output for Profil Program................................................................................. 175<br />

Figure 56. Algorithm for Allocating Space from Maps ...................................................... 176<br />

Figure 57. Mapping Process Space .................................................................................... 177<br />

Figure 58. Swapping a Process into Memory ..................................................................... 177<br />

Figure 59. Adjusting Memory Map for Expansion Swap.................................................... 177<br />

Figure 60. Algorithm for Swapper ..................................................................................... 178<br />

Figure 61. Thrashing due to Swapping............................................................................... 179<br />

Figure 62. Sequence of Swapping Operations.................................................................... 179<br />

Figure 63. Free List of Buffers .......................................................................................... 180<br />

Figure 64. Buffers on <strong>the</strong> Hash Queues.............................................................................. 181<br />

Figure 65. Algorithm for Buffer Allocation ....................................................................... 181<br />

Figure 66. First Scenario in Finding a Buffer: Buffer on Hash Queue................................. 182<br />

Figure 67. Second Scenario for Buffer Allocation.............................................................. 183<br />

Figure 68. Third Scenario for Buffer Allocation................................................................ 183<br />

Figure 69. Forth Scenario for Buffer Allocation................................................................. 184<br />

Figure 70. Race for Free Buffer ......................................................................................... 184<br />

Figure 71. Fifth Scenario for Buffer Allocation.................................................................. 184<br />

Figure 72. Race for a Locked Buffer.................................................................................. 185<br />

Figure 73. Reading a Disk Block Bach, "bread"................................................................. 185<br />

Figure 74. Algorithm for Block Read Ahead "breada".................................................... 186<br />

Figure 75. Writing a Disk Block Bach, "bwrite". ........................................................... 186

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!