Title: Course Overview Principles of Operating Systems
1Course OverviewPrinciples of Operating Systems
- Introduction
- Computer System Structures
- Operating System Structures
- Processes
- Process Synchronization
- Deadlocks
- CPU Scheduling
- Memory Management
- Virtual Memory
- File Management
- Security
- Networks
- Distributed Systems
- Case Studies
- Conclusions
2Chapter Overview Networking
- Motivation
- Objectives
- Topology
- Network Types
- Communication
- Design Strategies
- Examples
- Client/Server Model
- Middleware
- Important Concepts and Terms
- Chapter Summary
3Motivation
- resource sharing
- users can access all resources available on the
machines connected to the network - computation speedup
- computation-intensive tasks can be partitioned
into subtasks and distributed over several
computers on the network - specialized or more powerful computers can be
used instead of or in addition to the local
machine of the user - reliability
- the overall system can continue to operate even
if some of its components fail - communication
- fast exchange of information
- remote procedure calls
4Objectives
- be aware of benefits and problems of computers
connected via networks - know relevant network topologies and network
types - understand the issues involved in communication
of computers via networks - apply networking concepts to the client/server
model
5Terminology
- site
- indicates the location of computer systems
- host
- specific system at a site
- frequently implies the execution of a program or
the availability of services - local resources
- all the resources available directly within a
specific computer system system - local sometimes also refers to a particular site,
not one single computer system
6Terminology cont.
- remote resources
- mainly for exchange of information
- sometimes specialized resource types
- network operating system
- users are aware of the individual machines in the
network - resources are accessible via login or explicit
transfer of data - distributed operating system
- users are unaware of the underlying machines and
networks - remote resources are accessible in the same way
as local resources
7Computer Network
- set of computers linked to each other through
some type of network - physical link
- virtual link
- indirect via other computers
- logical link
- more abstract level, independent of the physical
realization
8Computer Network Diagram
logical link
Network
physical link
9Network Topology
- describes the interconnection structure of the
network - fully connected
- partially connected
- hierarchical network
- tree structure
- star network
- ring network
- bus network
- unless otherwise noted, the topology refers to
the physical interconnections
10Comparison Criteria
- important properties of the configuration
- site refers to one or several computers with a
single access point to the network - link is a connection between two sites
- basic cost
- setup of the communication between two sites
- communication cost
- costs of transferring a message from one site to
another - time required for the transfer
- reliability
- effects of a failure in a link or site
11Fully Connected
- each site is directly linked with all the others
- basic cost
- high requires a direct link between every two
sites - quadratic w.r.t. the number of sites
- communication cost
- low no intermediate steps
- reliability
- very high if messages can be rerouted
12Fully Connected Diagram
13Partially Connected
- direct links exist between some pairs of sites
- basic cost
- lower than for the fully connected network
- communication cost
- higher than for the fully connected network
- reliability
- lower than for the fully connected network
14Partially Connected Diagram
15Hierarchical Network
- the sites are organized as a tree
- often used for corporate networks
- headquarters -gt main offices -gt regional offices
- basic cost
- much lower than fully, usually lower than
partially conn. - communication cost
- higher than for the fully connected network
- acceptable if communication patterns match the
hierarchical structure - reliability
- medium the failure of a site or link partitions
the network into disjoint subtrees
16Hierarchical Network Diagram
17Star Network
- all sites in the network are linked to a central
hub - the hub may be a special device for communication
only, or a regular site - basic cost
- linear with the number of sites
- communication cost
- very low if there isnt too much traffic
- central hub may become a bottleneck
- reliability
- depends on the central hub if it fails, the
network is completely partitioned - the failure of a site or link affects only that
site
18Star Network Diagram
19Ring Network
- each site is connected to its two neighbors
- links can be uni- or bi-directional
- basic cost
- linear with the number of sites
- communication cost
- linear with the number of sites
- n-1 transfers for unidirectional, n/2 transfers
for bi-directional links in the worst case - reliability
- low the failure of one site or link partitions
the network
20Ring Network Diagram
21Directional Ring Network Diagram
unidirectional
bi-directional
22Bus Network
- single shared link (bus)
- multiple simultaneous access must be coordinated
- all sites are directly connected to the bus
- basic cost
- linear with the number of sites
- communication cost
- low as long as traffic is not too high
- network contention can become a problem for high
traffic situations - reliability
- the bus is the critical component
23Bus Network Diagram
linear bus
ring bus
24Hybrid Networks
- combination of different network topologies
- different topologies usually use different
protocols - requires routers or bridges to translate between
different protocols and routing mechanisms - more or less unavoidable in practice
- Ethernet LAN
- hierarchical WAN
25Hybrid Network Diagram
26Network Types
- geographical distribution of networks
- local area networks (LANs)
- single or adjacent buildings
- wide area networks (WANs)
- sites distributed over a large geographical area
- has a major impact in the design of networks
- speed, reliability, protocol, security
27Local Area Networks
- connect sites within a small geographical area
- make resources available to all sites
- applications, files, special devices
- high-speed communication links
- Mega-Bit to Giga-Bit per second transfer rate
- wire, optical fiber, infrared
- requires expensive links
- gateways provide access to other networks
- other LANs
- WANs
- Internet
28LAN Examples
- Ethernet
- usually wire (shielded or twisted-pair cable)
- TCP/IP protocol
- variations
- 10BaseT
- 100BaseT
- FDDI
- optical fiber
- token ring protocol
- 100 MBit/s
29Wide Area Networks
- connect geographically distributed sites
- exchange of information
- access to special purpose computers
- not useful for access to peripheral devices
- links must cross long distances
- speed, reliability, security problems
- may involve other organizations
30WAN Technology
- link technology
- telephone lines
- microwave links
- satellite connections
- specialized communication processors
- interface to LANs (protocol, transfer rate)
- transmission of information
- routing
- billing, usage statistics
31WAN Examples
- Arpanet
- Internet
- company networks
32Internet as WAN Example
- LANs are connected to regional networks
- regional network are connected with routers and
high-speed links - special purpose links
- telephone connections
- connections from LANs to the Internet
- telephone modems (up to 50 KBit/s)
- ISDN (up to 128 KBit/s)
- T1 connections (1.544 MBit/s)
- can be combined into multiple links
33Communication
- internal workings of networks
- naming
- routing
- packet strategies
- connection strategies
- contention
34Naming
- the entities to exchange information are
processes - processes must specify the recipient
- sometimes also the sender
- names are more appropriate for human users
- must be unique, at least within the horizon of
the user - computers use numbers internally
- hierarchical numbering scheme for unique
addresses - mapping of names to numbers (addresses)
- single file with all names and addresses
- impractical for large systems
- distributed scheme
- more complicated to implement
35Domain Name Service
- naming scheme used in the Internet
- specifies the naming structure of sites and hosts
- conversion from names to addresses
- logical names
- consist of several fields separated by periods
- www.cis.njit.edu refers to a host named www in
the CIS department at NJIT
36Name Resolution
- the name is parsed in reverse order
- edu indicates that the requested host is in an
educational institution, and the name server for
the edu domain is contacted for the address of
njit.edu refers - the edu name server returns the address of the
host acting as name server for njit.edu refers - the njit.edu returns the address of the
cis.njit.edu name server, or directly the address
of the requested host - this results in an Internet address (IP-address)
of the form 128.132.55.116 - caching improves access speed and reliability
37Routing
- in WANs there are usually multiple potential
connection from host A to host B - a routing table contains information about
possible communication paths - alternative routes
- speed, costs
- routing schemes
- fixed
- virtual
- dynamic
38Fixed Routing
- the path from host A to host B is specified in
advance - it does not change unless severe obstacles are
encountered - e.g. hardware failure
- used for heavily used connections
- minimization of communication costs or transfer
time
39Virtual Routing
- the path from A to B is fixed for the duration of
one session - different paths for different sessions are
possible - more flexible than fixed routing
- reasonably easy to administrate
- parts of a message take the same path
40Dynamic Routing
- the path for a message from A to B is chosen at
the time of sending the message - different messages from the same session may take
different paths - composition of messages at the receiver can
become complicated - messages may arrive out of order
- takes into account the traffic conditions
- link failures, load changes
41Router
- responsible for routing messages
- can be a computer, or a special purpose device
- has routing tables for the networks it is
connected to - possibly cached copies of the name files from the
name server - examines the destination IP address and decides
where to send the message
42Packet Strategies
- variable-length messages are commonly implemented
through fixed-length packets - datagrams, frames are alternative names for
packets - connections are established to transfer packets
constituting a message - to increase reliability, acknowledgment packets
can be sent
43Connection Strategies
- establishing communication between processes that
want to exchange information - circuit switching
- a connection is established for the whole
duration of the session - similar to the telephone system
- inefficient resource utilization
- message switching
- packet switching
44Circuit Switching
- a connection is established for the whole
duration of the session - similar to the telephone system
- inefficient resource utilization
- the communication line is reserved even if there
is no activity - little overhead for individual messages
45Message Switching
- a connection is established for the transfer of
one particular message - similar to letters sent through the postal
service - better resource utilization
- many messages can use the same link
- no waste due to inactivity of individual
processes - more overhead for messages
- each message must contain administrative
information - receiver, sender, etc.
46Packet Switching
- individual packets from one message are sent
separately - very good resource utilization
- better load balancing
- efficient treatment of packets since all are of
the same size - overhead for individual packets
- receiver, sender
- packets must be reassembled into messages
- may not be suitable for time-sensitive information
47Contention
- several hosts may want to use a link
simultaneously - mainly relevant for bus topologies
- without coordination, data will be scrambled and
becomes useless - solutions
- collision detection
- token passing
- message slots
48Collision Detection
- a host can only use a link if it is free
- if two hosts start transmitting at the same time,
a collision will occur - the collision must be detected
- the hosts will try again with some random delay
- many collisions in high-traffic situations
- limited number of hosts on a network segment
- used in the Ethernet protocol
- CSMA/CD carrier sense with multiple
access/collision detection
49Token Passing
- a unique message (token) circulates in the
network - normally a ring topology
- a host may transmit only if it has the token
- must wait until the token arrives
- forwards the token after the transmission is
finished - precautions must be taken for a lost token
- constant performance, independent of traffic load
- worse than CSMA/CD in low traffic, better for
high traffic - used in IBM Token Ring networks
50Message Slots
- a number of fixed-length message slots circulate
in the system - normally a ring topology
- variable-size messages may have to be partitioned
- a host must wait until an empty slot arrives
- used int the Cambridge Digital Communication Ring
- experimental system
- little experience with performance
51Network Design
- complex problem involving various levels of
abstraction - names, IP addresses, messages, packets
- coordination between different protocols
- one approach is to partition the problem into
several layers - ISO/OSI protocol layers
- ISO/OSI network model
52OSI Model
- Open Systems Interconnection (OSI) reference
model - developed by the International Organization for
Standardization (ISO) - is commonly used as abstract model
- TCP/IP is much more widely used in practice
- less complex
- more mature
53OSI Layers
interaction with the user file transfer, remote
login, email, distributed data bases
Application
conversion of different formats and data
representations characters (ASCII, ISO),
transmission modes
Presentation
communication protocols between processes remote
login, file and mail transfer (at the process
level)
Session
transfer of data between processes message
handling, error recovery, flow control
Transport
independence from network technologies network
routing, addressing, connection management
Network
reliable transfer of information on physical
links packet handling, error detection and
recovery on lower level
Data Link
transmission of a bit stream over the physical
medium mechanical and electrical network interface
Physical
54Network Example
- exchange of information between hosts on
different Ethernet networks - TCP/IP
- TCP transmission control protocol
- IP Internet protocol
- very widely used
- available for practically all computer systems
- simpler than the ISO/OSI model
- four layers instead of seven
- Ethernet
- very popular LAN
55TCP/IP Example
Host A
Host B
logical connection
Router
IP
Network 1
Network 2
NAP 1
NAP 2
56Client/Server Computing
- applications are separated into tasks
- client tasks
- user interface, presentation, some processing
- server tasks
- data management, storage, computation-intensive
processing - cooperation between client and server
- clients request services from servers
- servers return results to clients
- network environment
- frequently LAN, sometimes WAN
57Client/Server Diagram
Servers
Clients
Network (LAN, WAN)
Stallings 98
58Client/Server Architecture
Client
Server
Presentation Services
Request
Application Logic (Client Side)
Application Logic (Server Side)
Response
Communication
Communication
Protocol
Operating System
Operating System
Hardware Platform
Hardware Platform
Stallings 98
59Client/Server Example Data Base
Client
Presentation Services
Server
Application Logic (Client Side)
Application Logic (Server Side)
Request
Data Base Logic
Data Base Logic DBMS
Response
Communication
Communication
Protocol
Operating System
Operating System
Hardware Platform
Hardware Platform
Stallings 98
60Client/Server Usage
- a data base is a good example for client/server
- centralized maintenance
- possibly large storage space requirements
- computation-intensive operations
- sorting, searching, joins
- powerful server with large hard disk(s)
- client provides user interface, smaller
computations - potential problem balance between client
server - searching should not be done by the client
- network traffic to transfer the whole data base
- computation power required
61Client/Server Advantages
- lower cost than mainframes
- better utilization of PCs, workstations
- distribution or centralization of critical
services - possible, as needed
- resource sharing
- load distribution
62Client/Server Problems
- client administration
- different platforms (hardware, OS, language)
- software distribution
- reliable
- verifiable
- security
- network
- information
- integration of various systems
- legacy systems
- multi-vendor, multi-platform environments
63Middleware
- tools and methods that provide a uniform access
mechanism to systems across all platforms - standardized interfaces and protocols
- examples
- Common Object Request Broker Architecture (CORBA)
- Common Object Model (COM), Object Linking and
Embedding (OLE) - Java
64Middleware Diagram
Application
APIs
Middleware (distributed system services)
Platform Interfaces
Platform
Stallings 98
65Middleware Example
Data Base Server
Servers
Clients
66Tiered Architectures
- distinction between various types of networked
computer system - drive towards a global shared information space
(WWW) - dynamic, executable content
- platform-independent implementation
- integration of existing systems
67Tiered Architectures cont.
- utilization of resources
- processing power of underutilized computers
- access to networked resources
- total cost of ownership (TCO)
- basic costs for infrastructure
- cost per computer system
68Single-Tiered Architecture
- typical mainframe with directly connected
terminals - all resources are available through the mainframe
- advantages and problems
- easy to manage
- high cost
- low flexibility
- connectivity
- usually star network with mainframe as central hub
69Single-Tier Diagram
mainframe
terminals
70Two-Tiered Architecture
- typical client/server model
- server provides various services
- clients have limited processing power
- advantages and problems
- lower cost
- better use of desktop processing power
- higher flexibility
- access to services on various servers
- more difficult to manage and program
- connectivity
- flexible, usually LAN
- separation of business logic from client
processing
71Two-Tier Diagram
servers
PCs, workstations
72Three-Tiered Architecture
- integration of existing systems (legacy
systems) - frequently via middleware
- reduction of management and program development
problems through platform-independent methods - CORBA, Java
- advantages and problems
- reasonable to manage and program
- platform-independent applications
- intermediate components
- high flexibility
- integration of legacy systems
- LAN-based connectivity
73Three-Tier Diagram
mainframes
servers
PCs, workstations
74Important Concepts and Terms
- application layer
- bus
- computer system
- CSMA/CD
- distributed operating system
- Ethernet
- fully connected
- hierarchical network
- host
- ISO/OSI model
- Internet
- local
- machine
- middleware
- network operating system
- node
- operating system
- partially connected
- physical layer
- processes, tasks
- remote
- resource
- ring
- service
- site
- star
- TCP/IP
- tier
- topology
75Chapter Summary
- most computer systems are connected to networks
- local area network (LAN)
- wide area network (WAN), especially Internet
- networking enables communication, collaboration,
and access to shared resources - networks require infrastructure
- interconnections (links)
- protocols
- a client/server model is frequently used in
networks - middleware integrates various platforms and
applications on networks