Embed
Email

Systems

Document Sample
Systems
Shared by: HC111130003216
Categories
Tags
Stats
views:
0
posted:
11/29/2011
language:
English
pages:
57
Systems Software









1

Topics

• Operating System

• Distributed systems









2

Objectives





• Become familiar with the functions

provided by operating systems









3

Introduction



• The biggest and fastest computer in the world

is of no use if it cannot efficiently provide

beneficial services to its users.

• Users see the computer through their

application programs. These programs are

ultimately executed by computer hardware.

• System software-- in the form of operating

systems and middleware-- is the glue that

holds everything together.



4

Operating Systems



• The evolution of operating systems has paralleled

the evolution of computer hardware.

– As hardware became more powerful, operating systems

allowed people to more easily manage the power of the

machine.

• In the days when main memory was measured in

kilobytes, and tape drives were the only form of

magnetic storage, operating systems were simple

resident monitor programs.

– The resident monitor could only load, execute, and

terminate programs.



5

Operating Systems



• In the 1960s, hardware has become powerful

enough to accommodate multiprogramming, the

concurrent execution of more than one task.

• Multiprogramming is achieved by allocating each

process a given portion of CPU time (a timeslice).

• Interactive multiprogramming systems were

called timesharing systems.

– When a process is taken from the CPU and replaced by

another, we say that a context switch has occurred.





6

Operating Systems



• Today, multiprocessor systems have become

commonplace.

– They present an array of challenges to the operating

system designer, including the manner in which the

processors will be synchronized, and how to keep their

activities from interfering with each other.

• Tightly coupled multiprocessor systems share a

common memory and the same set of I/O devices.

– Symmetric multiprocessor systems are tightly coupled and

load balanced.





7

Operating Systems



• Loosely coupled multiprocessor systems have

physically separate memory.

– These are often called distributed systems.

– Another type of distributed system is a networked system,

which consists of a collection of interconnected,

collaborating workstations.

• Real time operating systems control computers that

respond to their environment.

– Hard real time systems have tight timing constraints, soft

real time systems do not.





8

Operating Systems



• Personal computer operating systems are designed

for ease of use rather than high performance.

• The idea that revolutionized small computer

operating systems was the BIOS (basic input-output

operating system) chip that permitted a single

operating system to function on different types of

small systems.

– The BIOS takes care of the details involved in addressing

divergent peripheral device designs and protocols.







9

Operating Systems



• Two operating system components are crucial:

The kernel and the system programs.

• As the core of the operating system, the kernel

performs scheduling, synchronization, memory

management, interrupt handling and it provides

security and protection.

• Microkernel systems provide minimal functionality,

with most services carried out by external programs.

• Monolithic systems provide most of their services

within a single operating system program.

10

Operating Systems



• Microkernel systems provide better security,

easier maintenance, and portability at the expense

of execution speed.

– Examples are Windows 2000, Mach, and QNX.

– Symmetric multiprocessor computers are ideal platforms

for microkernel operating systems.

• Monolithic systems give faster execution speed,

but are difficult to port from one architecture to

another.

– Examples are Linux, MacOS, and DOS.



11

Operating Systems



• Process management lies at the heart of operating

system services.

– The operating system creates processes, schedules their

access to resources, deletes processes, and deallocates

resources that were allocated during process execution.

• The operating system monitors the activities of each

process to avoid synchronization problems that can

occur when processes use shared resources.

• If processes need to communicate with one another,

the operating system provides the services.



12

Operating Systems



• The operating system schedules process execution.

• First, the operating system determines which process

shall be granted access to the CPU.

– This is long-term scheduling.

• After a number of processes have been admitted, the

operating system determines which one will have

access to the CPU at any particular moment.

– This is short-term scheduling.

• Context switches occur when a process is taken from

the CPU and replaced by another process.

– Information relating to the state of the process is preserved

during a context switch.

13

Operating Systems



• Short-term scheduling can be nonpreemtive or

premptive.

