Windows CE Overview and Scheduling Presented by Dai Kawano.

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

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.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 6: Process Synchronization.
EEE 435 Principles of Operating Systems Interprocess Communication Pt II (Modern Operating Systems 2.3)
 A quantum is the amount of time a thread gets to run before Windows checks.  Length: Windows 2000 / XP: 2 clock intervals Windows Server systems: 12.
1 Threads CSCE 351: Operating System Kernels Witawas Srisa-an Chapter 4-5.
1 L49 Multithreading (1). 2 OBJECTIVES  What threads are and why they are useful.  How threads enable you to manage concurrent activities.  The life.
Chapter 2: Processes Topics –Processes –Threads –Process Scheduling –Inter Process Communication (IPC) Reference: Operating Systems Design and Implementation.
CS 284a, 8 October 1997 Copyright (c) , John Thornley1 CS 284a Lecture Wednesday, 8 October, 1997.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
ISP – 7 th Recitation Mid semester!!! Semaphores – reminder Events Code examples.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
1 Process Description and Control Chapter 3. 2 Process Management—Fundamental task of an OS The OS is responsible for: Allocation of resources to processes.
Concurrency: Mutual Exclusion, Synchronization, Deadlock, and Starvation in Representative Operating Systems.
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
Chapter 11 Operating Systems
1 Concurrency: Deadlock and Starvation Chapter 6.
Race Conditions CS550 Operating Systems. Review So far, we have discussed Processes and Threads and talked about multithreading and MPI processes by example.
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
Wind River VxWorks Presentation
Multi-core Programming Thread Profiler. 2 Tuning Threaded Code: Intel® Thread Profiler for Explicit Threads Topics Look at Intel® Thread Profiler features.
Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles, 6/E William Stallings Dave Bremer Otago Polytechnic,
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
1 Lecture 4: Threads Operating System Fall Contents Overview: Processes & Threads Benefits of Threads Thread State and Operations User Thread.
Object Oriented Analysis & Design SDL Threads. Contents 2  Processes  Thread Concepts  Creating threads  Critical sections  Synchronizing threads.
SYNCHRONIZATION Module-4. scheduling Scheduling is an operating system mechanism that arbitrate CPU resources between running tasks. Different scheduling.
Real-Time Systems Design1 Priority Inversion When a low-priority task blocks a higher-priority one, a priority inversion is said to occur Assume that priorities:
111 © 2002, Cisco Systems, Inc. All rights reserved.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
CE Operating Systems Lecture 11 Windows – Object manager and process management.
CSE451 NT Synchronization Autumn 2002 Gary Kimura Lecture #9 October 18, 2002.
Threads and Thread Synchronization Advanced Windows Programming Series 1.
1 Confidential Enterprise Solutions Group Process and Threads.
Mutual Exclusion. Readings r Silbershatz: Chapter 6.
Process by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Group no.2 Presented to : Eng.Ahmed Hassan Sunday, March 04,2012.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
13-1 Chapter 13 Concurrency Topics Introduction Introduction to Subprogram-Level Concurrency Semaphores Monitors Message Passing Java Threads C# Threads.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
Windows CE Portable Modular Real-time Small footprint Embedded market.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
CS333 Intro to Operating Systems Jonathan Walpole.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Win32 Synchronization CS Spring Overview Kernel Synchronization - Spinlocks Executive Synchronization - Dispatcher Objects Wait Operations.
3/17/2016cse synchronization-p2 © Perkins, DW Johnson and University of Washington1 Synchronization Part 2 CSE 410, Spring 2008 Computer.
Mutual Exclusion -- Addendum. Mutual Exclusion in Critical Sections.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Big Picture Lab 4 Operating Systems C Andras Moritz
Chapter 3: Windows7 Part 5.
REAL-TIME OPERATING SYSTEMS
Chapter 19: Real-Time Systems
PROCESS MANAGEMENT IN MACH
Background on the need for Synchronization
Threads and Thread Synchronization
Chapter 3: Windows7 Part 5.
Chapter 2: The Linux System Part 3
TDC 311 Process Scheduling.
Process Description and Control
Threads Chapter 4.
Concurrency: Mutual Exclusion and Process Synchronization
Windows Development Dynadata Copyright, 2014 © DynaData S.A. 1/49.
Chapter 19: Real-Time Systems
NT Synchronization Primitives
26.
Window Application Development
Chapter 3: Process Management
Presentation transcript:

