Network Operating Systems
Linux, Shell, Commands, File System, Networking & Cyber Law
- Study time
- 37 min
- Expected marks
- —
- Difficulty
- Average
- Revision status
- —
Subjective Questions
Linux is a popular operating system that runs on the Linux kernel, and it was first developed in 1991 by Linus Torvalds.
Linux Kernel is like the brain of the OS because it manages how it interacts with its hardware and resources. It makes sure everything works smoothly and efficiently.
The name 'Linux' is a combination of Linus and Unix.
Core features of Linux
- Open source and Free — Linux is distributed under the GNU (General Public Licence), which means its source code is freely available for anyone to view, modify and distribute. It can be downloaded from the internet without paying any licence key. Developers use it to customize and make their own OS.
- Security — Linux is more secure in comparison to other OS such as Windows. Every program in Linux, whether an application or a virus, needs authorisation from the admin in the form of a password. Unless the password is typed, the virus won't execute.
- Multi-user — Multiple users can access system resources like memory and programs at the same time without affecting each other. This makes it incredibly powerful for running servers where hundreds of users connect simultaneously.
- Stability — Linux provides high stability and rarely slows down or freezes. Unlike Windows, it does not require rebooting after the installation or uninstallation of software, which is why servers can run on Linux for years without stopping.
- Customization — In Linux, you can customize any feature, add or delete features on the basis of your preference.
- Fast and Easy installation — Linux can be easily installed from the official website or from GitHub. It does not require any pre-requirements and can run on any hardware, even on old systems.
Write exactly 6 features with a heading for each. Always start the answer with the definition line mentioning 1991 and Linus Torvalds.
O-S-M-S-C-F → Open source, Security, Multi-user, Stability, Customization, Fast installation.
Students confuse Linux (the whole OS) with the Linux Kernel (only the core). Never write 'Linux was developed by Unix' — the name is a combination of Linus + Unix.
- 011991, Linus Torvalds
- 02Kernel = brain of OS
- 03GNU GPL = free & open source
- 04Multi-user + high stability
- 05Runs on old hardware
An Internet Protocol (IP) address is a numerical label (address) assigned to each device connected to a computer network that uses the internet protocol for communication.
Every machine working over the internet has a unique number assigned to it, which means no other machine can have the same IP address over the network.
Without an IP address, network protocols (like TCP/IP) would not know where to send the packet of information.
Mention the word 'unique' and give the reason — without it, protocols cannot deliver packets.
IP address = the postal address of a machine. No address, no delivery.
- 01Numerical label for a device
- 02Uses Internet Protocol
- 03Always unique on the network
- 04Needed by TCP/IP to route packets
Network Routing is the process of path selection in any network.
A computer network is made of many machines, called 'nodes', and paths or links that connect these nodes. Communication between two nodes in an interconnected network can take place through many different paths.
To make this efficient, IP Routing evaluates these paths and determines the shortest path for the data to reach its destination. This smart selection decreases network cost and ensures the data is sent in the minimum amount of time.
Two types of routing
- Routing table is updated by the network administrator
- Router sends packets along a fixed, manually defined route
- Ignores current network conditions
- Routing table is automatically updated using routing protocols
- Intelligent technique — router adds a new route for each packet
- Responds to real-time changes in network conditions
Always write both alternate names — Static = Non-adaptive, Dynamic = Adaptive. Examiners look for them.
Static = Stuck (manual). Dynamic = Decides (automatic).
Do not write that static routing 'updates automatically' — that is dynamic routing.
- 01Routing = path selection
- 02Nodes + links, many possible paths
- 03Chooses shortest path, lowers cost
- 04Static = manual / non-adaptive
- 05Dynamic = protocol-based / adaptive
An operating system that provides the connectivity among a number of autonomous computers is called a network operating system.
Network Operating System (NOS) includes special functions for connecting computers and devices into a Local Area Network (LAN) or inter-network.
A typical configuration for a NOS is a collection of personal computers along with a common printer, server and file server for archival storage, all tied together by a local network.
Some popular network operating systems used in industries are Linux, Unix, Windows NT/2000, Sun Solaris and Novell NetWare.
Features of Network Operating Systems
- It allows multiple computers to connect so that they can share data, files and hardware devices seamlessly.
- It provides strict security features such as user authentication, logon restrictions and access control to protect the network.
- It provides remote access to the devices, making server administration much easier.
- It provides core background tasks like file, print, web services and automated backup services.
- It supports internetworking features such as routing and managing WAN ports.
- It detects new hardware automatically whenever it is added to the system.
Name at least three real NOS examples — Linux, Unix, Novell NetWare. Free marks.
NOS = OS + Networking powers (share, secure, remote, services, routing, detect).
- 01Connects autonomous computers
- 02LAN / inter-network functions
- 03Sharing + security + remote access
- 04File, print, web, backup services
- 05Examples: Linux, Unix, Novell NetWare
A shell provides you with an interface to the Linux system. It gathers input from you and executes programs based on that input. When the program finishes, it displays the output of that program.
In short, shell is an environment in which we can run our commands, programs and shell scripts.
The shell is classified into two types: Command line shells (CLI) and Graphical shells (GUI).
Types of command line shells used in Linux
- Default shell for many Linux distributions
- Enhanced version of the original Bourne shell (sh)
- Supports command history, aliases, functions and advanced scripting
- Original shell developed by Stephen Bourne in 1977
- Lightweight and simple
- Lacks advanced features found in Bash
- Designed to let users write shell script programs
- Uses a syntax similar to the C programming language
- An expansion of the C shell
- Has all the same features
- Adds keystrokes from the EMACS processor to edit text on the command line
- Written by David Korn
- Merges features of the C shell, TC shell and Bourne shell in one package
- Lets developers create new shell commands
Model paper asks you to match shells with their developers — memorise: sh → Stephen Bourne, ksh → David Korn, bash → extended sh.
B-S-C-T-K → Bash, SH, C shell, TC shell, Korn shell.
Students confuse Shell, Kernel, CLI and GUI. Kernel = core that talks to hardware. Shell = interface that takes your commands. CLI and GUI are the two forms a shell can take.
- 01Shell = interface to Linux
- 02Two classes: CLI and GUI
- 03Bash = default, extended sh
- 04sh = Stephen Bourne, 1977
- 05ksh = David Korn, merges all
Redirection is defined as the changing way from where commands read input to where commands send output. You can redirect input and output of a command.
The basic workflow of any Linux command is that it takes an input and gives an output.
In standard operation, the default standard input (stdin) device is the keyboard and the default standard output (stdout) device is the screen. With redirections, this default behaviour can be changed to read from or write to files instead.
The Bash shell handles three standard streams
- Standard input (<) — The stdin stream is numbered as 0. Used to feed the contents of an existing file as input into a command. The bash shell takes input from stdin (from keyboard).
- Standard output (>) — The stdout stream is numbered as 1. Used to redirect the output of a command directly into a file instead of printing it on the screen. The bash shell sends output to stdout; output goes to the display.
- Standard error (2>) — The stderr stream is numbered as 2. The bash shell sends error messages to stderr, which can capture error messages and save them to a log file.
Always write the stream numbers 0, 1, 2 along with the symbols <, >, 2>. That is where the marks are.
0 in, 1 out, 2 error — count the streams like a countdown.
- 01Redirection changes input/output source
- 02stdin = 0 = keyboard = <
- 03stdout = 1 = screen = >
- 04stderr = 2 = errors = 2>
- 05Can read from / write to files
Shell commands run on a command line interface (CLI) to interact with the operating system.
To open the CLI in a Linux system, you simply need to open the 'Terminal' application from your system menu, or use the shortcut Ctrl+Alt+T. Once the terminal window opens, the shell is ready to accept and execute your text commands.
I. User related commands
$ whoLists all users currently on the system
$ who am iReports the user name of the command user (who is logged in currently)
II. Directory related commands
$ pwdCheck/find the directory in which the user is currently working
$ lsDisplay a list of files and directories in the current working directory
$ mkdir DirectoryNameCreate a new directory in Linux
$ cd Folder1Change the directory — move into a specified folder or back to home
$ rmdir FolderNameRemove a directory — only if it is completely empty
III. File related commands
$ cat LBL.txtAlso known as 'concatenate' — create single or multiple files, view content of a file or merge files
$ cp file1 file2Copy a file or directory; if the destination has an existing file, it is overwritten
$ mv oldname.txt newName.txtMove a file from one path to another, or rename an existing file
$ rm dust.txtPermanently remove (delete) files from the system
$ grep 'String' filenameSearch the content in a file — prints the matching lines containing the string
$ findFind the files in the hard drive
$ chmod u=rwx,g=r ABC.txtChange the access mode of one or more files — manages read (r), write (w) and execute (x) permissions
IV. Process and general commands
$ ps [option]View the processes the user is running — monitors active background programs
$ kill ProcessIDTerminate a process
$ netstatDisplays the network status
$ echo Hello, How are you?Display a message on the terminal window
$ cal 2009Print a 12 month calendar for a given year
Write the command, one line of purpose and the syntax with the $ prompt. A command without syntax loses half a mark.
rmdir removes only empty folders; rm deletes files permanently. 'grep' = grab a pattern.
Students mix up cp (copy) with mv (move/rename) and use rmdir on non-empty directories.
- 01Terminal: Ctrl+Alt+T
- 02User: who, who am i
- 03Directory: pwd, ls, mkdir, cd, rmdir
- 04File: cat, cp, mv, rm, grep, find, chmod
- 05Process: ps, kill, netstat, echo, cal
Vi editor stands for Visual Editor. Vi Editor is a comprehensive editor provided by the Linux OS.
Vi editor provides three operating modes: Command mode, Insert mode and Replacement mode.
Three operating modes
- The mode in which we open a file
- Keystrokes act as commands to navigate and edit the document
- h, j, k, l move the cursor left, down, up and right; x deletes a character
- Makes it possible to insert characters inside a document
- Switch from command mode by pressing the insert key or the i key
- Whatever you type on the keyboard is entered as normal text
- Allows you to replace existing text
- By pressing the r key you can overwrite specific characters
- Press Esc to return to regular command mode
Mention Esc as the way back to command mode — it is a commonly asked one-liner.
C-I-R → Command, Insert, Replacement. Esc always brings you home.
- 01Vi = Visual Editor
- 02Command mode = default
- 03Insert mode = i key
- 04Replacement mode = r key
- 05Esc returns to command mode
Everything in Linux is considered as a file, even a hard disk or CD-ROM device. All files and directories appear under the root directory (represented with a single /).
We can refer to any file or directory using either a full path (for example /home/usr/file.txt) or a relative path (typing just file.txt if you are already in that folder). Such a storage structure is known as a hierarchical or 'tree' based file system.
In this structure, a directory acts exactly like a folder in Windows and can contain other files and sub-directories. Because hardware devices are also treated as files, a connected hard drive might simply be represented as a file path like /dev/sda within the system.
The model paper MCQ asks the structure type — the answer is Hierarchical. Use the word 'tree based' in your answer.
In Linux, everything is a file — even your hard disk is /dev/sda.
Do not call the Linux file system 'linear' or 'parallel'. It is hierarchical (tree).
- 01Everything is a file
- 02Single root /
- 03Hierarchical / tree structure
- 04Full path vs relative path
- 05Devices as files: /dev/sda
In the Linux File Hierarchy Standard (FHS), all files and directories appear under the main root directory (/).
/├── bootFiles related to the initial booting of the computer├── binCritical executable files such as cat, ls, cp and mount├── devDevice files like hard disks or CD-ROMs├── sbinSimilar to /bin, but programs run only by system administrators├── etcConfiguration files — where core system settings are stored├── libProgram libraries├── mediaMount point for removable media — where a USB drive shows up├── usrMajority of user utilities and applications├── varVariable files such as logs — important for checking system errors└── tmpTemporary filesDraw the tree in the answer sheet. A labelled diagram of / with its sub-directories earns presentation marks.
bin = binaries you use, sbin = super-user binaries, var = variable logs, tmp = temporary.
/bin and /sbin are not the same — /sbin is only for system administrators.
- 01FHS: single root /
- 02boot, bin, dev, sbin
- 03etc = configuration
- 04lib, media, usr
- 05var = logs, tmp = temporary
Cyber law is the legal framework that governs the use of the internet, digital communications and computer technologies (software).
It encompasses a broad range of issues and regulations that address the rights, responsibilities and legal implications of using digital platforms.
Cyber Law is specifically related to the following major areas
- E-commerce and digital transactions — Laws regulating online contracts, electronic signatures and consumer protection in the digital marketplace.
- Intellectual Property — Protection of copyrights, trademarks and patents in the digital environment, including issues like software piracy and digital content distribution.
- Privacy and Data Protection — Regulations regarding the collection, storage, processing and sharing of personal data.
- Cybercrime — Legal provisions to combat offenses such as hacking, identity theft, cyber fraud and the spread of malware or ransomware.
- Internet Governance — Rules and policies that govern how the internet is managed, including domain name disputes and cross-border data flow.
- Jurisdiction and Legal Challenges — Addressing the complexities of legal jurisdiction in a borderless digital environment where actions in one country can affect parties in another.
Write any 5 of the 6 areas with one line each — that is a full 5-mark answer.
E-I-P-C-I-J → E-commerce, Intellectual property, Privacy, Cybercrime, Internet governance, Jurisdiction.
- 01Legal framework for internet & digital tech
- 02E-commerce and digital transactions
- 03Intellectual property + privacy
- 04Cybercrime: hacking, fraud, malware
- 05Internet governance & jurisdiction