AUBURN COMP 3510 - Real-Time Operating Systems

Unformatted text preview:

Real-Time Operating SystemsWhat, Why, How?Is This a Real Time System?Is This a Real Time System? (2)Is This a Real Time System? (3)What Is an O.S?What Is an Operating System?What Is an Operating System? For an Embedded SystemConvenient and Efficient? (General Purpose)Abstract View of A System (General Purpose)Layered View of a Computer SystemPowerPoint PresentationOperating System Definitions (General Purpose)Slide 14Dual-Mode OperationDual-Mode Operation (Cont.)Process/Task ConceptProcess/Task Concept (Cont.)Example of Processes The Process ModelSlide 20Key Difference on Embedded SystemsProcess/Task StateDiagram of Process StateSlide 24Process Control Block (PCB)Slide 26CPU Switch From Process to Process: Context SwitchReady Queue And Various I/O Device QueuesCPU SchedulerSchedulerExample: (http://www.netrino.com/Publications/Glossary/RMA.html)Example (cont’d): (http://www.netrino.com/Publications/Glossary/RMA.html)Question:Slide 34RMS: ExampleIf a Task Can Be Interrupted..Reentrant FunctionReentrant Function (2)Dealing With Non Reentrant F.Enforcing Mutual ExclusionHardware Support (1)Slide 42Semaphore (Cont’d)Slide 44Semaphores for Scheduling: unilateral rendezvousSemaphores for Scheduling: unilateral rendezvous (2)Semaphores Scheduling: Startup BarrierIntertask Communication (IPC !)Process/Task CommunicationLink’s Connectivity (How to link?)Slide 51Link’s capabilitySemantics of sendSemantics of send (Know what the OS offers!)Slide 55Semantics of receiveSlide 57Unix IPCmC IPCReal-Time Operating SystemsRead Chapter 6(David E. Simon, An Embedded Software Primer)Read Chapter 1/ Chapter 2 (Labrosse)(01/13/19)Embedded Systems Development Software Architectures S.Biaz 2What, Why, How?•What does real time mean?•What is an OS?•Why would I need an OS?•Why would I need a real time OS?•How do we use an OS on embedded systems?(01/13/19)Embedded Systems Development Software Architectures S.Biaz 3Is This a Real Time System?•Consider the following case:–A human operator must regulate the temperature of a system with a +/- 5 degrees F–The temperature adjusts the current intensity to regulate the temperature.–The oven has a huge inertia: its temperature varies by at most 2 degrees per hour–The union imposes 2 coffee breaks a day–The coffee break was negotiated to last one hour!(01/13/19)Embedded Systems Development Software Architectures S.Biaz 4Is This a Real Time System? (2)•Consider the following case:–Consider a system that can achieve 10 Mflops–We want to use this machine for 24-hour weather prediction.–The atmosphere is respectively divided in longitude and latitude in areas of 200 miles X 200 miles. Measures are made at different altitudes– It takes 100 billion floating operations to solve the Navier-Stockes equations.(01/13/19)Embedded Systems Development Software Architectures S.Biaz 5Is This a Real Time System? (3)•Consider the following case:–Consider the problem on previous slide.–The resolution of 200 miles is too coarse–Suppose we double the resolution in 4 dimensions.–Volume of data increases 16 fold, so does execution time(01/13/19)Embedded Systems Development Software Architectures S.Biaz 6What Is an O.S?•A piece of software•It provides tools to manage (for embedded systems)–Processes, (or tasks)–Memory space(01/13/19)Embedded Systems Development Software Architectures S.Biaz 7What Is an Operating System?•What? It is a program (software) that acts as an intermediary between a user of a computer and the computer hardware.•Why? Make the use of a computer CONVENIENT and EFFICIENT.•How? •We have one semester to answer this question.(01/13/19)Embedded Systems Development Software Architectures S.Biaz 8What Is an Operating System?For an Embedded System•Provides software tools for a convenient and prioritized control of tasks.•Provides tools for task (process) synchronization.•Provides a simple memory management system(01/13/19)Embedded Systems Development Software Architectures S.Biaz 9Convenient and Efficient?(General Purpose)•Convenient : –Simplicity of use–Messy or complicated details are hidden–User is unaware that he is using an OS•Efficient– Resources are optimally used(01/13/19)Embedded Systems Development Software Architectures S.Biaz 10Abstract View of A System(General Purpose)(01/13/19)Embedded Systems Development Software Architectures S.Biaz 11Layered View of a Computer System•A computer system consists of–hardware–system programs (Blurry frontier)–application programsRequestsServices(01/13/19)Embedded Systems Development Software Architectures S.Biaz 12Abstract View of A System(Embedded System)HardwareApplicationOS(01/13/19)Embedded Systems Development Software Architectures S.Biaz 13Operating System Definitions(General Purpose)•Resource allocator – manages and allocates resources•Control program – controls the execution of user programs and operations of I/O devices•Kernel – the one program running at all times (all else being application programs)(01/13/19)Embedded Systems Development Software Architectures S.Biaz 14Multiprogramming•Objective: Better control of tasksCPU(01/13/19)Embedded Systems Development Software Architectures S.Biaz 15Dual-Mode Operation•Sharing system resources requires operating system to ensure that an incorrect program or poorly behaving human cannot cause other programs to execute incorrectly•OS must provide hardware support to differentiate between at least two modes of operations1. User mode – execution done on behalf of a user2. Monitor mode (also kernel mode or system mode) – execution done on behalf of operating system(01/13/19)Embedded Systems Development Software Architectures S.Biaz 16Dual-Mode Operation (Cont.)•Mode bit added to computer hardware to indicate the current mode: monitor (0) or user (1)•When an interrupt or fault occurs hardware switches to monitor modePrivileged instructions can be issued only in kernel modekernel userInterrupt/faultset user mode(01/13/19)Embedded Systems Development Software Architectures S.Biaz 17Process/Task Concept•An operating system executes a variety of programs:–Batch system – jobs–Time-shared systems – user programs or tasks•Similar terms job,


View Full Document

AUBURN COMP 3510 - Real-Time Operating Systems

Documents in this Course
Load more
Download Real-Time Operating Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Real-Time Operating Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Real-Time Operating Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?