Wiley.Symbian.OS.Internals.Real.time.Kernel.Programming.Dec.2005.eBook-DDU (779891), страница 3
Текст из файла (страница 3)
They built thefirst working EKA2 prototype phone and are leading the development ofcommercial EKA2 handsets.Before joining Symbian, Jason developed real-time software for bespokeembedded systems. Projects included a multi-channel digital video recording system and 3D military simulators.Jason holds a BSc in Mathematics and Physics from the Universityof York, and an MSc in Remote Sensing and Image Processing fromEdinburgh University. Outside of Symbian, he can be found climbing theworld’s mountains.Andrew RogersAndrew Rogers joined Symbian in 2002. He then spent time working onBluetooth, USB, Infrared and OBEX with teams in Cambridge before joiningABOUT THE AUTHORSxviithe base kernel team in London to work on EKA2. Whilst with the base kernel team Andrew migrated the whole OS to a new data type for TInt64 andoversaw the introduction of support for the Symbian User::Leave()/TRAPframework to be implemented in terms of C++ exceptions, including implementing the support for this on the Win32 emulator himself.More recently, Andrew has spent the last 4 months working in Korea asa member of Symbian’s technical consultancy department, but has nowreturned to Cambridge to work as a consultant on European phone projects.Andrew has a BA in Computer Science from Sidney Sussex College,Cambridge.
In his ‘‘spare’’ time he has been known to bring up supporton EKA2 for other Win32 compilers and has also been responsible forimplementing changes to the IPC mechanism to prevent problems causedby race conditions between connect and disconnect messages, whilst heis not chasing round after his two young children or writing.Peter ScobiePeter joined Symbian (then Psion) in 1992 after eight years working forvarious telecommunications and process control companies – includingDacom, Combustion Engineering and Plessey Telecommunications.At Psion he initially led the production software team which developedsoftware for the test systems used in the manufacture of the Psion Series3a. Then he moved into the hand-held computer software department andwas part of the original development team for the EKA1 kernel – workingon EPOC Release 1 used in the Psion Series 5.
During this time he designedand developed the local media sub-system and the PC Card Controller.He then worked on the development of the MultiMediaCard controllerand the LFFS file system. He is still working in the base department andis now technical architect for the peripherals technology stream.Peter has a BSc in Electrical and Electronic Engineering from Loughborough University of Technology. Outside of work Peter enjoys canoeing,sailing and coaching for his eldest son’s football team.Jasmine StrongJasmine Strong joined Symbian in 2003, having previously worked forTexas Instruments, designing the system-on-chip architecture of the newgeneration of OMAP processors.
At Symbian, she has worked on performance profiling and improvements for the EKA2 kernel, using her longexperience with ARM processors to exploit their special characteristics.Jasmine has worked in embedded systems since 1998, when she starteda project to produce the world’s first internet-enabled walk-in freezerxviiiABOUT THE AUTHORScabinet. Her eclectic career has touched upon many different areas, fromhydrocarbon physics to digital television.Jasmine has been programming ARM processors since the late 1980sand is a keen motorcyclist and photographer.
When she’s not at work ortearing around at high speeds, Jasmine keeps a weblog.Andrew ThoelkeAndrew joined Symbian (then Psion) in 1994 and became one of thekey developers of OVAL, a rapid application development languagesimilar to Visual Basic, for the Psion Series3a computers. He has sinceworked on projects throughout the lifetime of Symbian OS, and spanningmany of its technology areas such as kernel, data storage, messaging,Java and platform security. He has been deeply involved in the design,development and promotion of EKA2 for the last four years, taking thisproject from research to production.Today he has one of the most senior technical roles within Symbian,influencing both the technical strategy of the organization and the ongoingarchitectural development of Symbian OS.He graduated from Sidney Sussex College, Cambridge with an MA inMathematics shortly before beginning his career at Symbian.Stefan WilliamsStefan joined Symbian in 2002 where he now works in the position ofFile Server Technical Lead.
During his time with Symbian, Stefan hasbeen actively involved in many aspects the Peripherals and File Serversub-systems, with most recent contributions including the design andimplementation of the SDIO framework, USB Mass Storage controllerand various kernel porting activities.A graduate of Imperial College, London, Stefan has an MA in Electrical and Electronic Engineering and has previously worked on severalmajor design commissions and commercial products, including PC-baseddata acquisition and signal analysis software, real-time TDR-based faultanalysis systems and distributed embedded network solutions.Stefan would like to thank his son, Derry, for not complaining too muchwhile Dad spent his weekends writing – and promises to start beingfun again!1Introducing EKA2by Jane Sales with Martin TaskerThe ability to quote is a serviceable substitute for wit.W.
Somerset Maugham1.1 The history of EKA2Kernel design is one of the most exciting opportunities in softwareengineering. EKA2 is the second iteration of Symbian’s 32-bit kernelarchitecture, and this in turn follows 8- and 16-bit kernels designed in the1980s for Psion’s personal organizers and PDAs.Psion’s Organiser, launched in 1984, was based on an 8-bit processorand supported only built-in applications. For such a device, the onlykernel needed was a bootstrap loader and a small collection of systemservices.
There was no clear requirement to differentiate the 8-bit kernelfrom middleware or application software.In 1986, Psion launched the Organiser II, an 8-bit machine offeringexpansion based on the interpreted OPL language. The demands on theOS were slightly greater – sufficiently good memory management, forexample, to support an interpreted language.A major evolution came when, beginning in 1990, Psion launcheda range of machines including a laptop, a clamshell organizer and anindustrial organizer, all based on a single OS. The 16-bit EPOC kernelwas tied to the Intel 8086 architecture and supported expansion, withapplications written not only in OPL, but also in the native C APIs of theEPOC OS – thus opening up the OS itself to any number of aftermarketapplication writers.This openness placed massive new demands on the kernel.
For onething, it had to be documented and made accessible to aftermarketprogrammers. Perhaps some applications would be poorly written: thekernel had to provide memory protection so a bug in one program would2INTRODUCING EKA2not crash another – or even crash the whole OS. Applications demandedsophisticated memory management for their own working memory. Apotentially limitless number of event-driven services had to executeefficiently on a highly resource-constrained machine. And all this had tobe delivered on the platform of the 8086’s segmented memory model,with challenges that PC programmers of the day will readily recall.The 16-bit EPOC kernel thus had to address many of the requirementswhich are met by EKA2 today, because of its positioning between theembedded real-time operating systems and classic desktop operatingsystems such as Windows.
Although it was similar to embedded RTOSes (itran from ROM), it was bigger because it supported richer functionality andwas open to aftermarket applications. Although it was similar to desktopOSes (it was open and used the 8086 architecture), it was smaller becausethe memory and power resources available were considerably less.Two further evolutionary steps were necessary to arrive at EKA2.EPOC32, released in Psion’s Series 5 PDA in 1997, began life in 1994.Its kernel, retrospectively dubbed EKA1, carried over the best featuresof the 16-bit EPOC kernel and fixed several significant issues. Firstly,EKA1 was thoroughly 32-bit – with no relics of the awkwardness in EPOCresulting from the 8086-segmented memory architecture.
Secondly, theEKA1 kernel was designed from the beginning with hardware variety andevolution in mind – unlike 16-bit EPOC, which had been tied closely to asingle 80186-based chipset. Many implementation details were changedas a result of these fundamentals, but EKA1 was otherwise surprisinglysimilar in spirit to 16-bit EPOC.At that time, one of the proudest moments of my career took place – inmy spare bedroom! The rest of the team were out of the office, so Iworked at home for a week, frantically trying to achieve the first everboot of the kernel before they got back.