 |
User
Interface: |
| |
Almost all
operating system have a user interface (UI),
which can take several forms. Command-Line Interface
(CLI) is a user interface, which uses text commands
and methods for entering inputs. Another is
a Batch Interface, in which commands and directives
to control those commands are entered into files,
and those files are executed. The third interface
is a Graphical User Interface (GUI). Here, the
interface is a window system with a pointing
device to direct I/O, choose from menus, and
make selections and a keyboard to enter text.
Some systems provide two or all three of these
variations.
|
|
Program Execution: |
| |
The system
must be able to load a program into memory and
to run that program. The program must be able
to end its execution, either normally or abnormally
(indicating error).
|
 |
I/O Operations: |
| |
A running
program may require I/O, which may involve a
file or an I/O device. For efficiency and protection,
users usually cannot control I/O devices directly,
but special functions are provided by the operating
system to do so.
|
 |
File-System Manipulation: |
| |
File-System
in operating systems allowed programs to create,
delete, read and write files and directories,
search for a given file, and list file information.
It also allows or deny access to files and directories
based on file ownership.
|
 |
Communications: |
| |
There are
many circumstances in which one process needs
to exchange information with another process.
Such communication may occur between processes
that are executing on the same computer or on
different computer systems in a network. Communications
may be implemented via shared memory or through
message passing, in which packets of information
are moved between processes by the operating
system.
|
 |
Error Detection: |
| |
The operating
system needs to be constantly aware of possible
errors. Errors may occur in the CPU and memory,
in I/O devices and in the user program. 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 without any conflicts. There
are different types of resources available in
a system. For allocating CPU to various jobs,
operating systems have CPU scheduling routines
that take into account the speed of the CPU,
the jobs that must be executed, the number of
registers available, and other factors. There
may be different routines for allocating I/O
devices.
|
 |
Accounting: |
| |
Operating
system keeps track of which users use how much
and what kind of computer resources for accumulating
usage statistics. Usage statistics may be a
valuable tool for researchers who wish to reconfigure
the system to improve computing services.
|
 |
Protection and Security: |
| |
The owners
of information stored in a multiuser or networked
computer system may want to control use of that
information. When several separate processes
execute concurrently, it should not be possible
for one process to interfere with the others
or with the operating system itself. Protection
involves ensuring that all access to system
resources is controlled. Security is provided
by proper authentication by means of user-id
and password to gain access to system resources.
|