Operating systems are considered as a vital component of most modern computing environments. An operating system or OS (for short) is actually just software that acts as mediator between the user and the hardware section of the computer (Silberschatz, Galvin and Gagne). Operating systems are built in order to execute user programs and make solving problems easier. For an operating system to reach these, it must utilize the computer hardware in an efficient manner. Modern OS uses multiprogramming in order to acquire this efficiency.
Operating systems offer various services to its users such as user interface, program execution, I/O (input/output) operations, file system manipulations, communications and error detection (Silberschatz, Galvin and Gagne). Almost all operating systems have user interface and ranges from the ever-popular Graphical User Interface (GUI) up to the primitive Command Line Interface (CLI). The program execution service of operating systems indicates that OS must naturally be able to load a program into the memory, run that program and eventually end its execution, whether normally or abnormally.
I/O operations of an OS involve programs that may require inputs and outputs, such as a file or I/O devices, to complete its execution. Another interesting OS service that was mentioned above is the file system manipulation which entails the organizations of files that are read and written in directories. OS must also be able to create or delete these directories, provide search function for files, list file information and manage permissions on these files.
On the other hand, communications service denotes OS processes may exchange information which can happen either within the same computer or with other computers in network. An operating system must be constantly aware of all possible errors that may occur during its operation. This task incorporated in the error detection service of an OS. This service must also provide debugging tools for the users and programmers in order to use the system more efficiently.
Aside from services offered by the OS to the users, another set of OS services is developed to ensure the efficient operation of the system itself via resource sharing: resource allocation, accounting and protection and security (Silberschatz, Galvin and Gagne). Resource allocation service of an operating system comes into picture when there are multiple OS users or when multiple jobs are running concurrently. Resources used must be allocated properly in order to ensure the integrity of the operating system’s operation.
Meanwhile, accounting simply refers to tracking of how much and what kinds of computer resources that an OS user is utilizing. Finally, protection and security service encompasses the control on the information that is used and shared in a multiuser and network computer systems. Protection and security are important considerations in designing an operating system. This paper focuses on this operating system service. There’s a need to examine how secure are the existing operating systems today and the common vulnerabilities that they face.