Windows CE Overview and Scheduling Presented by Dai Kawano

Topic  Overview of Windows CE Windows CE in General Windows CE Architecture  Scheduling Processes and Threads Thread Scheduling Synchronization

Overview of Windows CE  Uses distinctively different kernel from desktop verison of Windows  32-bit operating system optimized for devices that have minimal storage industrial controllers, communications hubs cameras, telephones, hand-held computers  Supported on Intel x86 (and compatibles), MIPS, ARM, and Hitachi SuperH microprocessors  History Version Introduced in Nov/1996 Version Latest stable version releaed in May/2005 Version Scheduled to be released on Nov/2006

Windows CE Architecture Kernel create, terminate, and synchronize processes and threads schedule, suspend a thread assign priority to a thread support interrupt manage memory

Scheduling  The kernel maintains a priority list of each thread in the operating system  The scheduler Controls the order in which these threads are sequenced Allows threads to interact with each other in a predictable fashion Considers interrupts and reprioritizes the threads accordingly

Processes and Threads  All applications consists of 1 process 1 or more threads  Process Single instance of a running application Win CE supports 32 processes running simultaneously  Thread Independent portion of a process and is the basic unit that the operating system allocates processor time to Execute any part of the process code 256 priority levels

Thread Scheduling  Windows CE uses a priority-based time- slice algorithm to schedule the execution of threads Higher priority runs first Same priority runs in a round-robin fashion Lower priority run only when all threads with a higher priority are not ready to run

Thread Scheduling (continued)  Threads run for a specific amount of time called a quantum Default is 100ms but OEM’s can specify a different value Per quantum a thread is suspended and another thread is scheduled to run  Thread priorities are typically fixed and do not change One exception – Priority Inheritance  Thread can be suspended anytime

Synchronization  Synchronization Objects Critical Section Mutex Event Notification Semaphore  Interlocked Functions  Point-to-Point Message Queue

Synchronization – Critical Sections  Enter critical section EnterCriticalSection TryEnterCriticalSection  Leave critical section LeaveCriticalSection

Synchronization – Mutex  Mutex - Synchronization object whose state is set to signaled when it is not owned by a thread and nonsignaled when it is  CreateMutex - Create a mutex CreateMutex  Wait functions - Waiting to own mutex WaitForSingleObject WaitForMultipleObjects MsgWaitForMultipleObjects  ReleaseMutex – Release the mutex ReleaseMutex

Synchronization – Event Notifications  Windows CE uses event objects to: Notify a thread when to perform its task Indicate that an event has occurred  CreateEvent – Creates an event CreateEvent  PulseEvent - Signals and reset the event  SetEvent - Signals the event  ResetEvent - Resets the event ResetEvent

Synchronization – Semaphores  Semaphore - Interprocess synchronization object that limits the number of threads using a resource.  CreateSemaphore - Creates a semaphore CreateSemaphore  Wait functions to request for a semaphore  ReleaseSemaphore - Releases a semaphore ReleaseSemaphore

Synchronization – Interlock Functions  Synchronize access to a variable that is shared by multiple threads. ToCall Increment a shared variable and check the resulting value InterlockedIncrement Decrement a shared variable and check the resulting value InterlockedDecrement Exchange the values of specified variablesInterlockedExchange Exchange the values of specified variables if one variable is equal to a specified value InterlockedTestExchange Compare the values of specified values and exchange the values based on the outcome InterlockedCompareExchange Perform an atomic addition of an increment value to an addend value InterlockedExchangeAdd Perform an atomic comparison of specified values and exchange the values based on the outcome of the comparison InterlockedCompareExchangePointer Atomically exchange a pair of valuesInterlockedExchangePointer

Synchronization – Message Queue  The only support Windows CE provided as far as message queue is the point-to-point message queue. FunctionDescription CreateMsgQueue Creates or opens a user-defined message queue. OpenMsgQueue Opens a handle to an existing message queue. CloseMsgQueue Closes an open message queue. ReadMsgQueue Reads a single message from a message queue. WriteMsgQueue Writes a single message to a message queue. GetMsgQueueInfo Returns information about a message queue.

References  Microsoft Website - =/library/en- us/wcemain4/html/cmconScheduling.asp =/library/en- us/wcemain4/html/cmconScheduling.asp  Wikipedia  HPC factor -