The report highlights the essential characteristics and concepts behind a computer system architecture and its components. It broadly classifies the operating system that serves as an environment for the other non-resident programs to execute smoothly on a computer system. Since, after the manufacture of the computer, it’s just a piece of hardware and is unable to do any work on its own. It is difficult for a user to operate and perform any operation on the computer. Thus, this report provides a detailed description of the various operating systems that are either used for enhanced efficiency or a faster computing; both being contrary.
Key functions of general Operating Systems
The operating system could be classified as a set of programs having basically resident and non-resident programmes. The former is also called the supervisor program that is stored in the memory is used to manage the entire operating system while the latter is stored in the disk storage. There are basically three key functions of an operating system which always remains hidden from a user. These functions are as follows.
1. Managing the computer resources
The most basic and one of the key functions of an operating system is to manage all of the interaction between the input and output devices. Perhaps, the operating system is set to control the interaction between these devices which further which determines a computers performance. Some of the devices which the operating system is set to handle are the secondary memory, port controllers and other peripheral devices .
2. Establishing a user interface
One of the core job of an operating system is to provide user interface through which a user performs various actions on a computer. The user interface makes it easy for a person to operate the computer and command it. In modern day computing, the more ease a user interface is able to provide its users, the more popular or better the operating system is considered. Hence, the user interface becomes one of the vital components for a computer in today’s world .
3. Provision and execution of the services for application software
The third most important function of an operating system is that it provides the ability to execute for the application software like the browser application etc. The operating system provide environment for the execution of the application software. It facilitates the interaction between these application software to communicate with the user, so that an action is executed when commanded over these software by a user .
These three are the most basic and the foremost function of an operating system but the function of an operating system is not limited to only these three. These three function are broadly classified in order to mention the most basic or the key importance of an operating system. Some of the other functions of operating system that is performed under the cover are hardware management, program control, data access, system resource management and network communication.
However, different authors have suggest different terms for the core functionalities of an operating system. Hansen, argues that the basic functions of an operating system are store allocation, job scheduling, multiprogramming and program protection . However, Chris mentions that the basic functions of an operating system are managing resources, providing user interface, running applications, providing support for utility programs and controlling computer hardware . Though, the views of various authors remain contradictory, but at a broader scope the basic functions of an operating system is justified as mentioned in this report .
Use of CLI commands in Windows/Mac OS
CLI or the command line input was first introduced in 1960’s where the command line program is fed with text line commands to perform a system function. In the 70’s and 80’s the CLI was used in UNIX operating system to perform operation in personal computers like the Apple DOS and MS-DOS . However, the CLI is still used today by the software developers and admins to interact with the computer in for configuring, accessing and installing features. Since, most of the computers provide Graphical user interface today, which provides a lot of ease for the users to operate a computer. The CLI is still the most powerful way to interact with a computer as a user can see and control all the process through the command line interface that happens behind the scenes .
The screenshot demonstrate how a user can interact with command line interface. Here, the first command that has been given is “date” which gives the current date of the system. Moreover, the date command opts the user for providing a new date, providing which would change the date of the system. The second command is “mkdir” which is used to create or make a directory. The third command used is “cd” which enables the CLI to change directory .
Use of CLI commands in a Linux OS
The Command Line Interface in a Linux OS could be accessed on any UNIX system or UNIX environment. Some of the most basic commands that is used in a Linux CLI are pwd, ls, ls-a etc. The pwd command is use to find which directory is the Command Line Interface is pointing currently. The ls command is used to browse the list of directories and files in the current directory and the ls -a command is used to list all the directories that are currently in the current directory. The ls –a command displays all the hidden directories and files. Some of the commands like the cd and mkdir can be used in a UNIX environment and it performs the same as it performs in a windows command line interface. The cd command is used to change directory while the mkdir command is used to make directory. The command touch is used to create files .
However, all the Linux commands cannot be used in the windows command line interface. Moreover, rm is used to remove all the files and directories, while the rm –r removes just the directory. Hence, a user need to be very careful while using these destructive commands. A user may end up deleting all his data if there is a lack of awareness in using the Linux command line interface . Particularly, while handling system servers for website which basically uses UNIX environment these command should only be used when one is absolutely sure what he is doing. Hence, it is extremely very important to be attentive while using these destructive commands and a user should be able to identify which commands are destructive and which commands are not destructive. Since, the command line interface functions in behind the scenes, a user may not be able to recover his data in case he created a fatal error by using a destructive command in the Linux command line interface .
Use of Batch script in a Windows/Mac OS
The batch file is a text file with a .bat extension at is used to give instructions to command line interface. The job of a batch file is to simply automate the operations that a user has to manually perform repeatedly on his system . Moreover, the batch file has the ability to set system settings or change it completely. This helps a software professional to automate his her repeated operations and minimize the chances of any irreversible mistakes. Furthermore, a batch script can reduce a programmer time to perform certain operations. A batch file can be created by any text editor and it could be simply be executed just by double tapping onto it. The below screenshot demonstrate a simple batch file that has been created to print a message on the command line interface.
In the below screenshot a batch file is created in the notepad, to execute a hello world command. The commands that is given to the notepad were as follows:-
The command @ECHO OFF is used to display the message in a clean line. The ECHO command is used to print the followed text and the pause command is used to keep the display terminal open which is set to close automatically after a batch file is executed . The display terminal executes the batch file as displayed in the below screenshot.
This is a simple example how to execute a batch file in a windows operating system however, a batch file can perform much advance operations like scheduling the system powering on a specific time, or opening a website on its starting or closing a process as soon as it starts and many more. Furthermore, a single batch file could be used to perform multiple operations on a system by writing an advance script in the text editor . Such an advanced script has been shown in the below screenshot where a single batch file is used to display the system information and hardware information together.
Use of Bash scripts in a Linux OS
A bash script contains the series of that a user wants to execute through the command line. A bash file is a UNIX shell that is used by programmes to perform automation, administration and development. The BASH stands for Bourne against shell and is a super set of the shell commands that is extremely powerful in reduction of the time for a programmer. Bash is used to perform calculations such as operation with integers . A bash scripts offers improvements over the shell commands such as the command line editing for execution of the operations, ultimate memory that can contain all the history, provides a better control over a job etc. In the following screenshot a simple bash script which executes hello world command has been displayed. Here with the help of touch command a bash script has been created which sets to execute the hello world command. The editor used to edit the bas script is vim where the bash command echo “Hello world” has been saved. After the bash is called to execute the script which then prints the Hello world using the bash interpreter. Though this is a simple program, the bash script are highly advanced and empowers a system program to program or set up administrative permissions through the bash script where multiple operations could be performed. The bash could be used to perform complex operations such as operating with integrals, performing various operations with those integrals etc. . The bash is commonly now a days used in server side handling where a system programmer sets out rules for the users how to interact with his software or applications.
The report demonstrates the use of CLI on various operating systems. The CLI is a powerful tool to operate a computer since it has been introduced in 1960’s. Software programmers use the command line interface to command the system without interacting with the graphical user interface. This study highlights the use of Command line interface in a GUI environment, Linux environment, execution of batch scripts and execution of bash scripts.