Vous êtes sur la page 1sur 6

Table of Contents

Course Guide

xixv

Topic 1

Introduction to Operating System


1.1 Definition of Operating System
1.2 History of Computer Operating Systems
1.3 Supervisor and User Mode
1.4 Goals of an Operating System
1.5 Generations of Operating System
1.5.1 0th Generation
1.5.2 First Generation (1951-1956)
1.5.3 Second Generation (1956-1964)
1.5.4 Third Generation (1964-1979)
1.5.5 Fourth Generation (1979 Present)
Summary
Key Terms
Self-Test 1
Self-Test 2
References

1
2
5
7
8
8
9
9
11
13
16
17
18
18
19
19

Topic 2

Operation and Function of Operating System


2.1 Operations and Functions of Operating System
2.1.1 Process Management
2.1.2 Memory Management
2.1.3 Secondary Storage Management
2.1.4 I/O Management
2.1.5 File Management
2.1.6 Protection and Security
2.1.7 Networking Management
2.1.8 Command Interpretation
2.2 Types of Operating System
2.2.1 Multiprogramming Operating System
2.2.2 Multiprocessing System
2.2.3 Networking Operating System
2.2.4 Distributed Operating System
2.2.5 Operating Systems for Embedded Devices
2.2.6 Single Processor System
2.2.7 Parallel Processing System
2.2.8 Multitasking

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

Examples of Operating System


2.3.1 Disk Operating System (DOS)
2.3.2 UNIX
2.3.3 Windows
2.3.4 Macintosh
Summary
Key Terms
Self-Test
References

38
38
38
39
39
40
41
41
42

Topic 3

Operating System Structure


3.1 Operating System Services
3.1.1 Program Execution
3.1.2 I/O Operations
3.1.3 File System Manipulation
3.1.4 Communications
3.1.5 Error Detection
3.2 System Calls
3.2.1 System Calls for Process Management
3.2.2 System Calls for Signalling
3.2.3 System Calls for File Management
3.2.4 System Calls for Directory Management
3.2.5 System Calls for Protection
3.2.6 System Calls for Time Management
3.2.7 System Calls for Device Management
3.3 System Programs
3.4 Operating System Structure
3.4.1 Monolithic Systems
3.4.2 Client-server Model
3.4.3 Exokernel
3.5 Layered Structure
3.6 Virtual Machine
Summary
Key Terms
Self-Test 1
Self-Test 2
References

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

4.3.2 Process Hierarchy: Children and Parent Processes


4.3.3 Process State Transitions
4.3.4 Process Termination
4.4 Cooperating Processes
4.5 Inter-process Communication
4.6 Process Communication in Client-Server Environment
4.7 Concept of Thread
4.7.1 Thread Structure
4.8 User Level and Kernel Level Threads
4.9 Multi-threading
4.9.1 Multi-tasking vs. Multi-threading
4.10 Thread Libraries
4.11 Threading Issues
4.12 Processes versus Threads
4.13 Benefits of Threads
Summary
Key Terms
Self-Test
References
Topic 5

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

I/O and Secondary Storage Structure


9.1 I/O SYSTEMS
9.2 I/O HARDWARE
9.2.1 Input Device
9.2.2 Output Device
9.3 Application of I/O Interface
9.4 Functions of I/O Interface
9.5 Kernel for I/O Sub-System
9.6 Disk Scheduling
9.6.1 First Come First Served (FCFS)
9.6.2 Circular SCAN (C-SCAN)
9.6.3 Look
9.6.4 Circular LOOK (C-LOOK)
9.7 Disk Management
9.8 Swap Space Management
9.8.1 Pseudo-Swap Space
9.8.2 Physical Swap Space
9.8.3 Three Rules of Swap Space Allocation
9.9 Raid Structure
Summary
Key Terms
Self-Test
References

226
226
227
227
230
232
235
237
238
239
239
239
240
240
242
242
243
243
244
251
252
252
253
254

Vous aimerez peut-être aussi