Page 41 - DCAP403_Operating System
P. 41
Operating System
Notes 2. Status information: Some programs simply ask the system for the date, time, amount
of available memory or disk space, number of users, or similar status information. That
information is then formatted, and is printed to the terminal or other output device or
fi le.
3. File modifi cation: Several text editors may be available to create and modify the content of
files stored on disk or tape.
4. Programming-language support: Compilers, assemblers, and interpreters for common
programming languages (such as C, C++, Java, Visual Basic, and PERL) are often provided
to the user with the operating system. Some of these programs are now priced and provided
separately.
5. Program loading and execution: Once a program is assembled or compiled, it must be
loaded into memory to be executed. The system may provide absolute loaders, relocatable
loaders, linkage editors, and overlay loaders. Debugging systems for either higher-level
languages or machine language are needed also.
6. Communications: These programs provide the mechanism for creating virtual connections
among processes, users, and different computer systems. They allow users to send messages
to one another’s screens, to browse web pages, to send electronic-mail messages, to log in
remotely, or to transfer files from one machine to another.
Most operating systems are supplied with programs that solve common problems, or perform
common operations. Such programs include web browsers, word processors and text formatters,
spreadsheets, database systems, compiler compilers, plotting and statistical-analysis packages,
and games. These programs are known as system utilities or application programs.
Perhaps the most important system program for an operating system is the command interpreter,
the main function of which is to get and execute the next user-specifi ed command.
Many of the commands given at this level manipulate files: create, delete, list, print, copy,
execute, and so on. These commands can be implemented in two general ways. In one approach,
the command interpreter itself contains the code to execute the command.
Example: A command to delete a file may cause the command interpreter to jump to a
section of its code that sets up the parameters and makes the appropriate system call. In this case,
the number of commands that can be given determines the size of the command interpreter, since
each command requires its own implementing code.
An alternative approach-used by UNIX, among other operating systems implements most
commands by system programs. In this case, the command interpreter does not understand the
command in any way; it merely uses the command to identify a fi le to be loaded into memory
and executed. Thus, the UNIX command to delete a fi le.
3.4 Operating System Structure
The operating system structure is a container for a collection of structures for interacting with
the operating system’s file system, directory paths, processes, and I/O subsystem. The types
and functions provided by the operating system substructures are meant to present a model for
handling these resources that is largely independent of the operating system. There are different
types of structure as described in Figure 3.1.
34 LOVELY PROFESSIONAL UNIVERSITY