1. User Interface: All operating systems have a user interface that allows users to communicate with the system.
Three types of user interfaces are available:
a. Command line interface (CLI)
b. Batch interface
c. Graphical user interface (GUI)
2. Program execution: The operating system provides an environment where the user can conveniently run programs. To run a program, the program is loaded into the main memory and then CPU is assigned to that process for its execution. It also performs other important tasks like allocation and deallocation
of memory, CPU scheduling etc. It also provides service to end process execution either normally or abnormally by indicating error.
3. I/O operations: When a program is running, it may require input/output resources such as a file or devices such as printer. For specific devices, special functions may be required such as recording to a CD drive. For efficiency and protection users usually cannot control I/O devices directly. So the operating system provides a service to do I/O.
4. File system manipulation: - Programs may need to read and write data from and to the files and directories. Operating system manages the secondary storage. User gives a command for reading or writing to a file. Operating system makes it easier for user programs to accomplish their task such as opening a file, saving a file and deleting a file from the storage disk. It also provides services for file permission management to allow or deny access to files or directories based on file ownership.
5. Communication: In the system, one process may need to exchange information with another process. Such communication may occur between processes that are executing on different computer systems tied together by a computer network. Communication can be implemented via shared memory or through message passing, in which packets of information are moved between processes by the operating system.
6. Error detection: The operating system needs to be constantly aware of possible errors.
Errors can occur in:
a) CPU and memory hardware such as a memory error or power failure
b) I/O devices such as parity error on tape, a connection failure on a network
or lack of paper in the printer.
c) The user program such as an arithmetic 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. Debugging facilities can greatly enhance the user’s and programmer’s abilities to use the system efficiently.
7. Resource allocation: When there are multiple users or multiple processes running at the same time, resources must be allocated to each of them. Operating system manages resource allocation to the processes. These resources are CPU, main memory, file storage and I/O devices. For maximizing use of CPU, operating system does CPU scheduling. Operating system contains routines to allocate printers, modems, USB storage drives and other peripheral devices.
8. Accounting: Operating system keeps track of usages of various computer resources allocated to users. This accounting is used for reconfiguration of system to improve computing services.
9. Protection & security: Owners of information stored in a multi user or networked computer system want to control use of that information. When several separate processes execute concurrently, one process should not interfere with the other processes or operating system itself. Protection provides controlled access to system resources. Security is provided by user authentication such as password for accessing information.
0 Comments