• In nonpreemptive scheduling, a process has use of

the CPU until either it terminates, or must wait for

resources that are temporarily unavailable.

• In preemptive scheduling, each process is allocated

a timeslice. When the timeslice expires, a context

switch occurs.

• A context switch can also occur when a higher-

priority process needs the CPU.



14

Operating Systems



• Four approaches to CPU scheduling are:

– First-come, first-served where jobs are serviced in arrival

sequence and run to completion if they have all of the resources

they need.

– Shortest job first where the smallest jobs get scheduled first.

(The trouble is in knowing which jobs are shortest!)

– Round robin scheduling where each job is allotted a certain

amount of CPU time. A context switch occurs when the time

expires.

– Priority scheduling preempts a job with a lower priority when a

higher-priority job needs the CPU.





15

Intro to Distributed Software Systems

Architectures









16

Objectives

• To explain the advantages and disadvantages of

different distributed systems architectures

• To discuss client-server and distributed object

architectures

• To describe object request brokers and the

principles underlying the CORBA standards









17

Topics covered

• Multiprocessor architectures

• Client-server architectures

• Distributed object architectures

• Inter-organisational computing









18

Distributed systems

• Virtually all large computer-based systems

are now distributed systems.

• Information processing is distributed over

several computers rather than confined to a

single machine.

• Distributed software engineering is

therefore very important for enterprise

computing systems.

19

System types

• Personal systems that are not distributed and that

are designed to run on a personal computer or

workstation.

• Embedded systems that run on a single processor

or on an integrated group of processors.

• Distributed systems where the system software

runs on a loosely integrated group of cooperating

processors linked by a network.



20

Distributed system characteristics

• Resource sharing

– Sharing of hardware and software resources.

• Openness

– Use of equipment and software from different

vendors.

• Concurrency

– Concurrent processing to enhance performance.

• Scalability

– Increased throughput by adding new resources.

• Fault tolerance

– The ability to continue in operation after a fault has 21

Distributed system disadvantages

• Complexity

– Typically, distributed systems are more complex

than centralised systems.

• Security

– More susceptible to external attack.

• Manageability

– More effort required for system management.

• Unpredictability

– Unpredictable responses depending on the system

organisation and network load. 22

Distributed systems architectures

• Client-server architectures

– Distributed services which are called on by

clients. Servers that provide services are

treated differently from clients that use

services.

• Distributed object architectures

– No distinction between clients and servers.

Any object on the system may provide and

use services from other objects.

23

Middleware

• Software that manages and supports the different

components of a distributed system. In essence, it

sits in the middle of the system.

• Middleware is usually off-the-shelf rather than

specially written software.

• Examples

– Transaction processing monitors;

– Data converters;

– Communication controllers.

24

Multiprocessor architectures

• Simplest distributed system model.

• System composed of multiple processes

which may (but need not) execute on

different processors.

• Architectural model of many large real-

time systems.

• Distribution of process to processor may be

pre-ordered or may be under the control of

a dispatcher.

25

A multiprocessor traffic control system





Sens or T lo

raffic f w Traffic ligh t con trol

pro cess or pro cess or pro cess or





Sens or Ligh t

control Disp lay control

pro cess pro cess pro cess









Traffic ligh ts

f low nd

Trafic f sensors a

cameras Op erator co ns oles









26

Client-server architectures

• The application is modelled as a set of

services that are provided by servers and a

set of clients that use these services.

• Clients know of servers but servers need

not know of clients.

• Clients and servers are logical processes

• The mapping of processors to processes is

not necessarily 1 : 1.

27

A client-server system



c2 c3 c4

c12

c11

Server pro cess



c1 s1 s4





c10

c5

Clien t pro cess

s2 s3 c9





c6

c7 c8









28

Computers in a C/S network



c1 c2 c3, c4

CC1 CC2 CC3







s 1, s2 Netw ork Server

s 3, s4

comp uter



SC2 SC1







Clien t

comp uter

