|
Symbian OS Internals: Real-time Kernel Programming
Take a look inside Symbian OS with an under-the-hood view of Symbian's revolutionary new real-time smartphone kernel. This book describes the functioning of the new real-time kernel, which will become ubiquitous on Symbian OS phones in the next 5-10 years. It will benefit the base-porting engineer by providing a more solid understanding of the OS being
ported. It contains an in-depth explanation of how Symbian OS drivers work. Device drivers have changed considerably with the introduction of a single code - this book helps those converting them to the new kernel. The book has broad appeal and is relevant to all who work with Symbian OS at a low level, whatever Symbian OS they are targeting. It is written by the engineers who actually designed and built the real-time kernel.
Contents:
Chapter 1 Introducing EKA2
1.1 The history of EKA2
1.2 Basic OS concepts
1.3 Symbian OS design
1.4 Summary
Chapter 2 Hardware for Symbian OS
2.1 Inside a Symbian OS phone
2.2 System on Chip (SoC)
2.3 Random Access Memory (RAM)
2.4 Flash memory
2.5 Interrupts
2.6 Timers
2.7 Direct Memory Access (DMA)
2.8 Liquid Crystal Display (LCD)
2.9 Audio
2.10 Power management
2.11 Summary
Chapter 3 Threads,Processes and Libraries
3.1 What is a thread? 3.2 Nanokernel threads
3.3 Symbian OS threads
3.4 What is a process? 3.5 DProcess class
3.6 Scheduling
3.7 Dynamically loaded libraries
3.8 Summary
Chapter 4 Inter Thread Communication
4.1 Client--server ITC
4.2 Asynchronous message queues
4.3 Kernel--side messages
4.4 Publish and subscribe
4.5 Shared Chunks & Shared I/O buffers
4.6 Summary
Chapter 5 Kernel Services
5.1 Objects and handles
5.2 Services provided to user threads
5.3 Example user--accessible services
5.4 Services provided by the kernel to the kernel
5.5 Timers
5.6 Summary
Chapter 6 Interrupts and Exception
6.1 Exception types
6.2 Exceptions on real hardware
6.3 Interrupts
6.4 Aborts, traps and faults
6.5 Summary
Chapter 7 Memory Models
7.1 The memory model
7.2 MMUs and caches
7.3 The memory model interface
7.4 The memory models
7.5 Programmer APIs
7.6 Memory allocation
7.7 User memory
7.8 Low memory
7.9 Summary
Chapter 8 Platform Security
8.1 Introduction
8.2 Platform security architecture
8.3 Unit of trust
8.4 Capability Model
8.5 Data caging
8.6 Summary
Chapter 9 The File Server
9.1 Overview
9.2 The file server client API
9.3 The file server
9.4 File systems
9.5 Summary
Chapter 10 The Loader
10.1 E32 image file format
10.2 ROM image file format
10.3 The loader server
10.4 Kernel--side code management
10.5 Summary
Chapter 11 The Window Server
11.1 The kernel's event handler
11.2 Different types of events
11.3 How WSERV processes events
11.4 Processing key events
11.5 Processing pointer events
11.6 Client queues
11.7 A simple handwriting animation DLL
11.8 Window objects and classes
11.9 Properties of windows
11.10 Drawing to windows
11.11 Direct screen access
11.12 Platform Security in WSERV
11.13 Summary
Chapter 12 Device Drivers and Extensions
12.1 Device drivers and extensions in Symbian OS
12.2 Kernel extensions
12.3 The hardware abstraction layer
12.4 Device drivers
12.5 Differences between EKA1 and EKA2
12.6 Summary
Chapter 13 Peripheral support
13.1 DMA
13.2 Shared chunks
13.3 Media drivers and the local media sub--system
13.4 Peripheral bus controllers
13.5 MultiMediaCard support
13.6 USB device support
13.7 Summary
Chapter 14 Kernel--side Debug
14.1 Overview
14.2 Architecture
14.3 The kernel debug interface
14.4 Target debugger agents
14.5 Stop--mode debug API
14.6 Kernel trace channel
14.7 Summary
Chapter 15 Power Management
15.1 Power states
15.2 Power framework
15.3 Typical power management
15.4 Managing idle time
15.5 Advanced power management
15.6 Summary
Chapter 16 Boot Processes
16.1 Operating system startup
16.2 Alternative startup scenarios
16.3 Operating system shutdown
16.4 Operating system sleep and wake--up events
16.5 Summary
Chapter 17 Real Time
17.1 What is real time? 17.2 Real time operating systems
17.3 EKA2 and real time
17.4 Real time application -- GSM
17.5 Personality layers
17.6 Summary
Chapter 18 Ensuring Performance
18.1 Writing efficient code
18.2 Maintaining real--time performance
18.3 Summary
Appendix 1
Appendix 2
Appendix 3.
Brief Description:
Written by the engineers who actually designed and built the real-time kernel, this book describes the functioning of the real-time kernel. It will benefit the base-porting engineer by providing an understanding of the OS being ported. It contains an in-depth explanation of how Symbian OS drivers work.
|