Smartphone Operating System (779883), страница 5
Текст из файла (страница 5)
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. Distributed systems assume that they are connected bysome sort of communication network.14INTRODUCTION TO MOBILE PHONE SYSTEMSThere are several models of distributed systems that operating systemshave taken advantage of. The client–server model views some computersas servers, that is, providing a service of some sort, and some computersas clients that ask for and receive a service. Web browsing is a distributedactivity that is based on the client–server model.
Browsers are clientsthat ask servers for pages. Peer-to-peer distribution is a model in whichcomputers are both servers and clients, using some and being used byothers. The interdependent model is a peer-to-peer model where peersare tightly interconnected, such that they cannot operate if other peersare not also functioning. In the interdependent model, each peer hasfunctions that are crucial to the entire network’s operations.There are several examples of operating systems for distributed computing systems. Good examples of the client–server model are the manydistributions of Linux.
The appeal of Gentoo Linux is that it is solely basedon the Internet for its distribution. It uses the Internet for upgrading itself,for installing itself and for updating its applications. For these uses, theoperating system is a client, communicating with one of many Gentooservers.For an example of an interconnected distributed operating system wehave to go back to the 1980s.
During those years, an operating systemcalled Domain/OS was implemented that ran on computers made by theApollo company. Domain/OS was a version of Unix that was truly distributed between computers on a network. The execution of a commandor program might occur on the local computer a user was connected to orit might occur on another computer in the network. No matter where thecommand was executed, the results – text or graphics – appeared on thelocal screen. The decision about which specific computer executed anygiven command was based on an algorithm, which made the locationdecision based on factors such as load and network performance.Handheld SystemsAs computers inexorably shrank in size, handheld devices becamefeasible. These computers – usually fully fledged systems with all theperipherals and issues of desktop systems – fit into and can be used withone hand.
At first glance, these systems look as if they could simply takeon the operating systems of their bigger siblings, but they pose someunique challenges.First, the internal environment is more restrictive. Less memory, lessstorage space and slower processors all dictate that the operating systemCOMPUTER SYSTEMS AND THEIR OPERATING SYSTEMS15must be tailored for a handheld environment, not just shrunk. Often,memory becomes ‘disk’ space: memory space is shared between astorage system and memory used by the system to run programs.
Theearly Palm handhelds had 2 MB of memory for operating system spaceand file storage. In the face of these restrictions, the conventional modelsof operating systems change to accommodate the different environment.Secondly, resources must be handled with more care. The resourceson a handheld platform are more fragile – in the sense that a restrictedenvironment puts more of a load on a resource. A restricted environmentleaves less room for software to protect a resource.
This means that anoperating system must have a good model in place for dealing withresource access from multiple sources.Thirdly, power restraints are crucial. While desktop systems are alwaysconnected to AC power, handheld systems are almost always run onbatteries. Extensive running of hardware resources drain battery lifedramatically.
And power loss must be handled gracefully.These considerations mean that an operating system must be writtenspecifically for a handheld device. It faces many pressures; it must supportthe multiprogramming of a desktop system in a (sometimes severely)restricted environment that must sip battery power while coordinatingaccess to many resources.
This is a considerable task, but operatingsystems have risen to handle it. Linux has been scaled to fit on severalhandheld devices. Microsoft Windows has also been fitted for handheldplatforms. The early versions of Symbian OS were designed for a handheldenvironment.Mobile Phone SystemsAs even handheld devices got smaller, it became possible to fuse a handheld device with a mobile phone. All the considerations of a handheldplatform are multiplied when a handheld device becomes a communications tool. All the restrictions and issues are present while the systemrequirements take on communication issues as well.
The resource modelof the handheld platform is now augmented with communications andthe functionality that comes with those communications.On a mobile phone, the environment restrictions can be even moresevere than on a handheld device. The data requirements of multimediacommunication – text messages, phone calls, photographs, video clipsand MP3s – are tremendous, yet must fit onto a restricted storage space.A mobile phone now has even more resources that must be carefully dealt16INTRODUCTION TO MOBILE PHONE SYSTEMSwith. And power is even tighter than normal, as the power requirementsof a mobile phone are much higher than that of a handheld device.In the face of even tighter constraints, operating systems have risento the challenge. Several operating systems, such as Symbian OS, havebeen tailored for mobile phones.Real-time SystemsA real-time system is a special-purpose computer system where rigid timerequirements have been placed on either the processor or input/outputoperations.