• Distributed Operating Systems (Advanced Operating Systems

advertisement
CS550
• Distributed Operating Systems (Advanced Operating
Systems)
• Instructor: Xian-He Sun
– Email: sun@iit.edu, Phone: (312) 567-5260
– Office hours: 2:10pm-3:10pm Tuesday, 3:30pm-4:30pm Thursday at
SB229C, or by appointment
• TA: Mr. Cui, Zongjie
– Email: cuizong@iit.edu
– Office hours: TBA
• Blackboard:
– http://courseinfo.iit.edu
• Class Web site
– http://www.cs.iit.edu/~sun/cs550.html
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 1
Pre-record
Today, 6:25-4:40pm, SB231
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 2
Hardware Concepts
Parallel and
Distributed Systems
tightly coupled
loosely coupled
Multicomputers
(slow hw network)
Multiprocessors
(fast hw network)
Shared-Memory
Multiprocessors
UMA
NUMA
Distributed-Memory
Multiprocessors
Homogeneous
Multicomputers
Network of
Workstation
Workstation
Cluster
Heterogeneous
Multicomputers
PC
Cluster
Distributed Systems
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 3
Software Concepts
User applications
Virtual machine interface
Operating system
Physical machine interface
Hardware
•
Operating system:
– Interface between users and hardware
– Implements a virtual machine that is easier to program than raw
hardware
•
Primary functions:
– Services: file system, virtual memory, networking, CPU scheduling,
…
– Coordination: concurrency, memory protection, security,
networking,…
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 4
Uniprocessor Operating Systems
Microkernel architecture
• Small kernel
• user-level servers implement additional functionality
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 5
Multiprocessor Operating Systems
• Like a uniprocessor operating system
• Manage multiple CPUs transparently to the
user
• Each processor has its own hardware cache
– Maintain consistency of cached data
• Shared variable versus message passing
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 6
Multicomputer Operating Systems
• More complex than multiprocessor OS
– Because communication has to be through explicit message
passing
1.14
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 7
Network Operating System
1-19
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 8
Network Operating System
• Employs a client-server model
– Minimal OS kernel
– Additional functionality as user processes
1-20
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 9
Network-Operating Systems
• Users are aware of multiplicity of machines.
Access to resources of various machines is
done explicitly by
– Remote logging into the appropriate remote
machine.
– Transferring data from remote machines to local
machines, via the File Transfer Protocol (FTP)
mechanism.
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 10
Distributed Operating System
• Users not aware of multiplicity of machines.
• Manages resources in a distributed system
– Seamlessly and transparently to the user
• Looks to the user like a centralized OS
– But operates on multiple independent CPUs
• Provides transparency
– Location, migration, concurrency, replication,…
• Presents users with a virtual uniprocessor
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 11
Middleware-based Systems
• General structure of a distributed system as
middleware.
1-22
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 12
What is Middleware
¾
¾
¾
Software above the operating system but below the
application program
Middleware refers to the software that is common
to multiple applications and builds on the network
transport services to enable ready development of
new applications and network services
CORBA, DCOM, Java RMI, Grid
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 13
Middleware Layer
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 14
Technical Challenges
• The changing environment
– Computing world has changed and middleware has to
adapt to this ever changing environment
• Architecture
– New technological advances impose changes in
established middleware architecture
• Dynamic configuration
– Dynamic changes in system configuration will be
inherent characteristics of future computing
environments.
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 15
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 16
Any Questions?
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 17
Questions?
•What is the difference between operating
system and (software) system?
•What is the difference between network OS
and Distributed OS?
•What is the difference between Distributed OS
and Distributed (software) system?
•What is middleware?
•What is the difference between middleware
and Distributed (software) system?
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 18
Structure of OSs
Five major intellectual achievements
• Processes
• Memory management
• Information protection and security
• Scheduling and resource management
• System structure
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 19
Process
A process is an active entity and is realized by
data structure
• Process space: each process is assigned a
virtual address space
– Text region, the code being executed by the
process
– Data region, holding global variables
– Stack region, holding execution context of the
program
• Threat
– User-level threat, system-level threat
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 20
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 21
Memory Management
• Main-memory management
• Second-storage management
• I/O system
• Virtual Memory: allows program to address
memory without regard to the amount of main
memory physically available
X.Sun (IIT)
CS550: Distributed OS
Lecture 1 Page 22
Download