SlideShare a Scribd company logo
1 of 25
Windows CE
by:
K.Balamurugan
M.Tech-CSE-1st year
Introduction
Entertainment devices and CAR
What can CE do
– Industrial Automation
– Set-Top Boxes
– Medical Devices and Systems
– ATMs
– Projectors and Large Screen Displays
– VoIP Devices
– First edition released in 1996
– Windows CE .NET 4.x is widely used
Introduction to BSP
• Windows CE can run on different hardware
platforms.
• How can we do that?
• The answer is BSP !
• Board Support Package is the software that
implements and supports the OEM adaptation layer
(OAL) and device drivers for a standard
development board (SDB).
Compare with Desktop Version
– Windows XP : 1.5GB
No inherent real time
support
256 levels of thread priority
Minimal : 200KB Windows XP : 1.5GB
 Lager and lager…
 Can NOT be
customized
Quick and easy to customize OS for a
particular system
More than 200 optional component
 Compact Version of Win32 API, MFC..
 UNICODE only
 ASCII / UNICODE
 Commercial software, source code is
MS 1st level secret.
 70% of Windows CE 5.0 source code is
shared.
Memory Management
– Windows CE uses ROM (read only memory), RAM
(random access memory)
• The ROM in a Windows CE system is like a small read-
only hard disk
• The RAM in a Windows CE system is divided into two
areas: program memory and object store
– Windows CE is a 32-bit operating system, so it
supports 4GB virtual address space
Memory Management…..
– Upper 2GB is kernel space, used by the system for
its own data
– Lower 2GB is user space
• 0x42000000-0x7FFFFFFF memory is used for large
memory allocations, such as memory- mapped files
• 0x0-0x41FFFFFF memory is divided into 33 slots, each
of which is 32MB
Memory Management…..
Memory Management…..
Memory Management…..
Processes and Threads Management
– Windows CE limits 32 processes being run at any one time
– Every process at least has a primary thread associated with
it upon starting (even if it never explicitly created one)
– A process can created any number of additional threads
(only limited by available memory)
– Each thread belongs to a particular process (and shares the
same memory space)
– SetProcPermissions API will give the current thread access
to any process
– Each thread has an ID, a private stack and a set of registers
Processes and Threads
Management…..
– When a process is loaded
• Assigned to next available slot
• DLLs loaded into the slot
• Followed by the stack and default process heap
• After this, then executed
– When a process’ thread is scheduled
• Copied from its slot into slot 0
– This is mapped back to the original slot allocated
to the process if the process becomes inactive
Processes and Threads
Management…..
– Thread
– A unit of execution
– A piece of code that can be scheduled to run by the kernel
– May be launch by a process or a driver
– Process
– A collection of threads with a common execution environment
– A process has at least on thread
– Launch from an executable file
– Can create threads to handle interrupts
– Driver
– A DLL, (dynamically loaded library) loaded into the device
manager process
– Supports the Device I/O Control Interface
– Can create threads to handle interrupts
Processes and Threads
Management…..
– Processes allocate stack for each thread, the
default size is 64KB, depending on the link
parameter when the program is compiled
• Top 2KB used to guard against stack overflow
• Remained available for use
– Variables declared inside functions are allocated in
the stack
– Thread’s stack memory is reclaimed when it
terminates
Processes and Threads
Management…..
API Address Search
Scheduler
– Is responsible for determining which thread will run
– Has a queue for threads for each priority level
– Will always schedule the first thread at the highest priority level
– A thread gets to run for set length of time, called a
quantum
– Typically 100 milliseconds
– A quantum of 0 means the quantum never runs out
• The thread can run until blocked or interrupted
– A Thread runs until—
– Its quantum runs out
– It is interrupted by a higher priority thread
– Its blocked by a resource contention
• Such as access to a critical section or a mutex
ISRs And ISTs
– Interrupt Service Routine (ISR)
– A piece of code loaded into the kernel
– Assigned to a particular IRQ
– Called immediately to handle the hardware interrupt
– Should be written to run quickly with few outside dependencies
– Can be chained together if multiple device might use the same
IRQ
– Notifies the kernel which IST should run
– Interrupt Service Thread (IST)
– A thread registered to handle an interrupt
– Can be created by either a process or a driver
– Scheduled like any other thread on the system
– Should be written to do the bulk of the interrupt handling work
Priority Levels
– Windows CE 5.0 has 256 levels of priority
– Level 0 is the highest and 255 is the lowest
• The old CE model of 8 levels now map to the lowest 8
of the new model
– The default level for a thread is 252
– Levels 0 through 248 can be reserved by OEM
Interrupt Architecture
OAL Design
Scheduling algorithms in Windows CE
Scheduling algorithms in Windows CE
Conclusion
– Windows CE is real-time
– Windows CE provides all the functionality needed
to qualify as a real-time operating system
– Windows CE provides tools to optimize your real-
time platform

