We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byGina Hindle
Modified about 1 year ago
© Krithi Ramamritham / Kavi Arya 1 Real-Time Embedded Systems Krithi Ramamritham IIT Bombay
© Krithi Ramamritham / Kavi Arya 2 Embedded Systems?
© Krithi Ramamritham / Kavi Arya 3 Plan Embedded Systems –Introduction –Application Examples Real-time support for ESW
© Krithi Ramamritham / Kavi Arya 4 Embedded Systems Single functional e.g. pager, mobile phone Tightly constrained –cost, size, performance, power, etc. Reactive & real-time –e.g. car’s cruise controller –delay in computation => failure of system
© Krithi Ramamritham / Kavi Arya 5 Why Is Embedded Software Not Just Software On Small Computers? Embedded = Dedicated Interaction with physical processes –sensors, actuators, processes Critical properties are not all functional –real-time, fault recovery, power, security, robustness Heterogeneity –hardware/software tradeoffs, mixed architectures Concurrency –interaction with multiple processes Reactivity –operating at the speed of the environment These features look more like hardware! + These features look more like hardware! Source: Edward A. Lee, UC Berkeley SRC/ETAB Summer Study 2001 Source: Edward A. Lee, UC Berkeley SRC/ETAB Summer Study 2001
© Krithi Ramamritham / Kavi Arya 6 What is Embedded SW? One definition: “Software that is directly in contact with, or significantly affected by, the hardware that it executes on, or can directly influence the behavior of that hardware.”
© Krithi Ramamritham / Kavi Arya 7 Functional Design & Mapping HW1HW2HW3HW4 Hardware Interface RTOS/Drivers Threa d Architectural Design F1 F2 F3 F4 F5 Functional Design (F3)(F4) (F5) (F2) Source: Ian Phillips, ARM VSIA 2001 Source: Ian Phillips, ARM VSIA 2001
© Krithi Ramamritham / Kavi Arya 8 Embedded Applications An embedded system typically has a digital signal processor and a variety of I/O devices connected to sensors and actuators. Computer (controller) is surrounded by other subsystems, sensors and actuators Computer -- Controller's function is : to monitor parameters of physical processes of its surrounding system to control these processes whenever needed.
© Krithi Ramamritham / Kavi Arya 9 Simple Examples A simple thermostat controller periodically reads the temperature of the chamber switches on or off the cooling system. a pacemaker constantly monitors the heart paces the heart when heart beats are missed
© Krithi Ramamritham / Kavi Arya 10 Open loop temperature control Closed loop temperature control
© Krithi Ramamritham / Kavi Arya 11 Example: Elevator Controller
© Krithi Ramamritham / Kavi Arya 12 Adaptive Cruise Control with Driver Alert Helps to reduce the need for drivers to manually adjust speed or disengage cruise control when encountering Slower traffic. Automatically manages vehicle speed to maintain a distance set by the driver. Alerts drivers when slower traffic is detected in the path. Audible and visual alerts warn the driver when braking is necessary to avoid slower moving vehicles ahead. Drivers can adjust system sensitivity to their preferred driving style.
© Krithi Ramamritham / Kavi Arya 13 Plan Embedded Systems Real-Time Support –Special Characteristics of Real-Time Systems –Real-Time Constraints –Canonical Real-Time Applications –Scheduling in Real-time systems –Operating System Approaches
© Krithi Ramamritham / Kavi Arya 14 computer world real world e.g., PCindustrial system, airplane average response for user, events occur in environment at own speed interactive occasionally longer reaction too slow: deadline miss reaction: user annoyed reaction: damage, pot. loss of human life computer controls speed of user computer must follow speed of environment “computer time”“real-time” What is “real” about real-time?
© Krithi Ramamritham / Kavi Arya 15 A real-time system is a system that reacts to events in the environment by performing predefined actions I/O - data Real-Time Systems Real-time computing system event action within specified time intervals. time
© Krithi Ramamritham / Kavi Arya 16 Real-Time Systems: Properties of Interest Safety : Nothing bad will happen. Liveness : Something good will happen. Timeliness : Things will happen on time -- by their deadlines, periodically,....
© Krithi Ramamritham / Kavi Arya 17 In a Real-Time System…. correct value delivered too late is incorrect e.g., traffic light: light must be green when crossing, not enough before Real -time: (Timely) reactions to events as they occur, at their pace: (real-time) system (internal) time same time scale as environment (external) time Correctness of results depends on value and its time of delivery
© Krithi Ramamritham / Kavi Arya 18 Performance Metrics in Real-Time Systems Beyond minimizing response times and increasing the throughput: – achieve timeliness. More precisely, how well can we predict that deadlines will be met?
© Krithi Ramamritham / Kavi Arya 19 Types of RT Systems Dimensions along which real-time activities can be categorized: how tight are the deadlines ? --deadlines are tight when the laxity (deadline -- computation time) is small. how strict are the deadlines ? what is the value of executing an activity after its deadline? what are the characteristics of the environment ? how static or dynamic must the system be? Designers want their real-time system to be fast, predictable, reliable, flexible.
© Krithi Ramamritham / Kavi Arya 20 deadline (dl) + Hard, soft, firm Hard result useless or dangerous if deadline exceeded value time - hard soft Soft result of some - lower - value if deadline exceeded Deadline intervals: result required not later and not before Firm If value drops to zero at deadline
© Krithi Ramamritham / Kavi Arya 21 Examples Hard real time systems –Aircraft –Airport landing services –Nuclear Power Stations –Chemical Plants –Life support systems Soft real time systems –Mutlimedia –Interactive video games
© Krithi Ramamritham / Kavi Arya 22 Real-Time: Items and Terms Task –program, perform service, functionality –requires resources, e.g., execution time Deadline –specified time for completion of, e.g., task –time interval or absolute point in time –value of result may depend on completion time
© Krithi Ramamritham / Kavi Arya 23 Plan Special Characteristics of Real-Time Systems Real-Time Constraints Canonical Real-Time Applications Scheduling in Real-time systems Operating System Approaches
© Krithi Ramamritham / Kavi Arya 24 Timing Constraints Real-time means to be in time --- how do we know something is “in time”? how do we express that? Timing constraints are used to specify temporal correctness e.g., “finish assignment by 2pm”, “be at station before train departs”. A system is said to be (temporally) feasible, if it meets all specified timing constraints. Timing constraints do not come out of thin air: design process identifies events, derives, models, and finally specifies timing constraints
© Krithi Ramamritham / Kavi Arya 25 Periodic –activity occurs repeatedly –e.g., to monitor environment values, temperature, etc. time period periodic
© Krithi Ramamritham / Kavi Arya 26 Aperiodic –can occur any time –no arrival pattern given time aperiodic
© Krithi Ramamritham / Kavi Arya 27 Sporadic –can occur any time, but –minimum time between arrivals time mint sporadic
© Krithi Ramamritham / Kavi Arya 28 Who initiates (triggers) actions? Example: Chemical process –controlled so that temperature stays below danger level –warning is triggered before danger point …… so that cooling can still occur Two possibilities: –action whenever temp raises above warn; event triggered –look every int time intervals; action when temp if measures above warn time triggered
© Krithi Ramamritham / Kavi Arya 29 Plan Special Characteristics of Real-Time Systems Real-Time Constraints Canonical Real-Time Applications Scheduling in Real-time systems Operating System Approaches
© Krithi Ramamritham / Kavi Arya 30 A Typical Real time system Temperature sensor CPU Memory Input port Output port Heater
© Krithi Ramamritham / Kavi Arya 31 Extended polling example Computer Temperature Sensor 1 Temperature Sensor 2 Temperature Sensor 3 Temperature Sensor 4 Heater 1 Heater 2 Heater 3 Heater 4 Task 1 Task 2 Task 3 Task 4 Conceptual link
© Krithi Ramamritham / Kavi Arya 32 Clock, interrupts, tasks ClockProcessor Interrupts Task 1Task 2Task 3Task 4 Job/Task queue Examines Tasks schedule events using the clock...
© Krithi Ramamritham / Kavi Arya 33 Why is scheduling important? Definition : A real-time system is a system that reacts to events in the environment by performing predefined actions within specified time intervals.
© Krithi Ramamritham / Kavi Arya 34 Schedulability analysis a.k.a. feasibility checking: check whether tasks will meet their timing constraints.
© Krithi Ramamritham / Kavi Arya 35 Scheduling Paradigms Four scheduling paradigms emerge, depending on whether a system performs schedulability analysis if it does, – whether it is done statically or dynamically – whether the result of the analysis itself produces a schedule or plan according to which tasks are dispatched at run-time.
© Krithi Ramamritham / Kavi Arya Static Table-Driven Approaches Perform static schedulability analysis by checking if a schedule is derivable. The resulting schedule (table) identifies the start times of each task. Applicable to tasks that are periodic (or have been transformed into periodic tasks by well known techniques). This is highly predictable but, highly inflexible. Any change to the tasks and their characteristics may require a complete overhaul of the table.
© Krithi Ramamritham / Kavi Arya Static Priority Driven Preemptive Approaches Tasks have -- systematically assigned -- static priorities. Priorities take timing constraints into account: –e.g. RMA: Rate-Monotonic ---- the lower the period, the higher the priority. –e.g. EDF: Earliest-deadline-first --- the earlier the deadline, the higher the priority. Perform static schedulability analysis but no explicit schedule is constructed –RMA - Sum of task Utilizations <= ln 2. –EDF - Sum of task Utilizations <= 1 At run-time, tasks are executed highest-priority-first, with preemptive-resume policy. When resources are used, need to compute worst-case blocking times. Task utilization = computation-time / Period
© Krithi Ramamritham / Kavi Arya 38 Static Priorities: Rate Monotonic Analysis presented by Liu and Layland in 1973 Assumptions Tasks are periodic with deadline equal to period. Release time of tasks is the period start time. Tasks do not suspend themselves Tasks have bounded execution time Tasks are independent Scheduling overhead negligible
© Krithi Ramamritham / Kavi Arya 39 RMA: Design Time vs. Run Time At Design Time: Tasks priorities are assigned according to their periods; shorter period means higher priority Schedulability test Taskset is schedulable if Very simple test, easy to implement. Run-time The ready task with the highest priority is executed.
© Krithi Ramamritham / Kavi Arya 40 RMA: Example taskset: t1, t2, t3, t4 t1 = (3, 1) t2 = (6, 1) t3 = (5, 1) t4 = (10, 2) The schedulability test: 1/3 + 1/6 + 1/5 + 2/10 ≤ 4 (2 (1/4) - 1) ? 0.9 < 0.75 ? …. not schedulable
© Krithi Ramamritham / Kavi Arya 41 RMA… A schedulability test is Sufficient: there may exist tasksets that fail the test, but are schedulable Necessary: tasksets that fail are (definitely) not schedulable The RMA schedulability test is sufficient, but not necessary. e.g., when periods are harmonic, i.e., multiples of each other, utilization can be 1.
© Krithi Ramamritham / Kavi Arya 42 Exact RMA by Joseph and Pandya, based on critical instance analysis (longest response time of task, when it is released at same time as all higher priority tasks) What is happening at the critical instance? Let T 1 be the highest priority task. Its response time R 1 = C 1 since it cannot be preempted What about T 2 ? R 2 = C 2 + delays due to interruptions by T 1. Since T 1 has higher priority, it has shorter period. That means it will interrupt T 2 at least once, probably more often. Assume T 1 has half the period of T 2, R 2 = C x C 1
© Krithi Ramamritham / Kavi Arya Dynamic Planning based Approaches Feasibility is checked at run-time -- a dynamically arriving task is accepted only if it is feasible to meet its deadline. –Such a task is said to be guaranteed to meet its time constraints One of the results of the feasibility analysis can be a schedule or plan that determines start times Has the flexibility of dynamic approaches with some of the predictability of static approaches If feasibility check is done sufficiently ahead of the deadline, time is available to take alternative actions.
© Krithi Ramamritham / Kavi Arya Dynamic Best-effort Approaches The system tries to do its best to meet deadlines. But since no guarantees are provided, a task may be aborted during its execution. Until the deadline arrives, or until the task finishes, whichever comes first, one does not know whether a timing constraint will be met. Permits any reasonable scheduling approach, EDF, Highest-priority,…
© Krithi Ramamritham / Kavi Arya 45 Cyclic scheduling Ubiquitous in large-scale dynamic real-time systems Combination of both table-driven scheduling and priority scheduling. Tasks are assigned one of a set of harmonic periods. Within each period, tasks are dispatched according to a table that just lists the order in which the tasks execute. Slightly more flexible than the table-driven approach no start times are specified In many actual applications, rather than making worse- case assumptions, confidence in a cyclic schedule is obtained by very elaborate and extensive simulations of typical scenarios.
© Krithi Ramamritham / Kavi Arya 46 Plan Special Characteristics of Real-Time Systems Real-Time Constraints Canonical Real-Time Applications Scheduling in Real-time systems Operating System Approaches
© Krithi Ramamritham / Kavi Arya 47 Real-Time Operating Systems Support process management and synchronization, memory management, interprocess communication, and I/O. Three categories of real-time operating systems: small, proprietary kernels. e.g. VRTX32,pSOS, VxWorks real-time extensions to commercial timesharing operatin systems. e.g. RT-Linux, RT-NT research kernels e.g. MARS, ARTS, Spring, Polis
© Krithi Ramamritham / Kavi Arya 48 Real-Time Applications Spectrum Hard Soft Real-Time Operating System General-Purpose Operating System VxWorks, Lynx, QNX,... Windows NT Windows CE Intime, HyperKernel, RTX
© Krithi Ramamritham / Kavi Arya 49 Real-Time Applications Spectrum Hard Soft Real-Time Operating System General-Purpose Operating System VxWorks, Lynx, QNX,... Intime, HyperKernel, RTX Windows NT Windows CE
© Krithi Ramamritham / Kavi Arya 50 Embedded (Commercial) Kernels Stripped down and optimized versions of timesharing operating systems. Intended to be fast – a fast context switch, – external interrupts recognized quickly – the ability to lock code and data in memory – special sequential files that can accumulate data at a fast rate To deal with timing requirements –a real-time clock with special alarms and timeouts –bounded execution time for most primitives –real-time queuing disciplines such as earliest deadline first, –primitives to delay/suspend/resume execution –priority-driven best-effort scheduling mechanism or a table-driven mechanism. Communication and synchronization via mailboxes, events, signals, and semaphores.
© Krithi Ramamritham / Kavi Arya 51 Real-Time Extensions to General Purpose Operating Systems E.g., extending LINUX to RT-LINUX, NT to RT-NT Advantage: – based on a set of familiar interfaces (standards) that speed development and facilitate portability. Disadvantages –Too many basic and inappropriate underlying assumptions still exist.
© Krithi Ramamritham / Kavi Arya 52 Using General Purpose Operating Systems GPOS offer some capabilities useful for real- time system builders RT applications can obtain leverage from existing development tools and applications Some GPOSs accepted as de-facto standards for industrial applications
© Krithi Ramamritham / Kavi Arya 53 Real Time Linux approaches 1.Modify the current Linux kernel to handle RT constraints –Used by KURT 2.Make the standard Linux kernel run as a task of the real-time kernel –Used by RT-Linux, RTAI
© Krithi Ramamritham / Kavi Arya 54 Modifying Linux kernel Advantages –Most problems, such as interrupt handling, already solved –Less initial labor Disadvantages –No guaranteed performance –RT tasks don’t always have precedence over non- RT tasks.
© Krithi Ramamritham / Kavi Arya 55 Running Linux as a process of a second RT kernel Advantages –Can make hard real time guarantees –Easy to implement a new scheduler Disadvantages –Initial port difficult, must know a lot about underlying hardware –Running a small real-time executive is not a substitute for a full-fledged RTOS
© Krithi Ramamritham / Kavi Arya 56 GPOS -- for RT applications? Scheduling and priorities –Preemptive, priority-based scheduling non-degradable priorities priority adjustment –No priority inheritance –No priority tracking –Limited number of priorities –No explicit support for guaranteeing timing constraints
© Krithi Ramamritham / Kavi Arya 57 Thread Priority = Process class + level Real-time class Idle Above Normal Normal Below Normal Lowest Highest 31 Time-critical Dynamic classes 15 Time-critical High class 1 Idle Normal class Idle class Thread Level
© Krithi Ramamritham / Kavi Arya 58 Scheduling Priorities Threads scheduled by executive. Priority based preemptive scheduling. Interrupts Deferred Procedure Calls (DPC) System and user-level threads
© Krithi Ramamritham / Kavi Arya 59 GPOS -- for RT applications? (contd.) Quick recognition of external events – Priority inversion due to Deferred Procedure Calls (DPC) I/O management Timers granularity and accuracy – High resolution counter with resolution of 0.8 sec. – Periodic and one shot timers with resolution of 1 msec. Rich set of synchronization objects and communication mechanisms. – Object queues are FIFO
© Krithi Ramamritham / Kavi Arya 60 Research Operating Systems MARS – static scheduling ARTS – static priority scheduling Spring –dynamic guarantees
© Krithi Ramamritham / Kavi Arya 61 MARS -- TU, Vienna (Kopetz) Offers support for controlling a distributed application based entirely on time events (rather than asynchronous events) from the environment. A priori static analysis to demonstrate that all the timing requirements are met. Uses flow control} on the maximum number of events that the system handles. Based on the time driven model -- assume everything is periodic. Static table-driven scheduling approach A hardware based clock synchronization algorithm A TDMA-like protocol to guarantee timely message delivery
© Krithi Ramamritham / Kavi Arya 62 ARTS -- CMU (Tokuda, et al) The ARTS kernel provides a distributed real-time computing environment. Works in conjunction with the static priority driven preemptive scheduling paradigm. Kernel is tied to various tools that a priori analyze schedulability. The kernel supports the notion of real-time objects and real-time threads. Each real-time object is time encapsulated -- a time fence mechanism:The time fence provides a run time check that ensures that the slack time is greater than the worst case execution time for an object invocation
© Krithi Ramamritham / Kavi Arya 63 SPRING – Umass. (Ramamritham & Stankovic) Real-time support for multiprocessors and distributed sys Strives for a more flexible combination of off-line and on- line techniques –Safety-critical tasks are dealt with via static table-driven scheduling. –Dynamic planning based scheduling of tasks that arrive dynamically. Takes tasks' time and resource constraints into account and avoids the need to a priori compute worst case blocking times Reflective kernel retains a significant amount of application semantics at run time – provides flexibility and graceful degradation.
© Krithi Ramamritham / Kavi Arya 64 Polis: Synthesizing OSs Given a FSM description of a RT application Each FSM becomes a task Signals, Interrupts, and polling Tasks with waiting inputs handled in FIFS order (priority order – TB done) Some interrupts can be made to directly execute the corresponding task Needed OS execute synthesized based on just what is needed
© Krithi Ramamritham / Kavi Arya 65 References This is a short version of a semester-long course. Visit for all the material from that course Jack Ganssle, "The Art of Designing Embedded Systems", Newnes, David Simon, "An Embedded Software Primer", Addison Wesley, C.M. Krishna and Kang G. Shin, "RTS: Real-Time Systems", McGraw- Hill, 1997, ISBN Frank Vahid, Tony Givargis, "Embedded System Design: A Unified Hardware/ Software Introduction", John Wiley & Sons Inc., J. A. Stankovic, and K. Ramamritham, Advances in Hard Real-Time Systems, IEEE Computer Society Press, Washington DC, September 1993, 777 pages. J. A. StankovicK. Ramamritham
© Krithi Ramamritham / Kavi Arya 66 References… K. Ramamritham and J. A. Stankovic, Scheduling Scheduling Algorithms and Operating Systems Support for Real-Time Systems, invited paper, Proceedings of the IEEE, Jan 1994, pp K. RamamrithamJ. A. StankovicScheduling Algorithms and Operating Systems Support for Real-Time Systems Sundeep Kapila, K. Ramamritham, Sudhakar, Distributed Real-Time Embedded Applications using Off-the-Shelf Components? Experiences Building a Flight Simulator, IEEE/IEE Real-Time Embedded Systems Workshop (held in conjunction with the IEEE Real-Time Systems Symposium), December 2001.K. RamamrithamDistributed Real-Time Embedded Applications using Off-the-Shelf Components? Experiences Building a Flight Simulator Real-Time Linux, Handel-C material based on "Handel-C Language Reference Manual", Celoxica Ltd."Handel-C Language Reference Manual" Celoxica Ltd
© Krithi Ramamritham / Kavi Arya 67 References… David Harel, Hagi Lachover, Ammon Naamad, Amir Pnueli, Michal Politi, Rivi Sherman, Aharon Shtull-Trauring, and Mark Trakhtenbrot, Statemate: A working Environment for the Development of Complex Reactive Systems, IEEE Transactions on Software Engineering, Vol 16 No. 4, April 1999.Statemate: A working Environment for the Development of Complex Reactive Systems Ptolemy Project, S. Ramesh and P. Bhaduri, Validation of Pipelined processors using Esterel Tools: A Case study, Proc. of Computer Aided Verification, LNCS Vol. 1633, (pdf version). S. RameshValidation of Pipelined processors using Esterel Tools: A Case studypdf version
Chapter 20- Embedded Systems Lecture 1. Topics covered Embedded systems design Architectural patterns Timing analysis Real-time operating systems.
Frank DrewsReal-Time Systems Introduction Frank Drews
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 13Slide 1 Chapter 13 Real-time Software Design.
What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute.
Real-Time Embedded Systems Assist. dr. Barbara Koroušić Seljak (01)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Software Design.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Real-time Software Design IS301.
1 EE5900 Advanced Embedded System For Smart Infrastructure Introduction to Real-Time Embedded Systems.
Dave Stewart, PhD Director of Research and Systems Integration InHand Electronics Achieving Real-Time Performance with.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering.
Work measurement Part II of Work Study. 2 Introduction Work measurement is the application of techniques designed to establish the time for a qualified.
© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
CHAPTER 2 REAL-TIME SOFTWARE DESIGN Lab 02 (Software Engineering 8 th Ed. Chapter 15)
Real Time Scheduling. Outline About real time systems Basic Scheduling Techniques Recent Work Future Work.
Direct Time study: Selecting and timing the job First step in time study is to select the job to be studied. There is always a reason why a particular.
Feedback Control Real-Time Scheduling: Framework, Modeling, and Algorithms Chenyang Lu, John A. Stankovic, Gang Tao, Sang H. Son Presented by Josh Carl.
1 © 2008 Universität Karlsruhe (TU), System Architecture Group 3 Scheduling Problems Kernel Scheduler User Level Scheduler.
Chapter 7 Input/Output Computer Organization and Architecture William Stallings 8th Edition.
Planning, Organizing and Controlling. What is a project plan? A project plan is a model of the process that the project team intends to follow to realise.
1 © H. Kopetz 05/01/2014 Time-Triggered Architecture TU Wien Time-Triggered Protocols for Safety-Critical Applications Hermann Kopetz TU Wien March 21,
An Introduction to Object Modeling An Introduction to Object Modeling The approach of using object modeling during systems analysis and design is called.
Operating Systems Chapter 6. Main functions of an operating system 1. User/computer interface: Provides an interface between the user and the computer.
1 Notes content copyright © 2004 Ian Sommerville. NU-specific content © 2004 M. E. Kabay. All rights reserved. Socio-technical Systems IS301 – Software.
OPERATIONS MANAGEMENT +. Introduction ………………………………………………….
Fang-Jing Wua, Yu-Fen Kaob, Yu-Chee Tsenga, a. Department of Computer Science, National Chiao Tung University, Hsinchu, 30010, Taiwan b. Department of.
PCTI Limited - A Unique Name For Quality Education Project Management-MS-52 Created by : PCTI Group.
Mobility Management 1. Location Management 2. Handoff Management.
Revision CS3008 Operating Systems. Three Main Areas Process Management Memory Management I/O Management Virtual MemoryFile Systems Device Driver Terminals.
Legal Entity/Division - Date Multicore For Avionics Certification Issue 2013 – 03 – 22.
ADAMA UNIVERSITY SCHOOL OF ENGENEERING & INFORMATION TECHNOLOGIES Sem. II,2010/11 INSTRUCTOR TARIKU W OPERATING SYSTEM (IT3016)
© 2016 SlidePlayer.com Inc. All rights reserved.