22
CS550: Distributed OS Lecture 1 Page 1 X.Sun (IIT) CS550 Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun Email: [email protected], 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: [email protected] Office hours: TBA Blackboard: – http://courseinfo.iit.edu Class Web site – http://www.cs.iit.edu/~sun/cs550.html

Today, 6:25-4:40pm, SB231 - IIT-Computer Sciencesun/pdfd/cs550-04-3.pdftightly coupled loosely coupled Homogeneous Multicomputers Heterogeneous Multicomputers Network of Workstation

  • Upload
    hakhue

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

CS550: Distributed OS Lecture 1 Page 1X.Sun (IIT)

CS550• Distributed Operating Systems (Advanced Operating

Systems)• Instructor: Xian-He Sun

– Email: [email protected], 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: [email protected]– Office hours: TBA

• Blackboard:– http://courseinfo.iit.edu

• Class Web site– http://www.cs.iit.edu/~sun/cs550.html

CS550: Distributed OS Lecture 1 Page 2X.Sun (IIT)

Pre-record

Today, 6:25-4:40pm, SB231

CS550: Distributed OS Lecture 1 Page 3X.Sun (IIT)

Hardware ConceptsParallel and

Distributed Systems

Multiprocessors(fast hw network)

Multicomputers(slow hw network)

Shared-MemoryMultiprocessors

Distributed-MemoryMultiprocessors

UMA NUMA

tightly coupled loosely coupled

HomogeneousMulticomputers

HeterogeneousMulticomputers

Network of Workstation

PCCluster

WorkstationCluster

Distributed Systems

CS550: Distributed OS Lecture 1 Page 4X.Sun (IIT)

Software Concepts

• 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,…

User applications

Operating system

Hardware

Virtual machine interface

Physical machine interface

CS550: Distributed OS Lecture 1 Page 5X.Sun (IIT)

Uniprocessor Operating SystemsMicrokernel architecture• Small kernel• user-level servers implement additional functionality

CS550: Distributed OS Lecture 1 Page 6X.Sun (IIT)

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

CS550: Distributed OS Lecture 1 Page 7X.Sun (IIT)

Multicomputer Operating Systems

1.14

• More complex than multiprocessor OS– Because communication has to be through explicit message

passing

CS550: Distributed OS Lecture 1 Page 8X.Sun (IIT)

Network Operating System

1-19

CS550: Distributed OS Lecture 1 Page 9X.Sun (IIT)

Network Operating System• Employs a client-server model

– Minimal OS kernel– Additional functionality as user processes

1-20

CS550: Distributed OS Lecture 1 Page 10X.Sun (IIT)

• 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.

Network-Operating Systems

CS550: Distributed OS Lecture 1 Page 11X.Sun (IIT)

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

CS550: Distributed OS Lecture 1 Page 12X.Sun (IIT)

Middleware-based Systems• General structure of a distributed system as

middleware.

1-22

CS550: Distributed OS Lecture 1 Page 13X.Sun (IIT)

What is Middleware

Software above the operating system but below the application programMiddleware 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 servicesCORBA, DCOM, Java RMI, Grid

CS550: Distributed OS Lecture 1 Page 14X.Sun (IIT)

Middleware Layer

CS550: Distributed OS Lecture 1 Page 15X.Sun (IIT)

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.

CS550: Distributed OS Lecture 1 Page 16X.Sun (IIT)

CS550: Distributed OS Lecture 1 Page 17X.Sun (IIT)

Any Questions?

CS550: Distributed OS Lecture 1 Page 18X.Sun (IIT)

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?

CS550: Distributed OS Lecture 1 Page 19X.Sun (IIT)

Structure of OSsFive major intellectual achievements

• Processes• Memory management• Information protection and security• Scheduling and resource management• System structure

CS550: Distributed OS Lecture 1 Page 20X.Sun (IIT)

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

CS550: Distributed OS Lecture 1 Page 21X.Sun (IIT)

CS550: Distributed OS Lecture 1 Page 22X.Sun (IIT)

Memory Management• Main-memory management• Second-storage management• I/O system • Virtual Memory: allows program to address

memory without regard to the amount of mainmemory physically available