More Related Content

What's hot

Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingStephan Cadene
 
Installing driver
Installing driverInstalling driver
Installing driverOnline
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in LinuxShreyas MM
 
Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems Ahmed El-Arabawy
 
Windows Architecture Explained by Stacksol
Windows Architecture Explained by StacksolWindows Architecture Explained by Stacksol
Windows Architecture Explained by StacksolStacksol
 
Embedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS LandEmbedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS LandAhmed El-Arabawy
 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Ahmed El-Arabawy
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsAhmed El-Arabawy
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and functionSher Shah Merkhel
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linuxWingston
 
Driver development – memory management
Driver development – memory managementDriver development – memory management
Driver development – memory managementVandana Salve
 
Kernel module programming
Kernel module programmingKernel module programming
Kernel module programmingVandana Salve
 
linux device driver
linux device driverlinux device driver
linux device driverRahul Batra
 
Introduction to Embedded Linux
Introduction to Embedded LinuxIntroduction to Embedded Linux
Introduction to Embedded LinuxHossain Reja
 

What's hot (20)

Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
Installing driver
Installing driverInstalling driver
Installing driver
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in Linux
 
Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems
 
Windows Architecture Explained by Stacksol
Windows Architecture Explained by StacksolWindows Architecture Explained by Stacksol
Windows Architecture Explained by Stacksol
 
Intro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication ProtocolsIntro to Embedded OS, RTOS and Communication Protocols
Intro to Embedded OS, RTOS and Communication Protocols
 
Embedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS LandEmbedded Systems: Lecture 5: A Tour in RTOS Land
Embedded Systems: Lecture 5: A Tour in RTOS Land
 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land
 
Linux Internals - Interview essentials 3.0
Linux Internals - Interview essentials 3.0Linux Internals - Interview essentials 3.0
Linux Internals - Interview essentials 3.0
 
Windows Kernel-
Windows Kernel-Windows Kernel-
Windows Kernel-
 
LINUX Device Drivers
LINUX Device DriversLINUX Device Drivers
LINUX Device Drivers
 
Windows ce
Windows ceWindows ce
Windows ce
 
13 risc
13 risc13 risc
13 risc
 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
Embedded linux
Embedded linuxEmbedded linux
Embedded linux
 
Driver development – memory management
Driver development – memory managementDriver development – memory management
Driver development – memory management
 
Kernel module programming
Kernel module programmingKernel module programming
Kernel module programming
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Introduction to Embedded Linux
Introduction to Embedded LinuxIntroduction to Embedded Linux
Introduction to Embedded Linux
 

Viewers also liked

Paullan paola citasapa
Paullan paola citasapaPaullan paola citasapa
Paullan paola citasapa1984KKK
 
Importance of libraries to family historians
Importance of libraries to family historiansImportance of libraries to family historians
Importance of libraries to family historiansaffiliatejdw
 
14.jun.2012
14.jun.201214.jun.2012
14.jun.2012Tech_MX
 
Cajamarca tania exel
Cajamarca tania exelCajamarca tania exel
Cajamarca tania exel1984KKK
 
1st semester review part 1
1st semester review part 11st semester review part 1
1st semester review part 1addierprice
 
Alejandro Debenedet Itil Review Seminario Aepdp Pc Format Spa June 2011
Alejandro Debenedet   Itil Review   Seminario Aepdp   Pc Format Spa   June 2011Alejandro Debenedet   Itil Review   Seminario Aepdp   Pc Format Spa   June 2011
Alejandro Debenedet Itil Review Seminario Aepdp Pc Format Spa June 2011Alejandro Debenedet
 

Viewers also liked (7)

Paullan paola citasapa
Paullan paola citasapaPaullan paola citasapa
Paullan paola citasapa
 
primeloop
primeloopprimeloop
primeloop
 
Importance of libraries to family historians
Importance of libraries to family historiansImportance of libraries to family historians
Importance of libraries to family historians
 
14.jun.2012
14.jun.201214.jun.2012
14.jun.2012
 
Cajamarca tania exel
Cajamarca tania exelCajamarca tania exel
Cajamarca tania exel
 
