The Symbian OS (779886), страница 7
Текст из файла (страница 7)
ButPsion was not a software company, nor did it really think of itself as acomputer hardware company; it was a product company, driven by awhole-product vision. And what’s more, it had enough cash in the bankto do what it liked in pursuit of that vision. Which is just what it did.2.3 The Prehistory of PsionPsion started life distributing computer hardware but moved quickly intosoftware, capitalizing on the pre-PC microcomputer boom, writing gamesand then office applications for machines such as the Sinclair ZX81 andSpectrum.
It was a small-scale operation in a mews behind GloucesterPlace in Marylebone, London. Early hits included a flight simulator forthe ZX81 and a spreadsheet application for the Spectrum. The flightsimulator was written by Charles Davies, an early director of Psion, laterthe Chief Technical Officer of Psion and now of Symbian. The spreadsheetapplication was written by Colly Myers, another long time Psion director,later CEO of Psion Software and Symbian’s first CEO.
The legend has itthat Myers wrote the complete application from scratch in the course ofa single flight from Johannesburg to London.Few people still in Symbian can trace their roots back quite so far,but someone who can is Howard Price, now a senior system architect atSymbian, who joined Psion in 1983 with a math degree, having settledin London after traveling, largely to avoid returning to military service in(pre-democratic) South Africa.Howard Price:In 1983 we were only doing Spectrum work, mainly games.
We all sat ina row along a workbench, about eight of us, with Charles Davies at a desknear the stairs and David Potter in a little office at the end. And everybodyprogramming in assembler, pretty much, Z80 assembler for the Spectrum,which we wrote on some HP-type machine. Downstairs were all the boxescontaining our programs on cassette that had come back from Ablex, themastering company. Once a week, a truck would arrive and everybody wouldline up to throw the boxes onto the truck.Charles Davies had joined the company at the invitation of its founder,David Potter, after completing a PhD in computational plasma physics.Potter had been his thesis supervisor.THE PREHISTORY OF PSION21Charles Davies:I was programming 3D models in Fortran and then I left and joined him.
Therewere Fortran programmers who didn’t know the length of a word on the CDCmachines we were using, but I always had an interest in programming, so Ilearned assembler. And then I went to microprocessors and I programmed alot, first Pascal and then C. I learned C on the job at Psion.Psion bet heavily on the success of Sinclair’s follow-on to the Spectrum,the Sinclair QL, developing an office suite application. It was badly joltedwhen the machine flopped and the software didn’t sell.
The surprisesuccess which emerged at around this time was not software at all buthardware: the original Psion Organiser, the pet project of the company’ssingle hardware engineer.The Organiser launched Psion as a product company and manifestedwhat became its signature traits: carefully designed hardware productswhose very modest means were maximized by great software. The gameshad made money but the devices rapidly became the soul of the company.Charles Davies:We had a product vision for the Organiser.
It was an 8-bit device andthe software was written straight above the bare metal, so there was nooperating system. The first ROM was 4 KB, subsequently 16 KB and we had aprogramming language in there called Forth, even in the 4 KB, because Forthis that tight that you can do that.The success of the Organiser put enough money in the bank to funddevelopment of a second-generation device.Charles Davies:The Organiser II had the luxury of a 16 KB ROM. The first product didn’t haveany serial port and people wanted to add barcode readers and things, so weadded a serial port.
But then you had to write add-on software to talk to theserial port and Forth wasn’t up to it. So OPL was invented at that time, aBASIC-like language. And because of that we ended up having to documentcertain library routines for extending the software in the ROM. That introducedus to the idea that when we go to the next generation we need an operatingsystem proper. We need to separate the applications from the system, becausewe had library routines, but no operating system separation.A few months after Howard Price joined, the original HP machine onwhich Z80 software was developed was replaced by a VAX, at the time22THE HISTORY AND PREHISTORY OF SYMBIAN OSa huge investment for what was still a very small company. When theVAX arrived, development moved from assembler to C.
It was a big andexciting new language for the Psion programmers. Programs were writtenand cross-compiled on the VAX for the Z80 chip. But C had not been thefirst choice of programming language when the VAX arrived.Charles Davies:When we first got the VAX and decided to go from assembler to a high-levellanguage we chose Pascal, which was the system language for the AppleMacintosh at that time. That choice lasted a few months. But then we readKernighan and Ritchie and it was just obvious that this is a whole load betterthan Pascal for what we wanted to do.
We recognized that C was the rightlanguage for us, because with C, you know, ‘how low can you go?’. Werecognized that in C, we could do the sorts of things that using Pascal wehad to do in assembler. But that switch wasted money. At that time, a VAXcost £100 000 and you work out what that is in real terms now, it was a biginvestment and the compilers cost thousands.
So we bought Pascal compilersand wasted a whole load of money and had to re-buy C cross-compilers.Despite its expense, the VAX turned out to be a fortuitous choice. TheVAX ran DEC’s VMS operating system. That the early influence of VMSshould eventually show up in an operating system which has becomebest known as a mobile phone operating system is startling at first sight.VAX, after all, was the dominant mini-computer of the late 1970s andpre-PC 1980s and VMS is in many ways a dinosaur of the big-metal era.But Symbian OS traces a very specific legacy to VMS, which indeed goesall the way back to the first Psion operating systems for the Organiserproducts.2.4 The Beginnings of Symbian OSWhen Geert Bollen joined Psion in May 1995, the 32-bit operating systemproject (EPOC) was well under way.
Bollen had been in the UK for justsix months, after moving on from a Belgian startup which had folded.A Macintosh-only shop with strong university links and specializingin document management systems, Bollen found Psion instantly quitedifferent, ‘a little bit homegrown’, as he puts it.The EPOC project was dominated by a few key personalities andlargely divided up between the teams they had gathered around them.Colly Myers was responsible for the kernel and base layers, CharlesDavies for the middleware and David Wood for the user interface. Allwere directors of Psion, and later Psion Software and Symbian, as wasBill Batchelor who had taken over the running of the overall Proteaproject.THE BEGINNINGS OF SYMBIAN OS23Geert Bollen:Most of the architecture came ultimately from the interaction between CharlesDavies and Colly Myers and the creative tension between them.
And sometimesit could take a long time to settle something. So they would have an argumentand then out of that they would come up with something sufficiently richfor Charles, sufficiently doable for Colly and then an implementation wouldappear.And once the implementation had appeared, that was very muchthat. As Bollen puts it, it could be extremely difficult to influence theimplementation after the fact. Myers and Davies had styles which wereas different as were their personalities.Geert Bollen:Charles Davies the cerebral purist, Colly Myers the bull-dog-like pragmatist,‘We are building the system and I have to know what to build!’ So to giveyou an idea, Colly was off implementing the system, meanwhile Charles wasmasterminding a complete Rational Rose model for it.Martin Tasker was another early recruit, joining a few weeks afterBollen when the software team was around 30 strong.
Tasker had beenat IBM, working on System 370 mainframes, having studied computingat Cambridge.Martin Tasker:I joined on 19 June 1995, 180 years and 1 day after the battle of Waterloo and6 weeks before my wedding! There was fantastic intellect and purity of design.I think the atmosphere was really quite frontier. You got a senior position, Isay ‘senior’ but this was a very small team, but you got authority within thatteam by basically stating your opinions and being seen to have good ones.There was Colly Myers, in those days with a beard, who would sit theretalking and he just couldn’t keep still, he would be twitching.And there was Charles Davies, face raised at a Victorian angle.Commitment was total and the dynamic could be abrasive.
Stronglyheld opinions, strongly defended, were part of the culture.Martin Tasker:Colly Myers was a combination of charismatic leadership and utter frustration!24THE HISTORY AND PREHISTORY OF SYMBIAN OSTasker indeed recalls an incident from the early days of the project,a small but significant difference of views between Myers and Davieswhich turned, as such differences usually did, on weighing the balancebetween purity and pragmatism.Martin Tasker:Colly Myers had a theory that array arguments should be unsigned, whichmeant that a descriptor length should be an unsigned value, in other words aTUint argument. And I well remember a meeting in the first floor corner officeof Sentinel House, which was the operations room for the project and CharlesDavies’ exact words were, ‘I’m having a bit of trouble with the troops’.
Theywere unhappy about using unsigneds, because there are all kinds of thingsyou might legitimately do when manipulating descriptors which would resultin a signed value as an index, for instance you multiply by some signed value.So that plays havoc with the array, because you’re getting all fffffs as anindex.And what this triggered in Colly! ‘Are you mad?!’ You know, ‘Who arethese programmers of yours?’ So the abstraction is that an array has only a zeroor a positive index, it cannot have a negative index. Therefore, what possibleadvantage could there be in allowing a signed index? So Colly’s line was, ‘Youjust need to teach your programmers how to program!’Well I remember four weeks of totally polarized debate and heated argument.