operating system design - florida atlantic universitytami/cop4610m2slides.pdf · operating systems...
TRANSCRIPT
COP 4610
Operating systemsModule 2
Operating System Design
PART I
1Tami Sorgente
MODULE 2 – OPERATING SYSTEM DESIGN
OS services
OS design goals
2Tami Sorgente
OS DESIGN – OS SERVICES
User Interface
o Command-Line, GUI, batch, touchscreen
Program Execution
I/O Operations
File system manipulation
Communications
a) Message passing
b) Shared memory
Error detection
3Tami Sorgente
OS DESIGN – OS SERVICES CONT
Ensuring efficient operation
o Resource allocation
o Accounting
o Protection and security Protection involves ensuring that all access to system resources
is controlled
Security of the system from outsiders requires user authentication, extends to defending external I/O devices from invalid access attempts
Policy vs Mechanism
o Policy(WHAT)- Mechanism (HOW)
4Tami Sorgente
OPERATING SYSTEM DESIGN
AND IMPLEMENTATION
Start by defining goals and specifications
Affected by choice of hardware, type of system
User goals and System goals
o User goals – operating system should be convenient to use, easy to learn, reliable, safe, and fast
o System goals – operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient
5Tami Sorgente
COP 4610
Operating systemsModule 2
Operating System Structure
PART II
6Tami Sorgente
MODULE 2 – OPERATING SYSTEM DESIGN
OS structure
Virtual machine
Types of computer systems
System call examples
7Tami Sorgente
VIEW OF OS SERVICES
8Tami Sorgente
OS DESIGN – OS STRUCTURE
General-purpose OS is very large
Various ways to structure one as follows:
o Monolithic/ simple structure
o Layered approach
o Microkernel
o Modular
o Hybrid
9Tami Sorgente
OS DESIGN – OS STRUCTURE
Layered
o Clearly defined interfaces
o Strict structure
o Each uses service of lower layers
10Tami Sorgente
OS DESIGN – OS STRUCTURE
11
Microkernelo Small kernel –
o Move services to user space
o Benefits: Easier to extend a microkernel
Easier to port the operating system to new architectures
More reliable (less code is running in kernel mode)
o Detriments: Performance overhead of user space to kernel space
communication
Application
Program
File
System
Device
Driver
Interprocess
Communication
memory
managment
CPU
scheduling
messagesmessages
microkernel
hardware
user
mode
kernel
mode
Tami Sorgente
OS DESIGN – OS STRUCTURE
Modular
o Uses object-oriented approach
o Each core component is separate
o Clearly defined interfaces
o Each is loadable as needed within the kernel
o Overall, similar to layers but with more
flexible
Hybrid structure
12Tami Sorgente
OS DESIGN – OS STRUCTURE
Modular vs Layered
13Tami Sorgente
VIRTUAL MACHINE
Advantages – users/ developers
o Isolation, testing
Disadvantages – implementation
14Tami Sorgente
COMPUTER SYSTEMS
Traditional
Interactive vs batch
Real time/ (hard vs soft)
Mobile
Multiprocessor
Clustered
Distributed
Network Operating System
15Tami Sorgente
SYSTEM CALLS
Programming interface to the services provided by the OS
Typically written in a high-level language
Mostly accessed by programs via a high-level Application Program Interface (API) rather than direct system call use
Most details of OS interface hidden from
programmer by API
16Tami Sorgente
EXAMPLES OF
WINDOWS/ UNIX SYSTEM CALLS
17Tami Sorgente