1st semester review part 1
1st semester review part 11st semester review part 1
1st semester review part 1
 
Alejandro Debenedet Itil Review Seminario Aepdp Pc Format Spa June 2011
Alejandro Debenedet   Itil Review   Seminario Aepdp   Pc Format Spa   June 2011Alejandro Debenedet   Itil Review   Seminario Aepdp   Pc Format Spa   June 2011
Alejandro Debenedet Itil Review Seminario Aepdp Pc Format Spa June 2011
 

Similar to Window ce

Chap1_Part2.pptx
Chap1_Part2.pptxChap1_Part2.pptx
Chap1_Part2.pptxNMohd3
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介lclsg123
 
Linux Device Driver,LDD,
Linux Device Driver,LDD,Linux Device Driver,LDD,
Linux Device Driver,LDD,Rahul Batra
 
11. operating-systems-part-1
11. operating-systems-part-111. operating-systems-part-1
11. operating-systems-part-1Muhammad Ahad
 
Embedded Systems Overview
Embedded Systems OverviewEmbedded Systems Overview
Embedded Systems OverviewSameer Rapate
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD) Ali Raza
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD) Ali Raza
 
NXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNEEVEE Technologies
 
Brief Introduction.ppt
Brief Introduction.pptBrief Introduction.ppt
Brief Introduction.pptMollyZolly
 
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. TanenbaumA Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaumeurobsdcon
 
Mac Memory Analysis with Volatility
Mac Memory Analysis with VolatilityMac Memory Analysis with Volatility
Mac Memory Analysis with VolatilityAndrew Case
 

Similar to Window ce (20)

Chap1_Part2.pptx
Chap1_Part2.pptxChap1_Part2.pptx
Chap1_Part2.pptx
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
 
Ch04 threads
Ch04 threadsCh04 threads
Ch04 threads
 
Intro reverse engineering
Intro reverse engineeringIntro reverse engineering
Intro reverse engineering
 
Linux Device Driver,LDD,
Linux Device Driver,LDD,Linux Device Driver,LDD,
Linux Device Driver,LDD,
 
Unit 4
Unit  4Unit  4
Unit 4
 
11. operating-systems-part-1
11. operating-systems-part-111. operating-systems-part-1
11. operating-systems-part-1
 
Embedded system - embedded system programming
Embedded system - embedded system programmingEmbedded system - embedded system programming
Embedded system - embedded system programming
 
Embedded Systems Overview
Embedded Systems OverviewEmbedded Systems Overview
Embedded Systems Overview
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
 
Os concepts
Os conceptsOs concepts
Os concepts
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
Parallel Processors (SIMD)
Parallel Processors (SIMD) Parallel Processors (SIMD)
Parallel Processors (SIMD)
 
CSC204PPTNOTES
CSC204PPTNOTESCSC204PPTNOTES
CSC204PPTNOTES
 
Windows xp
Windows xpWindows xp
Windows xp
 
NXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded LinuxNXP IMX6 Processor - Embedded Linux
NXP IMX6 Processor - Embedded Linux
 
Brief Introduction.ppt
Brief Introduction.pptBrief Introduction.ppt
Brief Introduction.ppt
 
Linux-Internals-and-Networking
Linux-Internals-and-NetworkingLinux-Internals-and-Networking
Linux-Internals-and-Networking
 
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. TanenbaumA Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
A Reimplementation of NetBSD Based on a Microkernel by Andrew S. Tanenbaum
 
Mac Memory Analysis with Volatility
Mac Memory Analysis with VolatilityMac Memory Analysis with Volatility
Mac Memory Analysis with Volatility
 

More from balamurugan.k Kalibalamurugan (10)

Problem definition
Problem definitionProblem definition
Problem definition
 
Description logic
Description logicDescription logic
Description logic
 
Software testing
Software testingSoftware testing
Software testing
 
Radius1
Radius1Radius1
Radius1
 
A multi criteria evaluation of environmental databases using hasse
A multi criteria evaluation of environmental databases using hasseA multi criteria evaluation of environmental databases using hasse
A multi criteria evaluation of environmental databases using hasse
 
Simple object access protocol(soap )
Simple object access protocol(soap )Simple object access protocol(soap )
Simple object access protocol(soap )
 
Tamil OCR using Tesseract OCR Engine
Tamil OCR using Tesseract OCR EngineTamil OCR using Tesseract OCR Engine
Tamil OCR using Tesseract OCR Engine
 
Security monitoring and auditing
Security monitoring and auditingSecurity monitoring and auditing
Security monitoring and auditing
 
