Introduction to Operating Systems:Application Bases
Application Bases
When the IBM Personal Computer (often called simply “the PC”) appeared in 1981, it immediately spawned a huge software industry in which independent soft- ware vendors (ISVs) were able to market packages for the IBM PC to run under the MS-DOS operating system (IBM’s version was called DOS). Operating systems free applications software developers from having to deal with the messy details of manipulating computer hardware to manage memory, perform input/output, deal with communication lines, and so on. The operating system provides a series of application programming interface (API) calls which applications programmers use to accomplish detailed hardware manipulations and other operations. The API pro- vides system calls by which a user program instructs the operating system to do the work; the application developer simply has to know what routines to call to accom- plish specific tasks (Fig. 1.1). Note that in Fig. 1.1, the area above the dashed line, user space, indicates software components that are not part of the operating system and cannot directly access the system’s physical resources. The area below the dashed line, kernel space, indicates software components that are part of the operating system and have unrestricted access to system resources. We frequently use this convention in our diagrams to indicate the privilege with which software components execute. If an application attempts to misuse system resources, or if the
application attempts to use resources that it has not been granted, the operating system must intervene to prevent the application from damaging the system or interfering with other user applications.
If an operating system presents an environment conducive to developing applications quickly and easily, the operating system and the hardware are more likely to be successful in the marketplace. The applications development environment created by MS-DOS encouraged the development of tens of thousands of application soft- ware packages. This in turn encouraged users to buy IBM PCs and compatibles. Windows could well have an application base of a hundred thousand applications.
Once an application base (i.e., the combination of the hardware and the operating system environment in which applications are developed) is widely established, it becomes extremely difficult to ask users and software developers to convert to a completely new application development environment provided by a dramatically different operating system. Thus, it is likely that new architectures evolving over the next several years will make every effort to support the existing major application bases.
Comments
Post a Comment