【文件名】:071012@52RD_The.Symbian.OS.Architecture.Sourcebook.pdf
【格 式】:pdf
【大 小】:2138K
【简 介】:As Symbian OS becomes more mainstream – a volume product and not just a niche one – I hope this book will serve as a primer for the
curious and a way in to a deeper understanding of what Symbian OS is,
where it came from and why it is currently riding high.
【目 录】:
Part 1: The Background to Symbian OS
1 Why Phones Are Different 3
1.1 The Origins of Mobile Phones 3
1.2 From 2G to 3G 5
1.3 Mobile Phone Evolution 6
1.4 Technology and Soft Effects 7
1.5 Disruption and Complexity 9
1.6 The Thing About Mobile Phones 10
2 The History and Prehistory of Symbian OS 15
2.1 The State of the Art 15
2.2 In the Beginning 17
2.3 The Prehistory of Psion 20
2.4 The Beginnings of Symbian OS 22
2.5 The Mobile Opportunity 26
2.6 Background to the First Licensee Projects 27
2.7 Device Families 31
2.8 Operating System Influences 37
viii CONTENTS
3 Introduction to the Architecture of Symbian OS 45
3.1 Design Goals and Architecture 45
3.2 Basic Design Patterns of Symbian OS 49
3.3 Why Architecture Matters 49
3.4 Symbian OS Layer by Layer 52
3.5 The Key Design Patterns 56
3.6 The Application Perspective 65
3.7 Symbian OS Idioms 71
3.8 Platform Security from Symbian OS v9 83
4 Introduction to Object Orientation 87
4.1 Background 87
4.2 The Big Attraction 88
4.3 The Origins of Object Orientation 90
4.4 The Key Ideas of Object Orientation 92
4.5 The Languages of Object Orientation 100
Part 2: The Layered Architecture View
5 The Symbian OS Layered Model 111
5.1 Introduction 111
5.2 Basic Concepts 111
5.3 Layer-by-Layer Summary of the Symbian OS v9.3 Model 117
5.4 What the Model Does Not Show 119
5.5 History 119
6 The UI Framework Layer 121
6.1 Introduction 121
6.2 Purpose 122
6.3 Design Goals 123
6.4 Overview 123
6.5 Architecture 124
6.6 A Short History of the UI Architecture 128
6.7 Component Collections 129
7 The Application Services Layer 133
7.1 Introduction 133
7.2 Purpose 134
7.3 Design Goals 134
7.4 Overview 135
7.5 Legacy Application Engines 137
7.6 Architecture 137
7.7 Component Collections 149 CONTENTS ix
8 The OS Services Layer 165
8.1 Introduction 165
8.2 Purpose 166
8.3 Design Goals 168
8.4 Overview 170
8.5 Architecture 171
8.6 Generic OS Services Block 171
8.7 Multimedia and Graphics Services Block 177
8.8 Connectivity Services Block 192
9 The Comms Services Block 199
9.1 Introduction 199
9.2 Purpose 201
9.3 Design Goals 204
9.4 Overview 206
9.5 Architecture 206
9.6 Comms Framework 210
9.7 Telephony Services 220
9.8 Networking Services 230
9.9 Short-link Services 245
10 The Base Services Layer 255
10.1 Introduction 255
10.2 Purpose 255
10.3 Design Goals 256
10.4 Overview 257
10.5 Architecture 258
10.6 Component Collections 270
11 The Kernel Services and Hardware Interface Layer 279
11.1 Introduction 279
11.2 Purpose 280
11.3 Design Goals 281
11.4 Overview 283
11.5 EKA1 and EKA2 283
11.6 Singleton Component Collections 284
11.7 Kernel Architecture Block 285
11.8 Kernel Architecture Component Collections 295
12 The Java ME Subsystem 301
12.1 Introduction 301
12.2 Requirements of the Java ME Subsystem 302
12.3 Design Goals for the Java ME Subsystem 302
12.4 Evolution of Java on Symbian OS 303 x CONTENTS
12.5 Architecture 306
12.6 Component Collections 311
13 Notes on the Evolution of Symbian OS 319
13.1 The State of the Art 319
13.2 Summary of Symbian OS v6 Releases 319
13.3 Summary of Symbian OS v7 Releases 321
13.4 Summary of Symbian OS v8 Releases 324
13.5 Summary of Symbian OS v9 Releases 326
Part 3: Design Case Studies
14 The Use of Object-oriented Design in Symbian OS 333
14.1 Introduction 333
14.2 Pioneering the Object Approach in Psion 334
14.3 A Thoroughly Object-oriented Operating System 353
15 Just Add Phone 367
15.1 Introduction 367
15.2 Anatomy of a Phone 367
15.3 The Phone Operating System 368
15.4 Telephony 378
15.5 Messaging: It’s Different on a Phone 386
16 One Size Does Not Fit All: The Radical User Interface Solution 397
16.1 Introduction 397
16.2 Background to the Eikon GUI 402
16.3 Eikon Design Point 404
16.4 The Device Family Strategy 410
16.5 Quartz 416
16.6 Pearl 417
16.7 Nightingale 418
16.8 How to Develop a World-class GUI 420
16.9 Symbian OS User Interface Architecture 425
16.10 Future Directions 426
17 System Evolution and Renewal 429
17.1 Introduction 429
17.2 Design Lifetime 430
17.3 Renewal in Symbian OS 434
17.4 Evolution in the Kernel 436
17.5 Telephony Evolution 440
17.6 Sound and Vision Evolution 443 CONTENTS xi
17.7 Defining the Skin 444
17.8 Moving Towards Standard C++ 446
18 Creative Zoo or Software Factory? 453
18.1 Introduction 453
18.2 The Software Problem 453
18.3 Too Many Dragons 455
18.4 Software Development Approaches 456
18.5 What Making Software Is Really About 459