Concepts with Symbian OS (779878), страница 4
Текст из файла (страница 4)
SIBO ran on computers developed byPsion Computers, which developed the operating system to run on smallfootprint devices. The first computer to use SIBO, the MC laptop machine,died when it was barely out of the gate, but several successful computermodels followed the MC. In 1991, Psion produced the Series 3: a small10INTRODUCTION TO MOBILE PHONE SYSTEMScomputer with a half-VGA-sized screen that could fit into a pocket. TheSeries 3 was followed by the Series 3c in 1996, with additional infraredcapability; the Sienna in 1996, which used a smaller screen and hadmore of an ‘organizer’ feel; and the Series 3mx in 1998, with a fasterprocessor.
Each of these SIBO machines was a great success, primarilyfor three reasons: SIBO had good power management, included light andeffective applications, and interoperated easily with other computers,including PCs and other handheld devices. SIBO was also accessibleto developers: programming was based in C, had an object-orienteddesign and employed application engines, a signature part of SymbianOS development. This engine approach was a powerful feature of SIBO;it made it possible to standardize an API and to use object abstractionto remove the need for the application programmer to worry about dataformats.In the mid-1990s, Psion started work on a new operating system.This was to be a 32-bit system that supported pointing devices ona touch screen, used multimedia, was more communication-rich, wasmore object-oriented, and was portable to different architectures anddevice designs.
The result of Psion’s effort was the introduction of EPOCRelease 1. Psion built on its experience with SIBO and produced acompletely new operating system. It started with many of the foundationalfeatures that set SIBO apart and built up from there.EPOC was programmed in C++ and was designed to be objectoriented from the beginning. It used the engine approach pioneeredby SIBO and expanded this design idea into a series of servers thatcoordinated access to system services and peripheral devices.
EPOCexpanded the communication possibilities, opened up the operatingsystem to multimedia, introduced new platforms for interface items suchas touch screens, and generalized the hardware interface. EPOC wasfurther developed into two more releases: EPOC Release 3 (ER3) andEPOC Release 5 (ER5).
These ran on new platforms such as the PsionSeries 5 and Series 7 computers.As EPOC was being developed, Psion was also looking to emphasizethe ways that its operating system could be adapted to other hardwareplatforms. From mobile phones to Internet appliances, many devicescould work well with EPOC. The most exciting opportunities were inthe mobile phone business, where manufacturers were already searchingfor a new, advanced, extensible and standard operating system for itsnext generation of devices. To take advantage of these opportunities,Psion and the leaders in the mobile phone industry – for example, Nokia,COMPUTER SYSTEMS AND THEIR OPERATING SYSTEMS11Ericsson, Motorola and Matsushita (Panasonic) – formed a joint venture,called Symbian, which was to take ownership of and further develop theEPOC operating system core, now called Symbian OS.Symbian OS was explicitly targeted at several generalized platforms.It was flexible enough to meet the industry’s requirements for developing a variety of advanced mobile devices and phones, while allowingmanufacturers the opportunity to differentiate their products.
It was alsodecided that Symbian OS would actively adopt current, state-of-the-artkey technologies as they became available. This decision reinforced thedesign choices of object orientation and a client–server architecture.1.3 Computer Systems and their Operating SystemsIn addition to following computers and their history, a different way toappreciate the relationship between operating systems and hardware isto look at them from a system perspective. Each type of computer systemhas an operating system that was designed for it – to take advantage of itsunique features.Mainframe SystemsMainframe systems are characterized by a large central computer witha large number and wide variety of possible peripherals. These typesof computers were the first to be used to run scientific and commercialapplications.Initially, mainframe systems needed to run only a single program ata time. The operating system would accept jobs – packages consistingof control commands, program code and data.
The control commandsdictated how to compile the program, how much memory it would take,what other resources would be used, etc. Operating systems for thesetypes of computers could be quite simple. An operating system needed toread in the job, use the control commands to configure how the programwould be loaded up and executed, and manage the program’s accessto resources and data. When a program executed, the operating systemwould remain in memory, tucked away in its own section. The BESYSoperating system was created in this environment.Mainframe systems became more complex for two reasons. First,running multiple jobs in sequence became desirable. A sequence ofjobs – called a batch – would be sorted into groups based on what12INTRODUCTION TO MOBILE PHONE SYSTEMSresources would be used. Often, using a resource required that theresource be on and configured in a certain way.
Secondly, disk technologydeveloped to the point where jobs could be placed on a disk driverather than recorded on punched cards. This was a great step forward,because mistakes were easier to correct, and jobs could be submitted andprocessed more rapidly. Once disk access was available, an operatingsystem could sort the jobs and choose which was most appropriate to runat a given time. This type of job scheduling allowed more efficient useof computer resources in addition to faster turnaround time for programexecution.In this kind of environment, idle time becomes an issue. There wasa large difference between the speed of the CPU processor and theI/O speed of each device connected to the computer.
Therefore, as theCPU accesses a device, much waiting is involved. This problem wasexacerbated by the fact that older mainframes would run a single job ata time.Eventually, mainframes and their operating systems came to embracetwo more concepts: multiprogramming and time-sharing. To take advantage of the waiting time of a CPU, operating systems were designed toschedule multiple jobs at once. These several jobs would share the CPU:when one job caused the CPU to wait, another job took its place andexecuted on the CPU.
This type of multiprogramming – where multipleprograms ran on a single CPU – extended the idea of job scheduling to include CPU scheduling. This multiuse environment has severalimplications for memory and for I/O.Time-sharing is an extension of CPU scheduling. If you consider auser interacting with a computer as just another job, then multiple userscan interact with the computer at the same time.
Time-sharing refers tothe way that users share the CPU with other tasks, both other users andother jobs. OS/360 was implemented to support this kind of environment:a time-sharing, job-scheduling computing environment. Users wouldinteract with the computer by creating jobs through terminals, savingthem, then submitting them online to the computer. Output from thesejobs was eventually generated and delivered to the user for consideration.Mainframe systems shrank in size and eventually became small enoughto put into a room with very little cooling equipment. The user interactionsoftware evolved as well.
The job-control program eventually became acommand shell, a program that accepted commands interactively froma user, executed those commands and placed the output back on thescreen. MULTICS was created in this environment and Unix perfectedCOMPUTER SYSTEMS AND THEIR OPERATING SYSTEMS13the use of this kind of interaction. Multiprogramming was the normin these operating systems and all ‘jobs’ – including the user-commandshell – competed for system resources, especially the CPU.
Issues thataffected performance – such as which job got priority and algorithms toeffectively schedule all usage of the CPU – became very important andwidely discussed.Desktop SystemsComputers continued to shrink until it was feasible to combine a monitor,a CPU and a keyboard into a single package that could occupy a desktop.These systems distributed computing power to users, rather than havingusers access the computing power of a single machine.IBM constructed the first personal computer; MS-DOS was the operating system that was used for this first PC. Initially, MS-DOS was asingle-job operating system. Like the old mainframes, it ran a singlejob (now called a process) at a time and the operating system madechoices about which job to run and how to manage resources. Hardwaresystems grew faster and supported more peripherals; operating systems,like those supporting mainframes, grew and added features to supportthese hardware systems.
MS-DOS eventually incorporated multiprogramming and could support multiple processes using the CPU. As graphicaluser interfaces became more widely used to interact with the computer(in the place of a command shell), MS-DOS was upgraded to becomeMicrosoft Windows and other operating systems, such as MacOS fromApple, emerged.Desktop systems now support multiprogramming, time-sharing, networking and many types of peripherals.
These systems assume that theyexist in an environment that is shared by multiple PCs and multiple users.The operating systems embrace many users at once and encourage usersto venture out over networks to share resources from other computers.Distributed SystemsA distributed system is an extension of multiple connected stand-alonesystems. These systems depend on each other to varying degrees. Somedistributed systems simply share a few resources – such as printers anddisk drives – while others share many resources – such as CPU time andinput devices.