Introduction Operating Systems Concepts and Structure

advertisement
Introduction
Operating Systems’ Concepts and Structure
Lecture 1
~ Spring, 2008 ~
Spring, 2008
TUCN. Operating Systems. Lecture 1
Contents
•
•
•
•
•
•
Definition of an Operating System (OS)
Role of an Operating System
History of Operating Systems
Classification of Operating Systems
Specific terms and concepts
Structure of an OS
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 2
The Definition of an OS
Where comes the OS in?
A computer system consists of:
User software
System software
Hardware
User
Applications
Compilers
Editors
Shells
Operating System
System hardware
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 3
The Definition of an OS
What is an OS?
• A system software
• A collection of procedures that:
– manage all the system’s hardware resources
– provide the users the environment in which
they can:
• use the system resources
• run their own applications
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 4
The Role of an OS
• Extended or virtual machine
• The external or the user point of view
• A top-down perspective
– Hides the complexity of using the hardware devices
– Provides the user a more convenient view of the system resources
– Purpose: Convenience
• Resource manager
• The inside or the designer point of view
• A bottom-up perspective
– Brings the hardware resources in a functional state
– Provides each program with time and space for using resources
– Purpose: Efficiency
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 5
A Classification of OSs
•
•
•
•
Mainframe operating systems: OS/390
Server operating systems: UNIX, Windows 2000, Linux
Multiprocessor operating systems
PC operating systems:
• Windows 98, Windows ME, Macintosh, Linux
• Real-time operating systems: VxWorks, QNX
• Embedded operating systems:
• PalmOS, Windows CE, Windows Mobile, Symbia
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 6
Specific Terms and Concepts
•
•
•
•
•
•
•
•
Batch systems: no user interaction
Multiprogramming: multiple programs loaded in memory
Time-sharing: each process receives slices of CPU time
Interactive systems: provides quick response to user’s actions
Multi-user: distinction between users
Network OS: users aware of the existence of multiple computers
Distributed OS: looks like a traditional single-processor system
Processes, Files, System Calls
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 7
Computer Hardware (1)
• An OS is closely tied to the HW it runs on
• HW components
– CPU
– Memory
– I/O devices
•
•
•
•
Monitor
Keyboard
Storage devices (HDD, Floppy etc.)
Others
– BUSes
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 8
Computer Hardware (2)
Monitor
BUS
Tanenbaum, Fig. 1-5.
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 9
CPU
• Functionality
– fetch instructions from memory, decode and execute them
• Instruction set
– has a specific set of instructions that can be executed
– specific executable programs each processor can run
• Registers
• Program counter
• Stack pointer
• Many others – architecture dependent
• Machine state – saved at context switch
• Kernel vs. User mode of execution
– switches between
• system calls
• hardware exceptions, interruptions
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 10
Memory
• Should be extremely fast, large and cheap
• Hierarchy of layers
– Registers: fastest, no delay, but limited size
– Cache memory
• cache hits and misses
– Main memory – RAM (Random Access Memory)
– HDDs
• 2 orders of magnitude cheaper and larger then RAM, but 3 orders of
magnitude slower
• mechanical device – heads, tracks (cylinders), sectors,
– Magnetic tapes
• used as a backup for very large data sets
• very slow, but very cheap and removable
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 11
I/O Devices
• Components
– controller and the device itself
• Controller
– Directly controls the physical device
– Receives commands from the OS
• Device driver
– Supplied by controller manufacturer
– Inserted into the OS – run in kernel mode
• Functionality
– Busy waiting
– Interrupts
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 12
Processes
• Definition
• A program in execution
• Consists of: executable code, data, stack, CPU registers
value, and other information
• A process hierarchy (tree)
• A created two child processes:
B and C
• B created three child processes:
D, E, and F
• Process synchronization
• Inter-Process Communication (IPC)
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 13
Files
• Definition
• A collection of related information
• An abstraction of data stored on HDD
• A process tree
• File system mounting
• File linking
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 14
System calls (1)
• Definition
– a call to an OS service
– a trap into the OS code
• Examples of system calls
– File manipulation: open(), read(), write(), lseek(), close() …
– File system management: mkdir(), mount(), link(), chown() …
– Process management: fork(), exec(), wait(), exit() …
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 15
System Calls (2)
Steps in making a system call
There are 11 steps executing
the system call:
read (fd, buffer, nbytes)
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 16
The Structure of an OS
Architectures(1). Monolithic OS
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 17
The Structure of an OS
Architectures (2). Layered OS
The Structure of the THE operating system
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 18
The Structure of an OS
Architectures (3). Client-Server
The client-server model
A distributed OS
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 19
The Structure of an OS
Architectures (4).Advantages …
• Advantages of micro-kernels
•
•
•
•
•
the modules run in user mode  protection against bugs
adaptability to use in distributed systems
forces the programmers to adopt a modularize approach
easily ported to other architectures
better use of RAM than monolithic ones
• Modules in monolithic systems (Linux) - advantages
•
•
•
•
•
Spring, 2008
monolithic OS faster than micro-kernel OS
modularized approach
platform independence
frugal main memory usage
no performance penalty
TUCN. Operating Systems. Lecture 1
No. 20
The Structure of an OS
Components
•
•
•
•
•
•
•
•
Process manager: creates, schedules and destroy processes
Memory manager: allocates and releases memory
Disk manager
I/O devices manager
File system: create, read, modify, remove etc. files
Communication system
Protection system
Shells
• text interface – command interpreter
• graphical interface
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 21
Readings
• Andrew Tannenbaum, “Modern Operating
Systems”, second edition, Prentice Hall,
2001, pgs. 1-20, 34-63
• D. Bovet, M. Cesati, “Understanding
Linux Kernel”, O’Reilly, 2001, pgs.11-12
Spring, 2008
TUCN. Operating Systems. Lecture 1
No. 22
Download