computing environment

Now that we have traced the devlopment of operating systems from the first hands-on systems through multiprogrammed and time-shared systems to PCs and handheld computers, we can give a brief overview of how such system are used in a variety of computing enviornment setting.
Traditional computing
As computing matures, the lines among many of the traditional computing environments are blurring. consider the "typical office environment." Just with servers providing file and print service. Remote access was awkward, and portibillity was achieved by laptop computers carrying come of the user's workspace. Terminals attached to mainframes were prevalent at many campanies as well, with even fewer remote access and portibillity options.

the current trend is toward more ways to access these environments
web technologies are streching the boundries of traditional computing companies implement portals which provide web accessibility to their internal servers Network computers are essentially terminals that understand web-based computing. Handheld computers can synchronize will pc to allow very portable use of company information. They can also connect to wireless networks to use the company's web portal(as well as the myriad other web resources.)

At home, most users had a single computer with a slow modem connection to the office, the Internet, or both Network connection speeds Once attainable only at great cost are now avilable at low cost allowing more access to more data at a company or from the Web. Those fast data connection are allowing home computers to serve up web pages and to contains their own networks with printers. client PCs, and servers. some homes even have firewells to protect these home environment from security breaches. Those firewell cost thousands of dollars a few years ago, and did not even exist a decade ago.





Handheld Systems

Handheld systems include personal digital assitants (PDAs) such as palm pilots or cellular telephones with connectivity to a network such as the Internet. devlopers of handheld systems and applications face many challanges, most of which are due to the limited size of such devices. for example, a PDA is typically about 5 inches in height and 3inches in width, and it weighs less than one-half pound due to this limited size, most handheld devices have a small amount to memory, include slow processors, and features small disply screens. We will take a look now at each of these limitation.
Many handheld devices have between 512KB and 8MB of memory. (Contrast this with a typical PC or workstation, which may have servel hundred megabytes of memory!) As a result, the operating system and applications must manage memory efficiantly. this includes returning all allocated memory back to the memory manager once the memory is no longer being used. virtul memory which allows devlopers to write programms that behave as if the system has more memory, than may be physically avilable. forecing program devlopers to work within the confines of limited physical memory.
A second issue of concern to developers of handheld devices is the speed of the processor used in the device. Processor for most handheld devices often run at a fraction of the speed of a processor in a PC. Faster Processors require more power. To include a faster processor in a handheld device would require a larger battery that would have to be replaced (or recharged) more frequently. To minimize the size most handheld devices, smaller, slower processor which consume less power are typically used. Therefore, the operating system and application must be designed not to tax the processor
Some handheld devices may use wireless technology, such as Bluetooth allowing remote acess to e-mail and web browsing cellular telephones with connectivity to the internet fall into this catagory. However,many PDAs currently do not provide wireless access To download data to these devices, typically one first downloads the data to a PC or workstation, and then downloads the data to the PDA. Some PDAs allow data to be directly copied from one device to another using an infraed link



Real time systems

Another form of a special-purpose operating system is the real-time system. A real-time system is used when rigid time requirements have been placed on the operation of a processor or the flow of data; thus it is often used as a control device in a dedicated application. Sensor bring data to the computer. The computer must analyze the data and possilbly adjust controls to modify the senso inputs. Systems that control scientific experiments, medical imaging systems,industrial control systems, and certain disply systems are real time systems Some automobile engine fuel-injection systems, home appliance controllers. and weapon systems are also real-time systems.
A real time systems has well-defined, fixed time constaints. Processing must be done within the defined constraints, or the system will fail for must be done within the defined constraints, or the system will fail For intance, it would not do for a robot arm to be instructed to halt after it had smashed into the car it was building. A real-time constraints. Contrast this requirement to a time-sharing systems, where it is desirable( but not mandatory) to respond quicly, or to a batch system, which may have no time constraints at all.
Real time syatems come in two flavors: hard and soft. A hard real time system gurantees that critical tasks be completed on time. This goal requires that all delays in the syste be bouned, from the retrival of stored data to the time that it takes the operating system to finish any request made of it Such time constrints dictate the facilities that are avilable in hard real-time systems Secondary storage of any sort is usually limited or missing, with data instead being stored in short term memory or in read-only memory (ROM). ROM is located on nonvolatile storage devices that retain their contents even in the case of electric outage; most other types of memory are volatile. Most advanced operating system features are absent too, since they tend to seperate the user from the hardware, and that sepration results in uncertainly about the amounts of time an operatin will take. For instance, virtul memory is mixed. Since none of the existing genral-purpose operating systems support hard real time functionality, we don't concern ourselves with this type of system in this text
A less restrictive type of real-time systems is a soft real-time system, where a critical real-time task gets prority over other tasks, and retains that priority untill it completes. As in hard real-time systems, the operating-systems kernel delays need to bounded: A real time is an achievable goal that can be mixed with othr types of systems. Soft real-time systems, however, have more limited utility than hard real-time systems given their lack of deadline support,they are risky to use for industrial controls and robotics. They are useful however in servel areas, including multimedia, virtul reality, and advanced, scientific projects-such as undersea explation and planetary rovers. These systems neeed advanced operating systems features that can't be supported by hard it is finding its way into most current operating systems, including major version of UNIX.



