EE 472 – Embedded Systems Dr. Shwetak Patel.

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

CSC 360- Instructor: K. Wu Overview of Operating Systems.
Process management Information maintained by OS for process management  process context  process control block OS virtualization of CPU for each process.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Review: Operating System Manages all system resources ALU Memory I/O Files Objectives: Security Efficiency Convenience.
OS Spring’03 Introduction Operating Systems Spring 2003.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
Operating Systems (CSCI2413) Lecture 3 Processes phones off (please)
OS Spring’04 Introduction Operating Systems Spring 2004.
Introduction to Embedded Systems
Interrupts Signal that causes the CPU to alter its normal flow on instruction execution ◦ frees CPU from waiting for events ◦ provides control for external.
Threads Many software packages are multi-threaded Web browser: one thread display images, another thread retrieves data from the network Word processor:
Chapter 4 Processes. Process: what is it? A program in execution A program in execution usually usually Can also have suspended or waiting processes Can.
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
E X C E E D I N G E X P E C T A T I O N S OP SYS Linux System Administration Dr. Hoganson Kennesaw State University Operating Systems Functions of an operating.
Process by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
ECGR-6185 µC/OS II Nayana Rao University of North Carolina at Charlotte.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
CSC 322 Operating Systems Concepts Lecture - 10: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Cs431-cotter1 Processes and Threads Tanenbaum 2.1, 2.2 Crowley Chapters 3, 5 Stallings Chapter 3, 4 Silberschaz & Galvin 3, 4.
Embedded Computer - Definition When a microcomputer is part of a larger product, it is said to be an embedded computer. The embedded computer retrieves.
Uniprocessor Process Management & Process Scheduling Department of Computer Science Southern Illinois University Edwardsville Spring, 2016 Dr. Hiroshi.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Embedded Real-Time Systems
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
SLC/VER1.0/OS CONCEPTS/OCT'99 1Processes Process Concept Process Scheduling Operation On Processes Cooperating Processes Threads Interprocess Communication.
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Multiprogramming. Readings r Chapter 2.1 of the textbook.
REAL-TIME OPERATING SYSTEMS
OPERATING SYSTEMS CS 3502 Fall 2017
Applied Operating System Concepts
Processes and threads.
Advanced Operating Systems CIS 720
Process Management Process Concept Why only the global variables?
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
CS 6560: Operating Systems Design
Topics Covered What is Real Time Operating System (RTOS)
Lesson Objectives Aims Key Words Interrupt, Buffer, Priority, Stack
Practice Chapter Four.
OPERATING SYSTEMS CS3502 Fall 2017
Chapter 2 Scheduling.
Intro to Processes CSSE 332 Operating Systems
Real Time Operating System
Process Virtualization. Process Process is a program that has initiated its execution. A program is a passive entity; whereas a process is an active entity.
Operating Systems CPU Scheduling.
Chapter 15, Exploring the Digital Domain
Operating Systems Lecture 6.
Process & its States Lecture 5.
Mid Term review CSC345.
PROCESS MANAGEMENT Information maintained by OS for process management
Lecture Topics: 11/1 General Operating System Concepts Processes
CPU scheduling decisions may take place when a process:
Computer Science & Engineering Electrical Engineering
Computer Science & Engineering Electrical Engineering
Chapter 3: Processes.
The Main Features of Operating Systems
Uniprocessor Process Management & Process Scheduling
CS510 Operating System Foundations
Real-Time Process Scheduling Concepts, Design and Implementations
Chapter 3: Processes Process Concept Process Scheduling
Real-Time Process Scheduling Concepts, Design and Implementations
Uniprocessor Process Management & Process Scheduling
Presentation transcript:

EE 472 – Embedded Systems Dr. Shwetak Patel

Agenda Lab 2 overview Operating System Tasks Threads Interrupts Scheduling 2 Shwetak N. Patel - EE 472

Embedded Software Execute a specialized program Perform calculations Access memory Communicate with external devices 3 Shwetak N. Patel - EE 472

Operating System Makes your life easier! Executes your code Does memory management Handles I/O and communications within your program 4 Shwetak N. Patel - EE 472

An Embedded Program Task Unit of code Think of it as a C function 5 Shwetak N. Patel - EE 472

Scheduler Part of the OS that execute the tasks so they all get a turn. Make decisions about when to run the tasks 6 Shwetak N. Patel - EE 472

Types of Tasks Periodic Found in hard-real time applications Three attributes: P, Period C, Computing Resources D, Deadline 7 Shwetak N. Patel - EE 472

Types of Tasks Intermittent Found in all applications Two attributes: C, Computing Resources D, Deadline 8 Shwetak N. Patel - EE 472

Types of Tasks Background Soft-real time Lower priority One attribute: C, Computing Resources 9 Shwetak N. Patel - EE 472

Types of Tasks Complex Continuous need for CPU Frequent requests for I/O Wait for user input 10 Shwetak N. Patel - EE 472

Multitasking Multiple processes running in a program 11 Shwetak N. Patel - EE 472

Task States Ready Running Waiting (for something other than CPU) Preempted or blocked Inactive/Terminated 12 Shwetak N. Patel - EE 472

Context Switch A new task is switched in Need to save the current context Code Data Registers Resources (memory, io, etc) 13 Shwetak N. Patel - EE 472

Threads Smaller unit of computation Owned by a process Like pieces within a process Smaller context 14 Shwetak N. Patel - EE 472

Threads Example Web server 15 Shwetak N. Patel - EE 472

Processes and Threads 16 Shwetak N. Patel - EE 472

Real-Time Operating System Deterministic Rigid time constraints 17 Shwetak N. Patel - EE 472

Scheduler Responsible for dispatching/executing tasks When and how long to run a task Scheduling strategies Time sharing Priorities 18 Shwetak N. Patel - EE 472

Representing a Task Task Control Block (TCB) Contains information about a task Think of a struct 19 Shwetak N. Patel - EE 472

TCB

TCB

Task or Job Queue Holds a collection of TCBs when a task enters a system Array or list of structs 22 Shwetak N. Patel - EE 472

Problems with this approach?

Problems with this approach? Wastes time waiting for input Need to use interrupts

Interrupts External event Causes a context switch Each interrupt has a specific ID Interrupts are found in a interrupt vector table

Interrupt Vector Table Interrupt number Interrupt service routines (ISR)

Questions? Next time: Scheduling algorithms Print out scheduling worksheet Shwetak N. Patel - EE 472