Object oriented framework
Object oriented frameworkObject oriented framework
Object oriented framework
 
Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency control
 

Recently uploaded

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 

Window ce

  • 4. What can CE do – Industrial Automation – Set-Top Boxes – Medical Devices and Systems – ATMs – Projectors and Large Screen Displays – VoIP Devices – First edition released in 1996 – Windows CE .NET 4.x is widely used
  • 5. Introduction to BSP • Windows CE can run on different hardware platforms. • How can we do that? • The answer is BSP ! • Board Support Package is the software that implements and supports the OEM adaptation layer (OAL) and device drivers for a standard development board (SDB).
  • 6. Compare with Desktop Version – Windows XP : 1.5GB No inherent real time support 256 levels of thread priority Minimal : 200KB Windows XP : 1.5GB  Lager and lager…  Can NOT be customized Quick and easy to customize OS for a particular system More than 200 optional component  Compact Version of Win32 API, MFC..  UNICODE only  ASCII / UNICODE  Commercial software, source code is MS 1st level secret.  70% of Windows CE 5.0 source code is shared.
  • 7. Memory Management – Windows CE uses ROM (read only memory), RAM (random access memory) • The ROM in a Windows CE system is like a small read- only hard disk • The RAM in a Windows CE system is divided into two areas: program memory and object store – Windows CE is a 32-bit operating system, so it supports 4GB virtual address space
  • 8. Memory Management….. – Upper 2GB is kernel space, used by the system for its own data – Lower 2GB is user space • 0x42000000-0x7FFFFFFF memory is used for large memory allocations, such as memory- mapped files • 0x0-0x41FFFFFF memory is divided into 33 slots, each of which is 32MB
  • 12. Processes and Threads Management – Windows CE limits 32 processes being run at any one time – Every process at least has a primary thread associated with it upon starting (even if it never explicitly created one) – A process can created any number of additional threads (only limited by available memory) – Each thread belongs to a particular process (and shares the same memory space) – SetProcPermissions API will give the current thread access to any process – Each thread has an ID, a private stack and a set of registers
  • 13. Processes and Threads Management….. – When a process is loaded • Assigned to next available slot • DLLs loaded into the slot • Followed by the stack and default process heap • After this, then executed – When a process’ thread is scheduled • Copied from its slot into slot 0 – This is mapped back to the original slot allocated to the process if the process becomes inactive
  • 14. Processes and Threads Management….. – Thread – A unit of execution – A piece of code that can be scheduled to run by the kernel – May be launch by a process or a driver – Process – A collection of threads with a common execution environment – A process has at least on thread – Launch from an executable file – Can create threads to handle interrupts – Driver – A DLL, (dynamically loaded library) loaded into the device manager process – Supports the Device I/O Control Interface – Can create threads to handle interrupts
  • 15. Processes and Threads Management….. – Processes allocate stack for each thread, the default size is 64KB, depending on the link parameter when the program is compiled • Top 2KB used to guard against stack overflow • Remained available for use – Variables declared inside functions are allocated in the stack – Thread’s stack memory is reclaimed when it terminates
  • 18. Scheduler – Is responsible for determining which thread will run – Has a queue for threads for each priority level – Will always schedule the first thread at the highest priority level – A thread gets to run for set length of time, called a quantum – Typically 100 milliseconds – A quantum of 0 means the quantum never runs out • The thread can run until blocked or interrupted – A Thread runs until— – Its quantum runs out – It is interrupted by a higher priority thread – Its blocked by a resource contention • Such as access to a critical section or a mutex
  • 19. ISRs And ISTs – Interrupt Service Routine (ISR) – A piece of code loaded into the kernel – Assigned to a particular IRQ – Called immediately to handle the hardware interrupt – Should be written to run quickly with few outside dependencies – Can be chained together if multiple device might use the same IRQ – Notifies the kernel which IST should run – Interrupt Service Thread (IST) – A thread registered to handle an interrupt – Can be created by either a process or a driver – Scheduled like any other thread on the system – Should be written to do the bulk of the interrupt handling work
  • 20. Priority Levels – Windows CE 5.0 has 256 levels of priority – Level 0 is the highest and 255 is the lowest • The old CE model of 8 levels now map to the lowest 8 of the new model – The default level for a thread is 252 – Levels 0 through 248 can be reserved by OEM
  • 25. Conclusion – Windows CE is real-time – Windows CE provides all the functionality needed to qualify as a real-time operating system – Windows CE provides tools to optimize your real- time platform