Winter 2007SEG2101 Chapter 111 Chapter 11 Implementation Design.

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Lecture 36: Chapter 6 Today’s topic –RAID 1. RAID Redundant Array of Inexpensive (Independent) Disks –Use multiple smaller disks (c.f. one large disk)
Chapter 6 Concurrency: Deadlock and Starvation
OASIS Reference Model for Service Oriented Architecture 1.0
Chapter 5 Processes and Threads Copyright © 2008.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Concurrent Processes Lecture 5. Introduction Modern operating systems can handle more than one process at a time System scheduler manages processes and.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
1: Operating Systems Overview
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Chapter 13 Embedded Systems
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
Chapter 11 Operating Systems
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches (Sections 8.1 – 8.5)
CS533 - Concepts of Operating Systems
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
1 I/O Management in Representative Operating Systems.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
What is Software Architecture?
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
SDS Foil no 1 How to make real systems: Implementation design, deployment and realisation.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
1 System Models. 2 Outline Introduction Architectural models Fundamental models Guideline.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
CSE 303 – Software Design and Architecture
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Process Concept Process – a program.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Chapter 2: System Models. Objectives To provide students with conceptual models to support their study of distributed systems. To motivate the study of.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
Sem1 - Module 8 Ethernet Switching. Shared media environments Shared media environment: –Occurs when multiple hosts have access to the same medium. –For.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Summary :-Distributed Process Scheduling Prepared By:- Monika Patel.
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
CS212: OPERATING SYSTEM Lecture 2: Process 1. Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
The concept of RAID in Databases By Junaid Ali Siddiqui.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 4: Processes Process Concept Process Scheduling Operations on Processes Cooperating.
Chapter 12 The Network Development Life Cycle
Design Principles and Common Security Related Programming Problems
Processes. Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
The Concept of Universal Service
Operating Systems : Overview
Operating Systems : Overview
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Chapter 2: Operating-System Structures
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Operating Systems : Overview
Operating Systems : Overview
Design Yaodong Bi.
Chapter 2: Operating-System Structures
Chapter 6: Architectural Design
Chapter 13: I/O Systems.
Presentation transcript:

Winter 2007SEG2101 Chapter 111 Chapter 11 Implementation Design

Winter 2007SEG2101 Chapter 112 Contents What is implementation design? Difference between real systems and SDL systems Implementation descriptions Design considerations

Winter 2007SEG2101 Chapter : Implementation Design Goal: to define the mapping from the abstract system defined in functional design to a concrete system made up of hardware and software components. Task: to make all necessary decisions and to document the concrete system in sufficient detail to make implementation well defined. Result: an implementation design description, which explains how the abstract functions are realized.

Winter 2007SEG2101 Chapter 114 The Scope of Implementation Design

Winter 2007SEG2101 Chapter 115 Example: Implementation alternatives

Winter 2007SEG2101 Chapter 116 The Forward Aspect Select among implementation alternatives being functionally equivalent to the SDL system.

Winter 2007SEG2101 Chapter 117 The Feedback Aspect Adapt the SDL description in the case when the selected implementation is not functionally equivalent. There are important differences between the abstract world of SDL and the real world.

Winter 2007SEG2101 Chapter 118 The Role of Design Constraints Although the realization alternatives for a given functional design are functionally equivalent, the choice of the designer is normally restricted by the non-functional requirements or design constraints. If no constraints exist or all solutions are equivalent, the designer is free to choose among solutions.

Winter 2007SEG2101 Chapter : Differences between Real Systems and SDL Systems Fundamental differences –Physical components are rather imperfect compared to the more ideal properties of SDL components. –They develop errors over time, they are subject to noise and they need time to perform their processing tasks. Conceptual differences –In both worlds there are concepts for concurrency, communication, sequential behavior and data, but they are not necessarily the same.

Winter 2007SEG2101 Chapter 1110 A Typical Realization

Winter 2007SEG2101 Chapter 1111 Fundamental Differences Processing time –CPU power Errors and noise Physical distribution Finite resources

Winter 2007SEG2101 Chapter 1112 Processing Time An SDL system is not limited by processing resources. The real world is different. One major issue is to balance the processing capacity of the implementation against the traffic load. When one knows the speed required, the next task is to find hardware-software solutions that will be fast enough. The hardware-software interfaces need special consideration. The receiver has to be fast enough to catch all relevant signal information at the speed it is passed over the channel.

Winter 2007SEG2101 Chapter 1113 Errors and Noise In the real world, errors will manifest themselves as faults in the operation of channels and processes. Hardware errors, physical damages and noise are caused by physical phenomena entirely outside the realm of SDL. The effect of errors and noise will often need to be handled explicitly in SDL description. How it can be detected, and damages may be limited? What a process should do if it never gets a response to a request or if it gets erroneous response? …

Winter 2007SEG2101 Chapter 1114 Physical Distribution Physically separated processes and channels may fail independently. Channels covering long physical distances are subject to more noise and errors than channels implemented in software within one computer. Transmission equipment and protocols are needed to implement the channel reliably. Physical distance may introduce new functions needed to support the implementation of channels. A positive effect of physical separation is that errors are isolated.