c5, c6 , c7 c8, c9 c10, c1 1, c1 2

CC4 CC5 CC6









29

Layered application architecture

• Presentation layer

– Concerned with presenting the results of a

computation to system users and with collecting user

inputs.

• Application processing layer

– Concerned with providing application specific

functionality e.g., in a banking system, banking

functions such as open account, close account, etc.

• Data management layer

– Concerned with managing the system databases.

30

Application layers









31

Thin and fat clients

• Thin-client model

– In a thin-client model, all of the application

processing and data management is carried

out on the server. The client is simply

responsible for running the presentation

software.

• Fat-client model

– In this model, the server is only responsible

for data management. The software on the

client implements the application logic and 32

the interactions with the system user.

Thin and fat clients









33

Thin client model

• Used when legacy systems are migrated to

client server architectures.

– The legacy system acts as a server in its own

right with a graphical interface implemented

on a client.

• A major disadvantage is that it places a

heavy processing load on both the server

and the network.

34

Fat client model

• More processing is delegated to the client

as the application processing is locally

executed.

• Most suitable for new C/S systems where

the capabilities of the client system are

known in advance.

• More complex than a thin client model

especially for management. New versions

of the application have to be installed on

all clients. 35

A client-server ATM system



ATM





ATM Acco un t s erver



T ele- Cu stomer

pro cess in g accoun t

mo nito r datab as e



ATM





ATM







36

Three-tier architectures

• In a three-tier architecture, each of the

application architecture layers may execute

on a separate processor.

• Allows for better performance than a thin-

client approach and is simpler to manage

than a fat-client approach.

• A more scalable architecture - as demands

increase, extra servers can be added.

37

A 3-tier C/S architecture









38

An internet banking system



Clien t HTTP in teraction





Web serv er Database server

Clien t

SQL q uery

Acco un t s ervice Cu stomer

SQL accoun t

pro vision

datab as e

Clien t







Clien t









39

Use of C/S architectures

Architecture Applications

Two-tier C/S Legacy system applications where separating application processing and

architecture with data management is impractical.

thin clients Computationally-intensive applications such as compilers with little or

no data management.

Data-intensive applications (browsing and querying) with little or no

application processing.

Two-tier C/S Applications where application processing is provided by off-the-shelf

architecture with software (e.g. Microsoft Excel) on the client.

fat clients Applications where computationally-intensive processing of data (e.g.

data visualis ation) is required.

Applications with relatively stable end-user functionalit y used in an

environment with well-established system management.

Three-tier or Large scale applications with hundreds or thousands of clients

multi-tier C/S Applications where both the data and the application are volatile.

architecture Applications where data from multiple sources are integrated.



40

Distributed object architectures

• There is no distinction in a distributed object

architectures between clients and servers.

• Each distributable entity is an object that

provides services to other objects and receives

services from other objects.

• Object communication is through a middleware

system called an object request broker.

• However, distributed object architectures are

more complex to design than C/S systems.

41

Distributed object architecture

o1 o2 o3 o4





S (o1 ) S (o2 ) S (o3 ) S (o4 )









Ob ject requ es t b ro ker







o5 o6





S (o5 ) S (o6 )





42

Advantages of distributed object architecture



• It allows the system designer to delay decisions

on where and how services should be provided.

• It is a very open system architecture that allows

new resources to be added to it as required.

• The system is flexible and scaleable.

• It is possible to reconfigure the system

dynamically with objects migrating across the

network as required.



43

Uses of distributed object architecture



• As a logical model that allows you to structure

and organise the system. In this case, you think

about how to provide application functionality

solely in terms of services and combinations of

services.

• As a flexible approach to the implementation of

client-server systems. The logical model of the

system is a client-server model but both clients

and servers are realised as distributed objects

communicating through a common 44

communication framework.

CORBA

• CORBA is an international standard for an

Object Request Broker - middleware to manage

communications between distributed objects.

• Middleware for distributed computing is required

at 2 levels:

