Computer Architecture Assignment: Introduction to Operating System
Question
Task:
Create a report on computer architecture assignment that answers all tasks below:
1. Operating Systems and their key functions
• What is an Operating System, brief introduction and evolution?
• Types of Operating Systems
• Introduce and analyse the key and common functions of modern general Operating Systems.
Note: No more than 400 words, images/visuals can be used. Cite 4 or more reference sources.
2. Use of CLI commands in a Windows / Mac OS.
• Document the use of CLI commands using a Windows / Mac OS.
• Give at least two examples with brief explanation and show screenshots.
Note: No more than 350 words. Cite 2 or more reference sources.
3. Use of CLI commands in a Linux OS.
• Document the use of CLI commands using a Linux OS.
• Give at least two examples with brief explanation and show screenshots.
Note: No more than 350 words. Cite 2 or more reference sources.
4. Use of Batch scripts in a Windows / Mac OS.
• Document the use of batch scripts using a Windows / Mac OS.
• Give at least two examples with a brief explanation and show screenshots.
Note: No more than 350 words. Cite 2 or more reference sources.
5. Use of Bash scripts in a Linux OS.
• Document the use of bash scripts using a Linux OS.
• Give at least two examples with a brief explanation and show screenshots.
Note: No more than 350 words. Cite 2 or more reference sources.
Answer
Introduction
The computer architecture assignmentgoes through brief overview of the operating system by explaining what an operating system is. Thereafter it divulges into the evolution of operating system beginning right from the 1940s[5]. The paper then describes the popular types of operating system and their usages. Furthermore, the paper would also include Command Line Interface details on Mac OS and Linux OS. Two examples will be given for each. Batch Script and Bash script for Windows and Linux each would be discussed respectively.
Operating system evolution and types
The operating system (OS) is the hardware’s major and therefore most significant component. Interaction among both user and device is what it does. An operating system's major function is to manage computer resources, schedule operations, handle errors, and audit logs.
• First Generation (1940 to early 1950s)
It was in 1940 that the first digital computer had been invented, which allowed the operator to conduct and solve just simplified math computations without the need for an os[1].
• The Second Generation (1955 - 1965)
In the 1950s, GMOS was the very first platform (OS). An operating system for IBM computers has been created by General Motors. This os system was based on one batch processing technology for the 2nd gen of operating systems.
• The Third Generation (1965 - 1980)
OS designers throughout the late 1960s were quite competent of creating an entirely new os multiprogramming, which was able to carry out several different tasks in parallel[3].
• The Fourth Generation (1980-Present Day)
There has been a significant shift in computing technology that has led to the 4th generation of oses. Apple Macintosh plus Microsoft Windows operating systems were two of the most important factors in the development of desktop computers[4].
The most common type of OS are as follows:
• Operating System for Batches
Users of batch operating systems do not interface directly with said computer when using this method. An offline device like something of a punch card is used by individual users in this sort of operating system to complete and present their work to a computer operator[5].
• Multi-Tasking as well as Time-sharing based Operating systems
Using a time-sharing OS, several users at separate terminals (or shells) can share a single software system. It's called time sharing when CPU time is divided across numerous users.
• Real time OS
An operating system's response time to inputs is extremely short with a real-time operating system. A few examples include of this type of operating systems include military and space software systems.
• Distributed Operating System
Many processors placed on various computers work together in a distributed system in order to provide customers with extremely rapid processing. Virtualization systems are one example.
• Network Operating System
A server is where the Network Operating System (NOS) operates. Data, user groups, authentication, applications, and other networking operations may all be managed using this software platform.
• Mobile OS
Operating systems developed for smartphones, tablet devices, and wearables are known as mobile operating systems (MOSs).
Mac OSX CLI
It is a command line tool that receives text input to perform operating system operations. It is a text-based computer interface. Even as name suggests, this is a software that receives instructions and then passes them on to the computer's operating system for execution. Navigating through the device's files and folders using the command line is much like using Windows Explorer as well as Finder under Mac OS. Because the command line is entirely text-based, there is a noticeable difference. Computer terminals were the sole means of interacting with pcs in the 1960s[6]. Command line input became widespread in Unix systems as well as PC systems with Ms and Macintosh DOS during the late 1970s and early 1980s. Most people today don't utilise command-line interfaces since GUIs have replaced them (CLI). Applications developers and sys admins continue to utilise the command-line interface (CLI) for tasks like configuring systems and installing software. The cli has a lot of power to offer. Programs and scripts may be launched and simple instructions can be combined to perform complex tasks, making it a vital programming tool. Text-based commands including scripts can be executed using the Terminal software on macOS.
Mkdir
Substitutes a new folder for the one that is already open. One should be aware that they can simply create one new folder. The -p argument can be used to set up a tree structure for your folders. For example:
mkdir new-folder
mkdir -p path1/path2/new-folder
Ps -ax
Output the processes that are presently executing. a displays all user processes, while x indicates processes which are not linked to the Terminal[3].
Use of CLI commands in a Linux OS
Some fundamental Linux commands are required if you want to utilise open-source Linux as that of a substitute to Microsoft Windows, which is a low-cost as well as free os that is becoming increasingly popular. The Linux Kernel provides the foundation for a whole series of open-source Unix - based operating systems. There are several prominent Linux distributions like Ubuntu, Centos, Mint and Debian included in this[9]. The correct term is "distributions" or "distributions." Ever since debut of Linux in 1991, the open-source nature of the operating system has led to its sustained popularity. It's open source, so anyone may make changes and republish it according to their own name. However, command-line interfaces (CLIs) are encouraged since they are more efficient and effective. It is possible to do complex tasks in a couple of seconds using the CLI instead of the GUI. In order to instruct a computer programme to carry out a given action, commands must be provided as inputs. Commands can be used to do both simple and complex activities. In Linux, all commands are case-sensitive. You can explore directories, handle files, modify rights, and show information such as disc space by mastering the most fundamental Linux commands. Learning the most often used commands will make it easier for you to carry out operations on the cli.
ls command
It is possible to see the objects of a directory by using the ls command. If you're in a new directory, this function will display entire contents of that directory[2].
Type ls followed by the path to another directory to view its contents. As an example, to examine the contents of Documents, type "ls /home/administrator/Downloads" or lsThels function has a variety of options:
• the items in the subfolder will also be shown using ls -R
• ls -a will reveal all of the hidden files in your system.
• If you want to know more about a file or a directory, you may use a command like ls -al to get more information.
ping command
For checking on current connection with a server, be using the ping command. For instance, the command ping youtube.com will verify if you can link to Google and evaluate the responsiveness to each request.
Windows Batch File
The Command Prompt, typically known as Cmd.exe, has been one of the earliest software applications in Windows. With this command-line tool, Microsoft operating systems have been tweaked for decades. The Command Prompt is intimately related with batch scripts (also referred as.bat files). CMD.exe needs these files to run a command series. You may use and run standard CMD commands using batch files using cmd.exe as the parser and runtime. Whenever constructing a batch file, one may also utilise comments, tags, variables, conditions, as well as queries. One must use the.bat suffix on later Microsoft systems to change text files into batch files. Windows NT as well as OS/2 both used the.cmd file format[8].
As a rule, commands are run sequentially in a batch script. One may write and perform a sequence of command prompt activities using batch scripts. Despite the fact that Windows PowerShell is a far more recent alternative that offers more possibilities, batch scripts could still be beneficial to programmers on modern Windows 10 computers. When it comes to batch scripts, there are a wide variety of applications. Batch scripts may be used to do a wide range of tasks, from altering the titles of all files in a directory to tracking all machines on a network. @echo off is almost always the first line of a batch file. The reason for this is that by default, Windows prints out the command's name (echo) on the screen. Because this is a rare occurrence, putting it on line 1 disables it for the remainder of the file. If, else, and set (variable declaration) operators are provided for usage. Special variables, such as the name, location, and current os version of the currently executing batch file, are again provided. For more complex scripts, the call command may be quite helpful[4].
If we want to save a comprehensive list of all files and folders in a specific directory as a text file, then the batch script would be: @echo off
Rem Listing all the files in the directory Program files
dir "C:\Program Files" > C:\geeks_list.txt
echo "Done!"
The output of above, can be seen below:
:: This batch file would be checking for network connectivity.
ECHO OFF
:: View current network details
ipconfig /all
ping google.com
:: Run a traceroute to check the route to google.com
tracert google.com
PAUSE
The output of above, can be seen below:
Linux Bash
When a job or group of tasks has to be completed, a command-line shell script can be used in place of a full-blown application. Shell scripts are primarily designed to save time by automating repetitive processes. Understanding the fundamental structure of such a shell script is essential since it is through shell scripts that you communicate with a computer cluster. A Linux shell is a programme that accepts commands from the user, processes them, and then displays the results. The user interacts with programmes, instructions, and scripts using this interface. A shell can only be accessed through a terminal that is running the shell. As soon as one opens a terminal and enter something in, the Shell generates a command prompt (typically $), which would then be executed whenever users press Enter. The output or perhaps the result is then shown on the terminal. Unix-like systems have a wide variety of shells to choose from. This includes the Bourne Again Shell (Bash), which comes preinstalled on GNU/Linux computers as the default (Mcgrath, 2018). It has a few benefits over other shells, and we'll teach you how to utilise it for scripting in the following section. The Korn shell (ksh) as well as the C shell have been replaced by the most frequently utilized shell in Linux distributions, bash (csh). The command line is a convenient way to accomplish many tasks in the Linux operating system. Here are a few examples:
• Changing the contents of a file
• Changing the operating system's volume.
• obtaining a list of internet addresses
• Using software to automate routine tasks
Hello World
From the command line, or through a bash file which is saved onto any computer or server, one can launch a bash script[3]. Need to get started by creating a file called test.sh that outputs the message "Hello World" in bash:
nano test.sh
echo "Hello World"
One may save their work by pressing Ctrl+O and then entering the filename as desired. Ctrl+X to exit the nano text editor is all one needs to do.
In order to execute the bash script by using following code once you've done aforementioned:
bash test.sh
Display name in a given format
To start, create a new bash script named input.sh:
nano input.sh
These lines need to be inserted. Displaying a query and asking for an answer are followed by these steps for printing and combining values.
#!/bin/bash
echo "What is Your Name?"
read name
echo "My Name is $name"
Conclusion
The paper went through all the basics of operating system beginning from the definition through its evolution. The key types of operating systems were also summarized. The key takeaway from the research was the capabilities of the Command Lind Interfaces and their commonalities across all operating systems. Furthermore, it went through an even powerful version of CLI which was Batch / Bash scripting that further enhances the capabilities of each.
References
[1] M. Mcgrath, Linux. Warwickshire, United Kingdom: In Easy Steps, 2018.
[2] C. Negus, Linux bible. Indianapolis, In: John Wiley & Sons Inc, 2015.
[3] G. Chapelle, “A practical guide to linux commands, editors, and shell-programming, third edition by Mark G. Sobell,” ACM SIGSOFT Software Engineering Notes, vol. 38, no. 4, pp. 38–38, Jul. 2013, doi: 10.1145/2492248.2492251.
[4] M. G. Sobell, A practical guide to Linux commands, editors, and shell programming. Upper Saddle River, Nj: Prentice Hall, 2010.
[5] A. Murikipudi, V. Prakash, and T. Vigneswaran, “Performance Analysis of Real Time Operating System with General Purpose Operating System for Mobile Robotic System,” Indian Journal of Science and Technology, vol. 8, no. 19, Aug. 2015, doi: 10.17485/ijst/2015/v8i19/77017.
[6] V. Owan, “The Role of Operating System to the Computer/System Communication,” Computer architecture assignmentSSRN Electronic Journal, 2013, doi: 10.2139/ssrn.3194804.
[7] V. Laxkar, P. Lahane, and M. Mhatre, HOD, “Evolution of Operating System,” IJARCCE, vol. 7, no. 8, pp. 60–62, Aug. 2018, doi: 10.17148/ijarcce.2018.7813.
[8] W. Stallings, Operating Systems: internals and design principles. Essex: Pearson Education Limited, 2018.
[9] A. T. Velte, D. R. Glendenning, and TojVelte, Microsoft Windows Vista administration. New York ; London: Mcgraw-Hill, 2007.