software concepts - illinois institute of technology
TRANSCRIPT
![Page 1: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/1.jpg)
Software Concepts
• Operating system:
User applications
Operating system
Hardware
Virtual machine interface
Physical machine interface
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 2
• 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,…
![Page 2: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/2.jpg)
Uniprocessor Operating Systems
Microkernel architecture
• Small kernel
• user-level servers implement additional functionality
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 3
![Page 3: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/3.jpg)
Multiprocessor Operating Systems
• Like a uniprocessor operating system
• Manage multiple CPUs transparently to the
user
• Each processor has its own hardware cache
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 4
• Each processor has its own hardware cache
– Maintain consistency of cached data
– Scalability issues
• Shared variable versus message passing
![Page 4: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/4.jpg)
Multicomputer Operating Systems
1.14
• More complex than multiprocessor OS
– Because communication has to be through explicit message passing
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 5
![Page 5: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/5.jpg)
Network Operating System
1-19
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 6
![Page 6: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/6.jpg)
Network Operating System
• Employs a client-server model
– Minimal OS kernel
– Additional functionality as user processes
1-20
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 7
![Page 7: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/7.jpg)
• Users are aware of multiplicity of machines.
Access to resources of various machines is
done explicitly by
– Remote logging into the appropriate remote
Network-Operating Systems
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 8
– Remote logging into the appropriate remote
machine.
– Transferring data from remote machines to local
machines, via the File Transfer Protocol (FTP)
mechanism.
![Page 8: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/8.jpg)
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
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 9
• 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
![Page 9: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/9.jpg)
Middleware-based Systems
• General structure of a distributed system as
middleware.
1-22
X.Sun (IIT) CS550: Advanced OS Lecture 3 Page 10
![Page 10: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/10.jpg)
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
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 11
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
![Page 11: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/11.jpg)
Middleware Layer
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 12
![Page 12: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/12.jpg)
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
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 13
– New technological advances impose changes in established middleware architecture
• Dynamic configuration– Dynamic changes in system configuration will be
inherent characteristics of future computing environments.
![Page 13: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/13.jpg)
Client/Server Organization
• Server: a sw module manages a set of resources of a particular type using certain policies and methods. – Servers may be run in different machines
• Mail server, http server
– A machine can maintain more than one server
• Client: a sw module requests services from servers.
• Centralized server versus by distributed servers
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 14
• Centralized server versus by distributed servers – centralized server: e.g. printer and mail
– distributed servers: e.g. file servers
• Proxy server and caches: middleman between origin server and clients
![Page 14: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/14.jpg)
Peer-to-Peer Organization
• All processes play similar roles, interacting cooperatively as peers to perform a distributed activity or computation without any distinction between clients and servers.
• Fully distributed and parallel
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 15
• Fully distributed and parallel
• For Example– Remote memory access
– Process migration
– P2P file exchange
![Page 15: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/15.jpg)
Mobile Code Organization
• Mobile codes – Programs that function as they are transferred from one host
to the other. Instead of sending requests associated with input data to a server for processing, the mobile code approach uploads codes to the server for execution
– E.g. Javascript code, Java Applets
• Mobile agent
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 16
• Mobile agent – has the ability to travel from host to host autononmously,
carrying their code as well as running state.– Itinerary mobility (proactive mobility)– Security in mobile agents
• Server protection
• Agent protection
![Page 16: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/16.jpg)
Any Questions?
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 17
![Page 17: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/17.jpg)
Questions?
•What is the difference between operating
system and (software) system?
•What is the difference between network OS
and Distributed OS?
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 18
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?
![Page 18: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/18.jpg)
Distributed Systems
• What is a distributed (computing) system?
“A collection of independent computers that
appears to its users as a single coherent
system”
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 19
system”
-A. Tanenbaum
![Page 19: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/19.jpg)
Examples
• Some examples of distributed systems
– Department computing cluster
– Corporate systems
• Application examples
– News
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 20
– News
– Multimedia information systems- video conferencing
– Airline reservation system
– Banking system
• What is the most used distributed system?
– World Wide Web
![Page 20: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/20.jpg)
Distributed vs. Single Systems
• Data sharing
– Multiple users can access common database, data files,…
• Device/resource sharing
– Printers,servers,CPUs,….
• Communication
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 21
• Communication
– Communication with other machines…
• Flexibility
– Spread workload to different & most appropriate machines
• Extensibility
– Add resources and software as needed
![Page 21: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/21.jpg)
Distributed vs. Centralized Systems
• Economics
– Microprocessors have better price/performance than mainframes
• Speed
– Collective power of large number of systems
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 22
– Collective power of large number of systems
• Geographic and responsibility distribution
• Reliability
– One machine’s failure need not bring down the system
• Extensibility
– Computers and software can be added incrementally
![Page 22: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/22.jpg)
Disadvantages of Distributed Systems
• Software
– Little software exists compared to central processing
– Complexity of the system: coordination of processes
• Networking
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 23
– Still slow and can cause other problems (e.g. when
disconnected)
• Security
– Data may be accessed by unauthorized users
– Authentication, in addition to access and flow control
![Page 23: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/23.jpg)
Key Characteristics
• Support for resource sharing
• Openness
• Concurrency
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 24
• Concurrency
• Scalability
• Fault tolerance (reliability)
• Transparence
![Page 24: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/24.jpg)
Resource Sharing
• Share hardware,software,data and
information
• Hardware devices
– Printers,disks,memory,…
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 25
– Printers,disks,memory,…
• Software sharing
– Compilers,libraries,toolkits,…
• Data
– Databases,files,…
![Page 25: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/25.jpg)
Openness
• Determines whether the system can be extended in various ways without disrupting existing system and services
• Hardware extensions – Adding peripherals,memory,communication
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 26
– Adding peripherals,memory,communication interfaces…
• Software extensions– Operating systems features
– Communication protocols
• Standard rules and protocols
![Page 26: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/26.jpg)
Middleware and Openness
1.23
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 27
• In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.
![Page 27: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/27.jpg)
Concurrency
• In a single system several processes are
interleaved
• In distributed systems: there are many
systems with one or more processors
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 28
systems with one or more processors
– Many users simultaneously invoke commands or
applications
– Many servers processes run concurrently, each
responding to different client request
– What is the difference between parallel and
concurrent processing?
![Page 28: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/28.jpg)
Scalability
• Scale of system– Few PCs servers ->dept level systems->local area
networks->internetworked systems->wide area network…
– Ideally, system and application software should not change as systems scales
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 29
not change as systems scales
• Scalability depends on all aspects– Hardware
– Software
– Networks
– Application
![Page 29: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/29.jpg)
Fault Tolerance
• Ability to operate under failures: possibly at a
degraded performance level
• Two approaches:
– Hardware redundancy: use of redundant components
– Software recovery: design of programs to recover, Checkpointing/migration
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 30
• In distributed systems:
– Servers can be replicated
– Databases may be replicated
– Software recovery involves the design so that state of permanent data can be recovered
• Fault detection
![Page 30: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/30.jpg)
Transparency in a Distributed System
Transparency Description
AccessHide differences in data representation and how a resource is accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
RelocationHide that a resource may be moved to another
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 31
RelocationHide that a resource may be moved to another location while in use
ReplicationHide that a resource may be shared by several competitive users
ConcurrencyHide that a resource may be shared by several competitive users
Failure Hide the failure and recovery of a resource
PersistenceHide whether a (software) resource is in memory or on disk
![Page 31: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/31.jpg)
Distributed Operating System
• 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
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 32
– But operates on multiple independent CPUs
• Provides transparency
– Location, migration, concurrency, replication,…
• Presents users with a virtual uniprocessor
![Page 32: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/32.jpg)
Types of Existing Distributed OSs
System Description Main Goal
DOSTightly-coupled operating system for multi-processors and homogeneous multicomputers
Hide and manage hardware resources
NOSLoosely-coupled operating system for heterogeneous multicomputers (LAN and
Offer local services to remote clients
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 33
NOS heterogeneous multicomputers (LAN and WAN)
to remote clients
MiddlewareAdditional layer atop of NOS implementing general-purpose services
Provide distribution transparency
An overview of
• DOS (Distributed Operating Systems)
• NOS (Network Operating Systems)
• Middleware
![Page 33: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/33.jpg)
Comparison between Systems
ItemDistributed OS
Network
OS
Middleware-
based OSMultiproc. Multicomp.
Degree of transparency Very High High Low High
Same OS on all nodes Yes Yes No No
Number of copies of OS 1 N N N
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 34
Number of copies of OS 1 N N N
Basis for communication
Shared memory
Messages Files Model specific
Resource managementGlobal, central
Global, distributed
Per node Per node
Scalability No Moderately Yes Varies
Openness Closed Closed Open Open
![Page 34: Software Concepts - Illinois Institute of Technology](https://reader031.vdocuments.mx/reader031/viewer/2022020702/61fb1f2c2e268c58cd5a66f1/html5/thumbnails/34.jpg)
Summary
• Key issues of distributed systems
• Hardware concepts– Multiprocessors
– Multicomputers
– Distributed systems
• Software concepts
X.Sun (IIT) CS550: Distributed OS Lecture 3 Page 35
• Software concepts– Uniprocessor OS
– Distributed OS
– Network OS
– Middleware
• Readings– Review Central OS, Chapter 1 of the text