– At the logical communication level, the middleware

allows objects on different computers to exchange

data and control information;

– At the component level, the middleware provides a

basis for developing compatible components.

CORBA component standards have been defined. 45

CORBA application structure

Ap plication Do main Ho rizo ntal CORBA

ob jects facilities facilities









Ob ject requ es t b ro ker









CORBA s ervices









46

Application structure

• Application objects.

• Standard objects, defined by the OMG, for

a specific domain e.g. insurance.

• Fundamental CORBA services such as

directories and security management.

• Horizontal (i.e. cutting across applications)

facilities such as user interface facilities.



47

CORBA standards

• An object model for application objects

– A CORBA object is an encapsulation of state

with a well-defined, language-neutral

interface defined in an IDL (interface

definition language).

• An object request broker that manages

requests for object services.

• A set of general object services of use to

many distributed applications.

• A set of common components built on top 48

CORBA objects

• CORBA objects are comparable, in principle, to

objects in C++ and Java.

• They MUST have a separate interface definition

that is expressed using a common language (IDL)

similar to C++.

• There is a mapping from this IDL to

programming languages (C++, Java, etc.).

• Therefore, objects written in different languages

can communicate with each other.

49

Object request broker (ORB)

• The ORB handles object communications. It

knows of all objects in the system and their

interfaces.

• Using an ORB, the calling object binds an IDL

stub that defines the interface of the called object.

• Calling this stub results in calls to the ORB

which then calls the required object through a

published IDL skeleton that links the interface to

the service implementation.

50

ORB-based object communications



o1 o2





S (o1 ) S (o2 )







IDL IDL

s tu b s keleto n



Ob ject Reques t Brok er





51

Inter-ORB communications

• ORBs are not usually separate programs but are a

set of objects in a library that are linked with an

application when it is developed.

• ORBs handle communications between objects

executing on the sane machine.

• Several ORBS may be available and each

computer in a distributed system will have its

own ORB.

• Inter-ORB communications are used for

distributed object calls. 52

Inter-ORB communications

o1 o2 o3 o4





S (o1 ) S (o2 ) S (o3 ) S (o4 )







IDL IDL IDL IDL

s tu b s keleto n s tu b s keleto n



Ob ject Requ es t Brok er Ob ject Requ es t Brok er





Netw ork









53

CORBA services

• Naming and trading services

– These allow objects to discover and refer to

other objects on the network.

• Notification services

– These allow objects to notify other objects

that an event has occurred.

• Transaction services

– These support atomic transactions and

rollback on failure. 54

Distributed systems: Key points

• Distributed systems support resource sharing,

openness, concurrency, scalability, fault tolerance

and transparency.

• Client-server architectures involve services being

delivered by servers to programs operating on

clients.

• User interface software always runs on the client

and data management on the server. Application

functionality may be on the client or the server.

• In a distributed object architecture, there is no

distinction between clients and servers. 55

Distributed systems: Key points

• Distributed object systems require middleware to

handle object communications and to add and

remove system objects.

• The CORBA standards are a set of middleware

standards that support distributed object

architectures.

• Peer to peer architectures are decentralised

architectures where there is no distinction

between clients and servers.

• Service-oriented systems are created by linking

software services provided by different service 56

suppliers.

End of Chapter 8









57


Related docs
Other docs by HC111130003216
Hawaii Summary 1999 2007
Views: 23  |  Downloads: 0
Diapositive 1
Views: 4  |  Downloads: 0
E N000103
Views: 1  |  Downloads: 0
Boat Safety Scheme Byelaws
Views: 1  |  Downloads: 0
Survey-Roe
Views: 1  |  Downloads: 0
JOB DESCRIPTION
Views: 0  |  Downloads: 0
South Reach List
Views: 1  |  Downloads: 0
Pedag�gico
Views: 209  |  Downloads: 0
Internal Vacancy List
Views: 7  |  Downloads: 0
math songs lesson plan meet my fact family g2
Views: 2  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!