Process Management
Main-Memory Management
File Management
I/O-System Management
Secondary-Storage Management
Networking
Protection System
Command-Interpreter System
Operating-System Services
System Calls
Process Control
File Management
Device Management
Information Maintenance
Communication
There are two common models of communication:
- the message-passing model.
- the shared-memory model.
In the message-passing model, information is exchanged through an interprocess-communication facility provided by the operating system.
In the shared-memory model, processes use map memory system calls to gain access to regions of memory owned by other processes.
Both of the models just discussed are common in operating systems, and some systems even implement both.
( Figure 3.5 ) Communications models. (a) Msg passing.
(b) Shared memory.
In the shared-memory model, processes use map memory system calls to gain access to regions of memory owned by other processes.
Both of the models just discussed are common in operating systems, and some systems even implement both.
( Figure 3.5 ) Communications models. (a) Msg passing.
(b) Shared memory.
System Programs
System programs provide a convenient environment for program development and execution. Some of them are simply user interfaces to system calls; others are considerably more complex. They can be divided into these categories:
System programs provide a convenient environment for program development and execution. Some of them are simply user interfaces to system calls; others are considerably more complex. They can be divided into these categories:
- File management: These programs create, delete, copy, rename, print, dump, list,and generally manipulate files and directories.
- Status information: Some programs simply ask the system for the date, time,amount of available memory or disk space, number of users, or similar statusinformation. That information is then formatted and printed to the terminal or otheroutput device or file.
- File modification: Several text editors may be available to create and modify thecontent of files stored on disk or tape.
- Programming-language support: Compilers, assemblers, and interpreters forcommon programming languages (such as C, C++, Java, Visual Basic, and PERL)are often provided to the user with the operating system, although some of theseprograms are now priced and provided separately.
- Program loading and execution: Once a program is assembled or compiled, itmust be loaded into memory to be executed. The system may provide absoluteloaders, relocatable loaders, linkage editors, and overlay loaders. Debuggingsystems for either higher-level languages or machine language are needed also.
- Communications: These programs provide the mechanism for creating virtualconnections among processes, users, and computer systems. They allow users tosend 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.
system utilities or application programs
In addition to systems programs, most operating systems are supplied with programs that are useful in solving common problems or performing common operations. Such programs include web browsers, word processors and text formatters, spreadsheets, database systems, compilers, plotting and statistical-analysis packages, and games. These programs are known as system utilities or application programs.
Command interpreter
Perhaps the most important system program for an operating system is the command interpreter. The main function of this program is to get and execute the next user-specified command. Many of the commands given at this level manipulate files:
In one approach, the command interpreter itself contains the code to execute the command. For 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 through system programs. In this case, the command interpreter does not understand the command in any way; it merely uses the command to identify a file to be loaded into memory and executed. Thus, the UNIX command to delete a file.
rm G
would search for a file called rm, load the file into memory, and execute it with the parameter G. An alternative approach—used by UNIX, among other operating systems implements most commands through system programs. In this case, the command interpreter does not understand the command in any way; it merely uses the command to identify a file to be loaded into memory and executed. Thus, the UNIX command to delete a file.
rm G
No comments:
Post a Comment