Operating System II
Operating System II
- Attendance
- Quiz
- Assignment
- Course Note
- Project
- Mid-Semester Examination
- Final Examination
RECOMMENDED TEXTS
• Operating Systems Deitel, Deitel & Choffnes,
2004 3rd edition, Pearson Prentice Hall ISBN 0-
13-124696-8
• Understanding Operating Systems
Flynn&M’Hoes 2nd edition PWS
COURSE CONTENT
• Basics of Operating System
• Process management
– Process concept
– Thread concepts
– Asynchronous concurrent processes
• Deadlock
• Processor scheduling
• Memory management
Basics of Operating
System
What is an Operating System
• An operating system (OS) is the interface or link between
the user and the computer hardware
or
• It is a software that enables application to interact with
computer hardware.
• The kernel is the protected part of the OS that runs in kernel mode, -the earliest and
most common
•Every component is contained in the kernel and can directly communicate with other
– Critical OS data structures and device registers are protected from user programs
– Can use privileged instructions
Layered Architecture
• The layered approach to operating systems attempts to
address this issue by grouping components that
perform similar functions into layers. Each layer
communicates exclusively with the layers immediately
above and below it. In a layered approach, a user
process's request may need to pass through many
layers before completion. Because additional methods
must be invoked to pass data and control from one
layer to the next, system throughput decreases
compared to that with a monolithic kernel, which may
require only a single call to service a similar request.
Layered Architecture
• Group components that perform similar functions into layers. Each layer
communicates only with neighbor layers
– Divide OS into layers
– Each layer uses services provided by next lower layer
• User application User SpaceLayer 4
• I/O Management Kernel Space Layer 3
• Message Interpreter “ Layer 2
• Memory management “ Layer 1
• Process Management “ Layer 0
– Advantages: modularity, simplicity
• Disadvantages: performance
• Big tradeoff in OS design:
– simplicity versus performance
– Always strive for simplicity …Unless you have a strong reason to believe that complication
is needed to achieve acceptable performance
Microkernel Architecture
• A microkernel operating system architecture provides only a
small number of services in an attempt to keep the kernel
small and scalable. Microkernels exhibit a high degree of
modularity, making them extensible, portable and scalable.
However, such modularity comes at the cost of an increased
level of inter-module communication, which can degrade
system performance.