Smartphone Operating System Concepts with Symbian OS: A Tutorial Guide
The book is replete with examples (both conceptual and applied to handhelds) as well as:
* Summaries at the end of each chapter.
* Problems the students can do as homework.
* Experiment-oriented exercises and questions for students to complete on a handheld device
* A reading list, bibliography and a list of sources for handheld software
It also contains a series of on-line laboratories based on the software developed for Symbian OS devices. Students can perform these labs anywhere, and can use printing and e-mail facilities to construct lab write-ups and hand in assignments.
Students, for the first time, will be taught Symbian OS concepts so that they can start developing smartphone applications and become part of the mass-market revolution.
Part 1: Operating-System Concepts.
1 Introduction to Mobile Phone Systems.
1.1 What Is an Operating System?
1.2 History of Operating Systems.
1.3 Computer Systems and their Operating Systems.
2 The Character of Operating Systems.
2.1 The Evolution of Operating Systems.
2.2 Computer Structures.
2.3 Different Platforms.
3 Kernel Structure.
3.1 How a Kernel Is Put Together.
3.2 System Calls and the Kernel.
3.3 Interrupt Implementation.
3.4 Completing the Kernel Design in Symbian OS.
4 Processes and Threads.
4.1 An Overview of the Process Model.
4.2 Programming with Processes.
5 Process Scheduling.
5.1 Basic Concepts.
5.2 Scheduling Strategies.
5.3 Scheduling in Linux.
5.4 Scheduling in a Microkernel Architecture.
5.5 Scheduling in Symbian OS.
6 Process Concurrency and Synchronization.
6.1 Concepts and Models for Concurrency.
6.3 Locks, Monitors and Other Abstractions.
6.4 The Dining Philosophers: A Classic Problem.
6.5 An Example in Unix.
6.6 Concurrency in Symbian OS.
6.7 Interprocess Communication.
6.8 Managing Deadlocks.
7 Memory Management.
7.1 Introduction and Background.
7.2 Swapping and Paging.
7.3 Systems Without Virtual Memory.
7.5 Memory in Symbian OS.
7.6 Memory Use in Linux.
8 File Systems and Storage.
8.1 Files and Directories.
8.2 Implementation of a File System.
8.3 File Systems on Mobile Phones.
9 Input and Output.
9.1 I/O Components.
9.2 I/O Hardware Issues.
9.3 I/O Software Issues.
9.4 I/O in Symbian OS.
10.1 Opening a Closed Environment.
10.2 Extending Computers in a Connected Environment.
10.3 Connectivity in Symbian OS.
11 Modeling Communications.
11.1 Communications Models.
11.2 Communications on Symbian OS.
11.3 Communications on Other Operating Systems.
12.1 Modeling Telephony Services.
12.2 A Structural Overview.
12.3 Voice over IP Telephony.
13.1 The Character of Messaging.
13.2 The Symbian OS Messaging Model.
13.3 Message Handling in Linux.
14.1 Understanding Security Issues.
14.4 System Threats.
14.5 Security on Smartphones.
15 Virtual Machines.
15.1 Basic Concepts.
15.2 The Java Virtual Machine and Symbian OS.
Appendix A: Web Resources.