Operating System (CS - 308)
Chapter 3 - New Vocabulary
New Vocabulary
Process                                Command interpreter
A file                                    Operating-system services
System programs                Primary and Secondary storages
A process is the unit of work in a system.  A system consists of a collection of processes, some of which are operating-system processes (those that execut sytem code).  All these processes can potentially execute concurrently, by multiplexing the CPU among them.
Back to Menu
A file
A file is a logical storage unit.  The operating system maps files onto physical media, and accesss these file via the storage devices.

A file is a collection of related information defined by its creator.  Commonly, files represent programs (both source and object forms) and data.  Data files may be numeric, alphabectic, or alphanumeric.  Files may be free-form, such as text file, or may be formatted rigidly.  A file consists of a sequence of bits, bytes, lines, or records whose meanings are defined by their creators.  The concept of a file is an extremely general one.

Back to Menu
System programs
File manipualtion:
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 status information.  That informations is then formatted, and is printed to the terminal or other output device or file.
File modification:
Several text editors may be available to create and modify the content of files stored on disk or tape.
Programming-language support:
Compilers, assemplers, and interpreters for common programming languages (such as FORTRAN, COBOL, Pascal, BASIC, C, and LISP) are often provided to the user with the operating system.  Many of these programs are now priced and provided sepaerately.
Program loading and execution:
Once a program is assempled or compiled, it must be loaded into memory to be executed.  The system may provide absolute loaders, linkage editors, and overlay loaders.  Debugging systems for either higher-level languages or machine language are needed also.
These programs provide the mechanism for creating virtual connections among processes, users, and different computer systems.  They allow users to send message to each other's screen, to send larger messages as electronic mail, or to trasfer files from one machine to another, and even to use other computers remotely as though these machines were local (know as remote login)
Back to Menu
Command interpreter
One of the most important system programs for an operating system is the command interpreter, which is the inteface between the user and the operating system.
Back to Menu
Operating-system service
Program execution:
The system must be able to load a program into memory and run it.  The program must be able to send its execution, either normally or abnormally (indicating error).
I/O operations:
A running program may require I/O.  This I/O may involve a file or an I/O device.  For specific devices, special functions may be desired (such as rewind a tape drive, or blank the screen on a CRT).  For efficiency and protection, users usually cannot control I/O devices directly.  Therefore, the operating sytem must provide some means to do I/O.
File-system manipulation:
The file system is of particular interest.  It should be obvious that programs need to read and writes files.  They also need to create and delete files by name.
There are many circumstances in which one process needs to exchange information with another process.   There are two major ways in which such communication can occur.  The first takes place between processes executing on the same computer systems that are tied together by a computer network.  Communications may be implemented cia share memory, or by the technique of message passing, in which packets of information are moved between processes by operating system.
Error detection:
The operating system onstantly needs to be aware of possible errors.  Errors may occur in the CPU an d memory hardware (such as a memory eror or power failure), in I/O devices (such as a parity error on tape, a connection error on a network, a lack of paper in the printer), or in use program (such as an arithmatic overflow, an attempt to access an illegal memory location, or a too great use of CPU time).  For each type of error, the operating system should take the appropriate action to ensure correct and consistent computing.
Resource allocation:
When there are multiple users or multiple jobs running at the same time, resources must be allocated to each of them.  many different types of resources are managed by the operating system.  Some (such as CPU cycles, main memory, and file storage)  may have special allocation code, whereas others (such as I/O devices) may have much more general request and release code.  For instance, in determining how best to use the CPU, operating system have CPU-scheduling routines that take into account the speed of the CPU, the jobs that must be executed, the number of register availabe, and other factors.  There might also be routines to allocate a tape drive for use by job.  One such routine locates an unused tape drive and marks an internal table.  These routines may also be used to allocate plotters, modems, and other peripheral devices.
We want to keep track of which users use how much and what kinds of computer rresources.  This record keeping may be for accounting (so that users can be billed)  or simply for accumulating usage statistics.  Usage statistics may be valuable tool for researchers who wish to reconfigure the system to improve computing services.
The owners of information stored in a mutiuser computer system may want to control its use.  When several disjoint processes execute concurrently, it should not be possible for one process to interfere with the others, or with the operating system itself.  Protection involve ensuring that all access to system resources is controlled.  Security of the system from outsiders is alos important.  Such security starts with each user having to authenticate himself or herself to the system, usually by means of a password, to be allowed access to the resources.  It extends to defending external I/O devices, including modems and network adapter, from invalid access attempts, and to recording all such connections for detection of break0ins.  If a system is to be protected and secure, precautions must be instituted throughout it.  A chain is only as strong as its weakest link.
Back to Menu
Primary and Secondary storages
Primary storage:    is main memory

Secondary storage:    Because main emory is too small to accommodate all data and programs, and its data are lost when power is lost, the computer sytem must provide secondary storage to back up main memory.  The main reqirement of secondary storage is to be able to hold large quantities of data permanently.  The most common secondary-storage device is a magnetic  disk, which provides storage of both programs and data.

Back to Menu

Any commends or questions

Email to: dtnguyen@neiu.edu

Chapter 3 - New Vocabulary Page
Created by Doan Nguyen
Last Update March 26, 1999