​​ OPERATING SYSTEM An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.
Features of Operating System (OS) Here is a list important features of OS: Protected and supervisor mode Allows disk access and file systems Device drivers Networking Security Program Execution Memory management Virtual Memory Multitasking Handling I/O operations Manipulation of the file system Error Detection and handling Resource allocation Information and Resource Protection
Following are some of important functions of an operating System. Memory Management Processor Management Device Management File Management Security Control over system performance Job accounting Error detecting aids Coordination between other software and users
Memory Management Memory management refers to management of Primary Memory or Main Memory. Main memory is a large array of words or bytes where each word or byte has its own address. Main memory provides a fast storage that can be accessed directly by the CPU. For a program to be executed, it must in the main memory. An Operating System does the following activities for memory management − Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are not in use. In multiprogramming, the OS decides which process will get memory when and how much. Allocates the memory when a process requests it to do so. De-allocates the memory when a process no longer needs it or has been terminated.
Processor Management In multiprogramming environment, the OS decides which process gets the processor when and for how much time. This function is called process scheduling . An Operating System does the following activities for processor management − Keeps tracks of processor and status of process. The program responsible for this task is known as traffic controller . Allocates the processor (CPU) to a process. De-allocates processor when a process is no longer required.
Device Management An Operating System manages device communication via their respective drivers. It does the following activities for device management − Keeps tracks of all devices. Program responsible for this task is known as the I/O controller . Decides which process gets the device when and for how much time. Allocates the device in the efficient way. De-allocates devices.
File Management A file system is normally organized into directories for easy navigation and usage. These directories may contain files and other directions. An Operating System does the following activities for file management −; Keeps track of information, location, uses, status etc. The collective facilities are often known as file system . Decides who gets the resources. Allocates the resources. De-allocates the resources.
Other Important Activities Following are some of the important activities that an Operating System performs − Security − By means of password and similar other techniques, it prevents unauthorized access to programs and data. Control over system performance − Recording delays between request for a service and response from the system. Job accounting − Keeping track of time and resources used by various jobs and users. Error detecting aids − Production of dumps, traces, error messages, and other debugging and error detecting aids. Coordination between other softwares and users − Coordination and assignment of compilers, interpreters, assemblers and other software to the various users of the computer systems.
Advantage of using Operating System Allows you to hide details of hardware by creating an abstraction Easy to use with a GUI Offers an environment in which a user may execute programs/applications The operating system must make sure that the computer system convenient to use Operating System acts as an intermediary among applications and the hardware components It provides the computer system resources with easy to use format Acts as an intermediator between all hardware's and software's of the system
Disadvantages of using Operating System If any issue occurs in OS, you may lose all the contents which have been stored in your system Operating system's software is quite expensive for small size organization which adds burden on them. Example Windows It is never entirely secure as a threat can occur at any time
TYPES OF OS There are two types of operating system:- Server OS Client OS
SERVER OS A server operating system (OS) is a type of operating system that is designed to be installed and used on a server computer. Examples: Linux, Windows 2016 Some of the key features of a server operating system include Ability to access the server both in GUI and command-level interface Execute all or most processes from OS commands Advanced-level hardware, software and network configuration services Install/deploy business applications and/or web applications Provides central interface to manage users, implement security and other administrative processes Manages and monitors client computers and/or operating systems
Client OS : It is an operating system that operates within desktop. It is used to obtain services from a server. It run on the client devices like laptop, computer and is very simple operating system. Examples: Windows 10 MacOS
Difference between Server OS and Client OS : Server Operating System Client Operating System It can be used to provide services to multiple client. It can obtain services from a server. It can serve multiple client at a time. It serves a single user at a time. It is complex operating system. It is simple operating system. It runs on the server. It runs on the client devices like laptop, computer etc. It is an operating system that is designed to be used on server. It is an operating system that operates within desktop. It provides more security . It provides less security. It has greater processing power. It has less processing power. It is highly efficient . It is less efficient. It is more stable. It is less stable.
UTILITY SOFTWARE These software analyse and maintain a computer. These software are focused on how OS works on that basis it perform task to enable smooth functioning of computer. Some of popular utility software are described below:- Antivirus File Management Tool Compression Tool
Antivirus It is used to protect a computer from the virus. It detects a virus and notify the user and take action to secure the computer. The first antivirus program appeared in 1987 with the introduction of an antivirus program from G Data Software for the Atari ST. Later in the same year, VirusScan was introduced by John McAfee, which later became the McAfee antivirus program. Examples: Windows Defender, AVG, AVAST, MCAFEE etc.
File Management Tool: The software is used to manage files stored in a file system. It can be used to create, group file. Like Windows File Explorer is a file management tool. File system (like FAT32, NTFS) should not be confused with File management tool former is a data structure used to store file in a OS while later is used to perform task on file stored in the file System. Some example of File management Tool are: File Manager in Windows. macOS Finder. Directory Opus. Dolphin in KDE.
Compression Tool: These tool are used to reduce the size of a file based on the selected algorithm. Most operating systems include tools for compressing and uncompressing files.Linux has tools for both .tar.gz and .zip. Other compressed files, like .7z and .rar, require a third-party compression utility to be installed. Some Examples are: WinAce WinZip WinRAR 7-Zip PKZIP
DISK CLEANUP TOOL It is computer utility maintenance which is included in Microsoft Windows. It allows user to remove files that are no longer needed or that can be safely deleted. Disk Cleanup tool can delete temporary internet files, old check disk files, compress old filesand offline webpages. Disk cleanup also allows you to empty the Recycle Bin, delete temporary files, and delete Thumbnails. Some Disk Cleanup software are :- Iolo System mechanic IObit Advanced systemCare Piriform CCleaner Razer Cortex
DISK DEFRAGMENTER: It is a utility in Microsoft Windows designed to increase access speed by rearranging file stored on a disk to ocuppy contiguous storage locations, a technique is called Defragmentation. Some Disk Defragmenter are:- Auslogics Disk Defrag MyDefrag Perfect disk Deflaggler
Compiler, Interpreter, linker, loader Compliler: Is the program that processes the statement written in a particular programming language and turn them into machine language or codes that the computer processor uses. Regardless of the HL Language, all HL programs need to be translated to machine code so that a computer can process the program. Some programs are translated using a compiler. When programs are compiled, they are translated all at once. Compiled programs typically execute more quickly than interpreted programs, but have a slower translation speed.
Assembler: is a program which converts assembly language into machine code. In assembler, a programmer can write a program into sequence of assembler instructions, the sequence of assembler instruction is known as source code and source program.
Interpreter An interpreter is also a program like a compiler that converts assembly language into binary but an interpreter goes through one line of code at a time and executes it and then goes on to the next line of the code and then the next and keeps going on until there is an error in the line or the code has completed. Interpreter is differ from compiler such as. Interpreter is faster than compiler. It contains less memory. Interpreter executes the instructions in to source programming language.
Linker Linker is a program that holds one or more object files which is created by compiler, combines them into one executable file.Linking is implemented at both time,load time and compile time. Compile time is when high level language is turns to machine code and load time is when the code is loaded into the memory by loader. Linker is of two types: 1.Dynamic Linker:- It is implemented during run time. It requires less memory. In dynamic linking there are many chances of error and failure chances. Linking stored the program in virtual memory to save RAM,So we have need to shared library 2.Static Linker:- It is implemented during compilation of source program. It requires more memory. Linking is implemented before execution in static linking. It is faster and portable. In static linking there are less chances to error and No chances to failure.
Loader Loader is a program that loads machine codes of a program into the system memory. It is part of the OS of the computer that is responsible for loading the program. It is the bare beginning of the execution of a program. Loading a program involves reading the contents of executable file into memory. Only after the program is loaded the operating system starts the program by passing control to the loaded program code. All the OS that support loading have loader and many have loaders permanently in their memory.
FOUNDATION OF OS What is an Operating System? A program which controls the execution of all other programs(applications). Acts as an intermediary between the user(s) and the computer. Objectives: – convenience, – efficiency, – extensibility.
Other Types of OS Batch Operating System Time-Sharing Operating System Embedded Operating System Multiprogramming Operating System Network Operating System Distributed Operating System Multiprocessing Operating System Real-Time Operating System
Batch Operating System In Batch Operating System, there is no direct interaction between user and computer. Therefore, the user needs to prepare jobs and save offline mode to punch card or paper tape or magnetic tape. After creating the jobs, hand it over to the computer operator; then the operator sort or creates the similar types of batches like B2, B3, and B4. Now, the computer operator submits batches into the CPU to execute the jobs one by one. After that, CPUs start executing jobs, and when all jobs are finished, the computer operator provides the output to the user.
Time-Sharing Operating System It is the type of operating system that allows us to connect many people located at different locations to share and use a specific system at a single time. The time-sharing operating system is the logical extension of the multiprogramming through which users can run multiple tasks concurrently. Furthermore, it provides each user his terminal for input or output that impacts the program or processor currently running on the system. It represents the CPU's time is shared between many user processes. Or, the processor's time that is shared between multiple users simultaneously termed as time-sharing.
Embedded Operating System The Embedded operating system is the specific purpose operating system used in the computer system's embedded hardware configuration. These operating systems are designed to work on dedicated devices like automated teller machines (ATMs), airplane systems, digital home assistants, and the internet of things (IoT) devices.
Multiprogramming Operating System Due to the CPU's underutilization and the waiting for I/O resource till that CPU remains idle. It shows the improper use of system resources. Hence, the operating system introduces a new concept that is known as multiprogramming. A multiprogramming operating system refers to the concepts wherein two or more processes or programs activate simultaneously to execute the processes one after another by the same computer system. When a program is in run mode and uses CPU, another program or file uses I/O resources at the same time or waiting for another system resources to become available. It improves the use of system resources, thereby increasing system throughput. Such a system is known as a multiprogramming operating system.
Network Operating System A network operating system is an important category of the operating system that operates on a server using network devices like a switch, router, or firewall to handle data, applications and other network resources. It provides connectivity among the autonomous operating system, called as a network operating system. The network operating system is also useful to share data, files, hardware devices and printer resources among multiple computers to communicate with each other.
Types of network operating system Peer-to-peer network operating system : The type of network operating system allows users to share files, resources between two or more computer machines using a LAN.
Client-Server network operating system: It is the type of network operating system that allows the users to access resources, functions, and applications through a common server or center hub of the resources. The client workstation can access all resources that exist in the central hub of the network. Multiple clients can access and share different types of the resource over the network from different locations.
Distributed Operating system A distributed operating system provides an environment in which multiple independent CPU or processor communicates with each other through physically separate computational nodes. Each node contains specific software that communicates with the global aggregate operating system. With the ease of a distributed system, the programmer or developer can easily access any operating system and resource to execute the computational tasks and achieve a common goal. It is the extension of a network operating system that facilitates a high degree of connectivity to communicate with other users over the network.
Multiprocessing Operating System It is the type of operating system that refers to using two or more central processing units (CPU) in a single computer system. However, these multiprocessor systems or parallel operating systems are used to increase the computer system's efficiency. With the use of a multiprocessor system, they share computer bus, clock, memory and input or output device for concurrent execution of process or program and resource management in the CPU.
Real-Time Operating System A real-time operating system is an important type of operating system used to provide services and data processing resources for applications in which the time interval required to process & respond to input/output should be so small without any delay real-time system. For example, real-life situations governing an automatic car, traffic signal, nuclear reactor or an aircraft require an immediate response to complete tasks within a specified time delay. Hence, a real-time operating system must be fast and responsive for an embedded system, weapon system, robots, scientific research & experiments and various real-time objects.
Types of the real-time operating system: Hard Real-Time System These types of OS are used with those required to complete critical tasks within the defined time limit. If the response time is high, it is not accepted by the system or may face serious issues like a system failure. In a hard real-time system, the secondary storage is either limited or missing, so these system stored data in the ROM. Soft Real-Time System A soft real-time system is a less restrictive system that can accept software and hardware resources delays by the operating system. In a soft real-time system, a critical task prioritizes less important tasks, and that priority retains active until completion of the task. Also, a time limit is set for a specific job, which enables short time delays for further tasks that are acceptable. For example, computer audio or video, virtual reality, reservation system, projects like undersea, etc.
Generations of Operating System First Generation :The period of first generation: 1946-1959. Vacuum tube based. Second Generation :The period of second generation: 1959-1965. Transistor based. Third Generation: The period of third generation: 1965-1971. Integrated Circuit based. Fourth Generation :The period of fourth generation: 1971-1980. VLSI microprocessor based. Fifth Generation: The period of fifth generation: 1980-onwards. ULSI microprocessor based.
DOS(DISK OPERATING SYSTEM) DOS was an variant of CP/M (Control Program/Monitor) which ran for the first time on IBM-PC in 1981. It is called so because it resides on Floppy or Hard disk and provides command level interface between user and the computer hardware. The different versions of MS-DOS have evolved over a period of time with Microsoft introducing new features in each new releases. Starting with MS-DOS1.1, the latest version was MS-DOS6.22 released in 1994. There are various versions of DOS like MS-DOS(Microsoft), PC-DOS(IBM), Apple DOS, Dr-DOS etc. Types of DOS command: 1.) Internal DOS command 2.) External DOS command
Internal DOS command These are in built commands of MS-DOS i.e. these are stored in Command interpreter file (COMMAND.COM). These commands reside in the memory as long as the machine is at he system prompt(C:\>) level. Example DATE. TIME. DIR. VER etc
External DOS commands These are separate program (.com) files that reside in DOS directory and when executed behave like commands. These are separate program (.com) files that reside in DOS directory and when executed behave like commands.
BASIC DOS COMMANDS b) File Management Commands : COPY : Copies one or more files from source disk/drive to the specified disk/drive. XCOPY : Copies files and directories, including lower-level directories if they exists. DEL : Removes specified files from specified disk/drive. REN : Changes the name of a file(Renaming). ATTRIB : Sets or shows file attributes (read, write, hidden, Archive). BACKUP : Stores or back up one or more files/directories from source disk/drive to other destination disk/drive. RESTORE : Restores files that were backed up using BACKUP command. EDIT : Provides a full screen editor to create or edit a text file. FORMAT : Formats a disk/drive for data storage and use. a) Directory Commands : DIR : To list all or specific files of any directory on a specified disk. MD : To make directory or subdirectory on a specified disk/drive. CD or CHDIR : Change DOS current working directory to specified directory on specified disk or to check for the current directory on the specified or default drive. RMDIR or RD : Removes a specified sub-directory only when it is empty. This command cannot remove root directory (C:\) or current working directory. TREE : Displays all of the directory paths found on the specified drive. PATH : Sets a sequential search path for the executables files, if the same are not available in the current directory. SUBST : Substitutes a string alias for the pathname and creates a virtual drive .
VIRTUALIZATION OF OPERATING SYSTEM It is also called OS-level virtualization is a type of virtualization technology which work on OS layer. Here the kernel of an OS allows more than one isolated user-space instances to exist. Such instances are called containers/software containers or virtualization engines. In other words, OS kernel will run a single operating system & provide that operating system's functionality to replicate on each of the isolated partitions. USES OF OS VIRTUALIZATION Used for virtual hosting environment. Used for securely allocation of finite hardware resources among a large number of distrusting users. System administrator uses it to integrate server hardware by moving services on separate hosts. To improvised security by separating several applications to several containers. These forms of virtualization don't require hardware to work efficiently.
HOW OS VIRTUALIZATION WORKS Connect to OS Virtualization Server Connect to virtual disk Then connect this virtual disk to the client OS is streamed to the client If further additional streaming is required, it is done
TYPES OF OS VIRTUALIZATION Linux virtualization Windows OS virtualization Linux OS virtualization: To virtualized Linux systems, VMware workstation software is used. To install any software virtually, users need VMware software to install first. To create a virtual machine for Linux OS the steps to be followed are: Double click the VMware to run 1.) Click on "create new Virtual Machine" A window pops up, choose "custom" option and then click Next 2.) The next window appears, 'VM Hardware Compatibility window'; Click on Next button In the guest OS window pane - choose ISO image from the disk or any drive. Browse your ISO image & click Next 3.) A new window pops up waiting for username, password & confirm password to be feed in and then click Next In the processor configuration information, select your precise number of processor per core. If you want to keep the default setting > just ignore selecting and press Next 4.) The next window pops up to let user set memory limits. Put the value and click Next Next window let users set the disk size; then press Next In specify disk file window user can specify the disk file; then click Next 5.) In the last pop up window, click Finish. Now user will see a VMware screen then the OS's installation screen. And the installation will get started.
WINDOWS OS VIRTUALIZATION Users need to install VMware first to install windows OS virtually. After installing such virtualization software the steps to install a new OS are: Click on "create new Virtual Machine" Browse the OS that is to be installed, and click Next Give the product key if required; and click Next In the 'New Virtual Machine Wizard' window; click Next Give it a name & location and click Next The next step will create disk and the user can see the 1st Window screen. Select the version & OS architecture (64 bits or 86 bits) The Installation will be done
Advantages of OS virtualization OS virtualization usually imposes little or no overhead. OS Virtualization is capable of live migration It can also use dynamic load balancing of containers between nodes and a cluster. The file level copy-on-write (CoW) mechanism is possible on OS virtualization which makes easier to back up files, more space-efficient and simpler to cache than the block-level copy-on- write schemes.