Outlines  Introduction  Kernel Structure  Porting.

Slides:



Advertisements
Similar presentations
CSC 360- Instructor: K. Wu Overview of Operating Systems.
Advertisements

Tutorial 4 Scheduling. Why do we need scheduling? To manage processes according to requirements of a system, like: –User responsiveness or –Throughput.
A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
CAS3SH3 Midterm Review. The midterm 50 min, Friday, Feb 27 th Materials through CPU scheduling closed book, closed note Types of questions: True & False,
Resource management and Synchronization Akos Ledeczi EECE 354, Fall 2010 Vanderbilt University.
0 Synchronization Problem Resource sharing –Requires mutual exclusion –Critical section A code section that should be executed mutually exclusively by.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Resource Access Control Protocols.
Real-Time Kernels and Operating Systems Basic Issue - Purchase commercial “off-the- shelf” system or custom build one Basic Functions –Task scheduling.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
1 CS318 Project #3 Preemptive Kernel. 2 Continuing from Project 2 Project 2 involved: Context Switch Stack Manipulation Saving State Moving between threads,
5.6 Semaphores Semaphores –Software construct that can be used to enforce mutual exclusion –Contains a protected variable Can be accessed only via wait.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
CSE Fall Introduction - 1 What is an Embedded Systems  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)
Processes 1 CS502 Spring 2006 Processes Week 2 – CS 502.
Chapter 13 Embedded Systems
Computer System Structures memory memory controller disk controller disk controller printer controller printer controller tape-drive controller tape-drive.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
MicroC/OS-II Embedded Systems Design and Implementation.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Real Time Operating System
Introduction to Embedded Systems
Real-Time Kernel (Part 1)
1 Previous lecture review n Out of basic scheduling techniques none is a clear winner: u FCFS - simple but unfair u RR - more overhead than FCFS may not.
SYNCHRONIZATION Module-4. scheduling Scheduling is an operating system mechanism that arbitrate CPU resources between running tasks. Different scheduling.
Real Time Operating Systems Lecture 10 David Andrews
2-1 The critical section –A piece of code which cannot be interrupted during execution Cases of critical sections –Modifying a block of memory shared by.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
1 RTOS Design Some of the content of this set of slides is taken from the documentation existing on the FreeRTOS website
Real Time Operating Systems
Multiprogramming. Readings r Silberschatz, Galvin, Gagne, “Operating System Concepts”, 8 th edition: Chapter 3.1, 3.2.
Embedded Operating System Leo Philip 10/5/ Do we need an OS ?
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
1 Review of Process Mechanisms. 2 Scheduling: Policy and Mechanism Scheduling policy answers the question: Which process/thread, among all those ready.
ECGR-6185 µC/OS II Nayana Rao University of North Carolina at Charlotte.
Real Time Operating Systems Michael Thomas Date: Rev. 1.00Date.
ECE291 Computer Engineering II Lecture 15 Dr. Zbigniew Kalbarczyk University of Illinois at Urbana- Champaign.
MicroC/OS-II S O T R.  MicroC/OS-II (commonly termed as µC/OS- II or uC/OS-II), is the acronym for Micro-Controller Operating Systems Version 2.  It.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Chapter 3 RTOS Concepts And Definitions Department of Computer Science Hsu Hao Chen Professor Hsung-Pin Chang.
SOC Consortium Course Material SoC Design Laboratory Lab 8 Real-time OS - 1 Speaker: Yung-Chih Chen Advisor: Prof. Chun-Yao Wang November 17, 2003 Department.
Mutual Exclusion -- Addendum. Mutual Exclusion in Critical Sections.
2-1 Chapter 2 Real-Time Systems Concepts. 2-2 Foreground/Background Systems BackgroundForeground ISR Time Code execution application consists of an infinite.
Real-Time Operating Systems RTOS For Embedded systems.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Chapter 2: Operating System Concepts 1. Objectives To know essential topics on the design of (embedded) operating systems 2 1.Task & resources 2.Kernel.
REAL-TIME OPERATING SYSTEMS
Sarah Diesburg Operating Systems COP 4610
Chapter 2: Operating System Concepts
Topics Covered What is Real Time Operating System (RTOS)
Applied Operating System Concepts -
Interrupt and Time Management in µC/OS-III
Chapter 2: The Linux System Part 3
Midterm review: closed book multiple choice chapters 1 to 9
Lecture 2 Part 2 Process Synchronization
EE 472 – Embedded Systems Dr. Shwetak Patel.
February 5, 2004 Adrienne Noble
Processes David Ferry CSCI 3500 – Operating Systems
Scheduling.
CS333 Intro to Operating Systems
RTOS Modelling Naren Bala.
CSE 153 Design of Operating Systems Winter 2019
Chapter 3: Process Management
Akos Ledeczi EECE 6354, Fall 2017 Vanderbilt University
Akos Ledeczi EECE 6354, Fall 2015 Vanderbilt University
Sarah Diesburg Operating Systems CS 3430
Presentation transcript:

Outlines  Introduction  Kernel Structure  Porting

Introduction  Embedded Systems Big Picture System  Hardwired  Real Time  Development tools Compiler Linker Debugger Emulator Simulators

Operating System  History and Purpose  A decent Embedded System

What is a Real Time Operating System?  An operating system enforcing timing constraints VxWorks RTLinux WinCE TinyOS Symbian uC/OS-II

Real Time System Concepts  Multitasking  Kernel  Scheduling  Mutual Exclusion  Synchronization  Interrupt

Multitasking  Multitasking A process of scheduling and switching CPU between several tasks Tasks  Ready, Running, Waiting, ISR, Dormant Resource sharing Critical section

Kernel  A part of the multitasking system responsible for management of tasks.  Context switching is the fundamental service of a kernel Can be Preemptive and Non- Preemptive

Non-Preemptive Kernel  The new higher priority task gains control of the CPU only when current task gives up CPU.  An ISR can make a higher priority task ready to run, but ISR will eventually return to the interrupted task. Interrupt latency is low Low responsiveness.

Preemptive Kernel  System responsiveness is important.  Most real time kernels are preemptive in nature. How about uC/OS-II??

Function Reentrancy

Scheduling  Priority based scheduling  Round Robin Scheduling How about uC/os-II  Issues: Priority Inversion  Priority inheritance is needed

Priority Inversion

Priority Inheritance

Mutual Exclusion  Protecting shared data of processes Disabling and enabling Interrupts Semaphores  Binary  Counting  Deadlock- Set timeout

Synchronization  Synchronization mechanism is used between tasks or task to ISR.  Unilateral rendezvous  Bilateral rendezvous

Interrupts  An interrupt is a hardware mechanism to inform CPU that an asynchronous event has happen.  Interrupt response  Interrupt Recovery  Interrupt Latency  NMI

Interrupt Latency  To manipulate critical sections Interrupts are disabled. longer Interrupts are disabled, higher is Interrupt Latency Interrupt Latency is given by:

Interrupt Response  It is the time between the reception of the interrupt and start of the user code that handles the interrupt. It is given by:

Interrupt Response(contd)  For Preemptive Kernel, an extra execution time of kernel ISR entry Function.

Non-Preemptive Kernel

Pre-emptive Kernel

Tasks  Small piece of independent code or ‘Threads’.  OS maintains information about each task---called as Task’s context.  Uses a data structure for keeping track of tasks…called as Task control Block.

Example-code

Creating a Task

Clock Tick  It’s a special interrupt that occurs periodically.  It is triggered by timer Interrupt.  It keeps track of time delays and Timeouts. Should occur between times per second. Defined by function OSTimeTick().

Delaying a task, OSTimeDly()  It allows the calling task to delay itself for a user specified number of clock ticks.

OSTimeDlyHMSM()  Specifying time in Hours, minutes, seconds and miliseconds.  Resuming a delayed task: OSTimeDlyResume().

Boot Strap Loader  A small program that loads the operating system into the computer’s memory when the system is booted and also starts the operating system

Porting UC/OS-II on Renesas  Loading uC/OS-II  Initializing the hardware  Building the application

UCOS-II Hardware/Software Arch.