Académique Documents
Professionnel Documents
Culture Documents
Course Guide
xixv
Topic 1
1
2
5
7
8
8
9
9
11
13
16
17
18
18
19
19
Topic 2
21
22
22
23
23
24
24
25
25
26
28
29
30
31
32
32
33
35
36
iv
TABLE OF CONTENTS
2.3
38
38
38
39
39
40
41
41
42
Topic 3
43
44
44
45
45
45
46
46
47
47
48
48
48
49
49
50
52
54
55
56
59
64
67
68
68
69
69
Topic 4
Process Management
4.1 Process Concepts
4.2 PCB (Process Control Blocks)
4.3 Operation on Processes
4.3.1 Processes Creation
70
71
73
75
76
TABLE OF CONTENTS
Scheduling
5.1 CPU Scheduling
5.1.1 Scheduling Mechanisms
5.1.2 Goals for Scheduling
5.1.3 Context Switching
5.1.4 Non-preemptive Versus Preemptive Scheduling
5.2 CPU Scheduling Basic Criteria
5.3 Scheduling Algorithms
5.3.1 First-Come, First-Served (FCFS)
5.3.2 Shortest-Job-First (SJF)
5.3.3 Shortest Remaining Time (SRT)
5.3.4 Priority Scheduling
5.3.5 Round-Robin (RR)
5.3.6 Multilevel Feedback Queue Scheduling
5.3.7 Real-time Scheduling
5.3.8 Earliest Deadline First
5.3.9 Rate Monotonic
5.4 Operating System and Scheduling Types
5.5 Types of Scheduling
5.5.1 Long-term Scheduling
5.5.2 Medium Term Scheduling
5.5.3 Short-term Scheduling
5.6 Multiple Processor Scheduling
76
78
79
80
81
83
84
85
88
92
93
93
94
95
96
97
97
98
98
100
100
101
102
102
103
104
105
106
108
109
110
111
115
117
118
118
122
123
123
125
126
129
vi
Topic 6
Topic 7
TABLE OF CONTENTS
5.7
Thread Scheduling
5.7.1 Load Sharing
5.7.2 Gang Scheduling
5.7.3 Dedicated Processor Assignment
5.7.4 Dynamic Scheduling
Summary
Key Terms
Self-Test
References
130
131
132
133
133
133
134
134
135
Process Synchronisation
6.1 Synchronisation Process
6.2 Critical Selection Problem
6.2.1 Mutual Exclusion Conditions
6.2.2 Proposals for Achieving Mutual Exclusion
6.3 Semaphores
6.3.1 Producer-Consumer Problem Using Semaphores
6.3.2 SR Program: The Dining Philosophers
6.4 Monitors
6.5 Deadlock
6.6 Deadlock Characterisation
6.6.1 Resource Allocation Graphs
6.7 Handling of Deadlocks
6.7.1 Deadlock Prevention
6.7.2 Deadlock Avoidance
6.7.3 Deadlock Detection and Recovery
6.7.4 Ignore Deadlock
6.7.5 The Bankers Algorithm for Detecting/Preventing
Deadlocks
Summary
Key Terms
Self-Test
References
136
137
139
140
141
143
144
147
154
154
155
156
159
159
160
160
161
Memory Management
7.1 Memory Management
7.2 Logical and Physical Address Space
7.2.1 Physical Address
7.2.2 Logical Address
7.2.3 Logical Versus Physical Address Space
7.3 Swapping
7.4 Contiguous Memory Allocation
7.4.1 Buddy System
169
170
172
173
173
174
174
175
177
161
166
167
167
168
TABLE OF CONTENTS
Topic 8
vii
7.5
7.6
7.7
7.8
7.9
7.10
Paging
Segmentation
Segmentation with Paging
Virtual Memory
Demand Paging
Page Replacement
7.10.1 Static Page Replacement Algorithms
7.10.2 Dynamic Page Replacement Algorithms
7.11 Page Allocation Algorithm
7.12 Thrashing
7.12.1 Concept of Thrashing
Summary
Key Terms
Self-Test
References
178
180
182
183
185
187
187
191
192
192
193
194
194
195
195
File Management
8.1 File Systems
8.1.1 Types of File System
8.1.2 File Systems and Operating Systems
8.2 File Concept
8.3 Access Methods
8.3.1 Sequential Access
8.3.2 Direct Access
8.3.3 Other Access Methods
8.4 Directory Structure
8.4.1 Single Level Directory
8.4.2 Two Level Directory
8.4.3 Three Level Directory
8.5 File System Mounting
8.6 File Sharing
8.7 Protection
8.8 File System Implementation
8.9 Allocation Methods
8.9.1 Contiguous Allocation
8.9.2 Linked Allocation
8.9.3 Indexed Allocation
8.10 Free-Space Management
8.10.1 Bit-Vector
8.10.2 Linked List
8.10.3 Grouping
8.10.4 Counting
8.11 Directory Implementation
197
198
198
200
202
203
203
204
204
205
207
207
207
208
212
212
213
214
214
216
217
218
218
219
220
221
221
viii X
Topic 9
Answers
TABLE OF CONTENTS
Summary
Key Terms
Self-Test
References
222
223
223
224
226
226
227
227
230
232
235
237
238
239
239
239
240
240
242
242
243
243
244
251
252
252
253
254