Peer to Peer systems

The grown of computer network- especially the Internet and world wide web (WWW) - has a profound influence on the recent devlopment of operating systems. When PCs were introduced in the 1970s, they were designed for "personal" use and were genrally considerd stand alone computers.With the begining of widespread public use of the Internet in the 1980s for electronicmail, ftp and gopher, many PCs became connected to computer networks With the introduction of the Web in the mid-1990s,network connectivity became an essential components of computer system.
Virtully all modern PCs and workstations are capable of running a web browser for accessing hypertext documents on the Web. Operating systems(such as Windows, OS/2, MacOS, and UNIX) now also include the system software (such as TCP/IP and PPP) that enables a computer to access the Internet via local -area network or telephone connection. Servel include the webbrowser itself, as well as electronic mail, remot login, and fil-transfer client and servers.
In contrast to the tightly coupled systems discussed in Section1.4 the computer networks used in these appllications consist of a collection of processors that do not share memory or a clock. Instead, each processor has its own local memory. The processors communicate with one another through various communication lines, such as high-speed buses or telephone lines These systems
Some operating systems have taken the concept of networks and distributed systems further than the notion of providing network connectivity. A network operating systems is an operating systems that provides features such that allows different processes on diffrent computers to exchange messages. A computer running network operating system acts autonomously from all other computers on the networks although it is aware of the networks and is able to communicate with other networked computers. A distributed operating system is less autonumous environment: The diffrent operating systems communicate closely enough to provide the illusion that only a single operating system controls the network. We cover computer networks



Desktop system

Personal computers PCs appeared in the 1970s. During their decade, the CPUs in PCS lacked the features needed to protect an operating system from user programs. PC operating systems therefore were neither multiuser nor multitasking. However, the goals of these operating systems have changed with time; instead of maximizing CPU and peripheral utilization, the systems opt for maximizing user convenence and responsiveness. These system include PCs running microsoft windows, and IBM has upgraded MS-Dos to the OS/2 multitasking system. The Apple Macintosh operating system has been ported to more advanced hardware, and now includes new features, such as virtul memory and multitasking. With the release of MacOS X, the core of the operating system is now based on match and freeBSD Unix for scalabillity, perfomance, and features, but it retains the same rich GUI,Linux, a UNIX-like operating system avilable for PCs, has also become popular recently .
Operating systems for these computers have benifited in servel ways from the devlopment of operatingsystems for mainframes. Microcomputers were immidiately able to adopt some of the technology devloped for larger operating systems. On the other hand, the hardware costs for microcomputers utilization is no longer is no longer a prime concern. Thus, some of the design decisions made in operating systems for mainframes may not be appropriate for smaller systems.
Other design decisions still apply. For example, file protection was at,first, not necessary on a personal machine. However, these computers are now often tied into other computers over loca-area networks or other Internet-connections. When other computers and other users can access the files on a PC, file protection again becomes a necessary features of the operating systems. The lack of such protection has made it easy for mulicious programms to destroy data on systems such as MS-DOS and the Macintosh operating system. These programs may be self-replicating, and may speread via worm or virus mechanisms and disrupt entire companies or even worldwide networks. Advanced time-sharing features such as protected memory and file permissions are not enough, On their own, to safeguard a system from attack.Recent security breaches have shown that time and again.