Winter 2007SEG2101 Chapter 1115 Finite Resources All resources in a real system are finite. There may be a maximum number of processes the operating system can handle or a maximum number of buffers for sending messages. Memory space… The designer must find ways to implement potentially infinite SDL system using finite resources. –Restrict the use of SDL so that all values are certain to be bounded. –Deal with resource limitations in the implementation.

Winter 2007SEG2101 Chapter 1116 Conceptual Differences - Concurrency SDL: independent and asynchronous Real: truly in parallel, the operations of parallel objects are synchronous or asynchronous A “natural” implementation is to map each SDL process to a separate physical object, which is not always cost-effective. An alternative is to implement many process in software sharing the same computer hardware. –Quasi-parallel –Scheduling and multiplexing

Winter 2007SEG2101 Chapter 1117 Conceptual Differences - Communication There are two different categories of information: events and states There are two ways to communicate: signal units and continuous signals There are two kinds of communication media: unit- oriented and continuous SDL signal: signal units implemented by unit-oriented medium such as message queue Real signal: sometimes, continuous signals

Winter 2007SEG2101 Chapter 1118 Conceptual Differences - Synchronization The act of aligning the operations of different concurrent processes in relation to each other In SDL synchronization is achieved by means of the signal queues of processes SDL: time-independent, using an asynchronous medium with infinite buffer capacity, the sender can send infinitely many signals ahead of the receiver, the synchronization of SDL rests on a basic synchronization mechanism – mutual exclusion Real: time-dependent, time-independent, queue will be finite

Winter 2007SEG2101 Chapter : Design Considerations Trade-off between hardware and software Define hardware architecture Define software architecture Restructure and refine the functional design

Winter 2007SEG2101 Chapter 1120 Trade-off between Hardware and Software Physical distribution and physical interfaces Time constraints versus process capacity Error handling Security against unauthorized access to information Operation and maintenance of the hardware Cost to develop, produce, modify and maintain (Re)use of existing components

Winter 2007SEG2101 Chapter 1121 Example

Winter 2007SEG2101 Chapter 1122 Physical Distribution and Physical Interface Distribute processes in a way that minimizes the bandwidth needed over physical channels.

Winter 2007SEG2101 Chapter 1123 Time Constraints versus Processing Capacity For each SDL process P, estimate a mean transition time t p =i p *o p *S Calculate the mean number of transition n p, that each SDL process will perform per second at peak load. Calculate the normalized mean peak load for each process: l p =n p *t p Calculate corresponding load for each channel C and signal route R: l C =n C *t C l R =n R *t R Calculate the mean peak load of the system by adding together the channel, signal route, and process load. If the sum is higher than one, the mean load is higher than the processing capacity of a single computer. As a rule of thumb, the mean peak load on a single computer should not exceed 0.3 (typically ).

Winter 2007SEG2101 Chapter 1124 Error Handling Fault tolerance means redundancy. At least two hardware units and facilities for error detection, diagnostics and switch-over are needed to implement fault tolerance. Fault sectioning means distributing the functions over separate hardware units in a way that limits the number of SDL processes that may be blocked by a single hardware error. Fail-safeness means that the system must always fail to a safe state where it does no harm to its environment. Some sort of supervisory hardware will normally be needed. RAID, watch-dog, voting

Winter 2007SEG2101 Chapter Software Design for RT Systems

Winter 2007SEG2101 Chapter 1126 Three Interrelated Problems Input-output: how to handle the communication with the environment across the hardware-software interface. Application: how to implement the functionality of SDL system within the software system of each computer. Concurrency: how to handle the concurrence required by the input-output and application. In short, how to handle time, priorities, scheduling, and synchronization.

Winter 2007SEG2101 Chapter 1127 Context of Software Design

Winter 2007SEG2101 Chapter 1128 Principles for Priority Assignments External priority: give time-critical external events priority over internal processing Internal processing priority: give the processing of internal signals priority over the processing of external signals Load control: when overload occurs, give priority to service requests already in progress and delay fresh requests

Winter 2007SEG2101 Chapter 1129 Implementation of Process Communication Waiting for events –Active waiting –Semi-active waiting –Passive waiting Message passing Buffered communication

Winter 2007SEG2101 Chapter 1130 Active Waiting DO FOREVER BEGIN newstate := input(channel); IF newstate NEQ laststate THEN process_event; laststate := newstate; END;

Winter 2007SEG2101 Chapter 1131 Semi-Active Waiting DO FOREVER BEGIN newstate := input(channel); IF newstate NEQ laststate THEN process_event; laststate := newstate; DO “something_else”; /* wait(suspend,time) */ END;

Winter 2007SEG2101 Chapter 1132 Passive Waiting DO FOREVER BEGIN waitint(channelevent,max_time); process_event; END;

Winter 2007SEG2101 Chapter 1133 Message Passing – Procedure Call Procedure calls provide the most straightforward way of communication among software modules.

Winter 2007SEG2101 Chapter 1134 Buffered Communication

Winter 2007SEG2101 Chapter 1135 Shared Variable

Winter 2007SEG2101 Chapter 1136 Implementation of SDL Process Behavior State-oriented

Winter 2007SEG2101 Chapter 1137 Action-oriented Implementation of SDL Process Behavior

Winter 2007SEG2101 Chapter 1138 Table-driven Implementation of SDL Process Behavior