Orientation to Computing-I (Lovely Professional University) PDF
Document Details
Uploaded by CommodiousParable
Lovely Professional University
Tags
Summary
These notes provide an introductory overview of computing and operating systems. Key concepts, components, and services of operating system are covered, along with a look at operating systems like windows and linux, as well as virtual machines.
Full Transcript
Orientation to Computing-I L T P :2 0 0 www.lpu.in Lovely Professional University 1 Unit-2 (Operating System) Operating System: Operating Systems and its components, Windows Operating Systems Versions and f...
Orientation to Computing-I L T P :2 0 0 www.lpu.in Lovely Professional University 1 Unit-2 (Operating System) Operating System: Operating Systems and its components, Windows Operating Systems Versions and features, Installation process, Directory Hierarchy of Windows Operating System (single level and multiple level), Bootloader Linux Operating System: Linux OS and its features, Distribution versions, installation process, Directory Hierarchy of Linux System (single level and multiple level). Partitions: Understanding disk partitions and obtaining partition information using system tools, Comparison of windows and Linux OS, Virtual Machines www.lpu.in Lovely Professional University 2 What is an Operating System? What is an Operating system? – A program that acts as an intermediate/ interface between a user of a computer and the computer hardware. – Resource allocator (Managing the resources efficiently) – Control Program Operating system goals: – Execute user programs and make problem solving easier. – Make the computer system convenient to use – Efficiently use available resources An operating system is the one program that is running at all the times on the computer- usually called the kernel. Kernel is a program that (allow) let the hardware to recognize and read the program/process. www.lpu.in Lovely Professional University 4 Computer System Structure Computer system can be divided into four components: – Hardware – provides basic computing resources CPU, memory, I/O devices – Operating system Controls and coordinates use of resources among various applications and users – System/Application programs – define the ways in which the system resources are used to solving user problems Word processors, compilers, web browsers, database systems, video games – Users People, machines, other computers www.lpu.in Lovely Professional University Four Components of a Computer System www.lpu.in Lovely Professional University Difference between System Software and Application Software 7 Application software These programs perform a particular function directly for the users. Some of the common application programs include Email, web browsers, gaming software, word processors, graphics software, media player etc. System software acts as the interface between the application software and hardware of the computer system. Form example Operating system, device drivers. 8 Operating System Services Operating systems provide an environment for execution of programs and services to programs and users. The operating-system provides functions that are helpful to the user are: – User interface - Almost all operating systems have a user interface (UI). Varies between Command-Line (CLI), Graphics User Interface (GUI), touch- screen. – Program execution - The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error) – I/O operations - A running program may require I/O, which may involve a file or an I/O device – File-system manipulation - The file system is of particular interest. Programs need to read and write files and directories, create and delete them, search them, list file Information, permission management. Operating System Services – Communications – Processes may exchange information, on the same computer or between computers over a network Communications may be via shared memory or through message passing (packets moved by the OS) – Error detection – OS needs to be constantly aware of possible errors May occur in the CPU and memory hardware, in I/O devices, in user program For each type of error, OS should take the appropriate action to ensure correct and consistent computing Debugging facilities can greatly enhance the user’s and programmer’s abilities to efficiently use the system Operating System Services Another set of OS functions exists for ensuring the efficient operation of the system itself via resource sharing – Resource allocation - When multiple users or multiple jobs running concurrently, resources must be allocated to each of them Many types of resources - CPU cycles, main memory, file storage, I/O devices. – Protection and security - The owners of information stored in a multiuser or networked computer system may want to control use of that information, concurrent processes should not interfere with each other Protection involves ensuring that all access to system resources is controlled Security of the system from outsiders requires user authentication, extends to defending external I/O devices from invalid access attempts Computer System Organization Computer-system operation – One or more CPUs, device controllers connect through common bus providing access to shared memory – Concurrent execution of CPUs and devices competing for memory cycles www.lpu.in Lovely Professional University Components of Operating System 1. Process Management 2. File Management 3. Network Management 4. Main Memory Management 5. Secondary Storage Management 6. I/O Device Management 7. Security Management 8. Command Interpreter System www.lpu.in Lovely Professional University 13 www.lpu.in Lovely Professional University 14 Process management A program in running state is called a process. A process needs certain resources including CPU time, Memory, Files, and I/O devices to accomplish its task. The process management component manages the multiple processes running simultaneously on the Operating System. 15 16 The operating system is responsible for the following activities in connection with process management: 1. Create, load, execute, suspend, resume, and terminate processes. 2. Switch system among multiple processes in main memory. 3. Provides communication mechanisms so that processes can communicate with each others 4. Provides synchronization mechanisms to control concurrent access to shared data to keep shared data consistent. 5. Allocate/de-allocate resources properly to prevent or avoid deadlock situation. 17 Process life cycle 18 File management A files is a sequence of bits, bytes, lines or records whose meaning is defined by its creator and user. Computers can store information in several different physical forms magnetic tape, disk, and drum are the most common forms. A file is defined as a set of correlated information and it is defined by the creator of the file. Mostly files represent data, source and object forms, and programs. Data files can be of any type like alphabetic, numeric, and alphanumeric. 19 The operating system is responsible for the following activities in connection with file management: File creation and deletion Directory creation and deletion Mapping files onto secondary storage File backup on stable (nonvolatile) storage media 20 www.lpu.in Lovely Professional University 21 I/O Device Management One of the purposes of an operating system is to hide the peculiarities of specific hardware devices from the user. I/O Device Management provides an abstract level of H/W devices and keep the details from applications to ensure proper use of devices, to prevent errors, and to provide users with convenient and efficient programming environment. Following are the tasks of I/O Device Management component: Hide the details of H/W devices Manage main memory for the devices using cache, buffer, and spooling Maintain and provide custom drivers for each device. 22 Network Management Network management is the process of managing and administering a computer network. A computer network is a collection of various types of computers connected with each other. Network management comprises fault analysis, maintaining the quality of service, provisioning of networks, and performance management. 23 Following are the features of network management: Network administration Network maintenance Network operation Network provisioning Network security 24 Main Memory Management Main memory is a large array of storage or bytes, which has an address. The memory management process is conducted by using a sequence of reads or writes of specific memory addresses. Main memory is a volatile storage device which means it loses its contents in the case of system failure or as soon as system power goes down. The main motivation behind Memory Management is to maximize memory utilization on the computer system. 25 The operating system is responsible for the following activities in connections with memory management: Keep track of which parts of memory are currently being used and by whom. Decide which processes to load when memory space becomes available. Allocate and deallocate memory space as needed. 26 www.lpu.in Lovely Professional University 27 Secondary Storage Management Since the main memory is too small to permanently accommodate all data and program, the computer system must provide secondary storage to backup main memory. Most modern computer systems use disks as the principle on-line storage medium, for both programs and data. Most programs, like compilers, assemblers, sort routines, editors, formatters, and so on, are stored on the disk until 28 Today modern computers use hard drives/SSD as the primary storage of both programs and data. However, the secondary storage management also works with storage devices, such as USB flash drives and CD/DVD drives. The operating system is responsible for the following activities in connection with disk management: Free space management 29 HDD VS SSD 30 HDD VS SSD 31 Disk Scheduling 32 Disk Scheduling Algorithms FCFS (First Come First Serve) 33 SSTF (Shortest Seek Time First) 34 www.lpu.in Lovely Professional University 35 36 37 Security Management Security Management refers to a mechanism for controlling the access of programs, processes, or users to the resources defined by a computer. 38 Security Management The various processes in an operating system need to be secured from other activities. Therefore, various mechanisms can ensure those processes that want to operate files, memory CPU, and other hardware resources should have proper authorization from the operating system. Security refers to a mechanism for controlling the access of programs, processes, or users to the resources defined by computer. For example, memory addressing hardware helps to confirm that a process can be executed within its own address space. The time ensures that no process has control of the CPU without renouncing it. www.lpu.in Lovely Professional University 39 Security Management Security can improve reliability by detecting latent errors at the interfaces between component subsystems. Early detection of interface errors can prevent the foulness of a healthy subsystem by a malfunctioning subsystem. An unprotected resource cannot misuse by an unauthorized or incompetent user. www.lpu.in Lovely Professional University 40 Authentication One Time passwords Program Threats System Threats Authentication refers to identifying each user of the system and associating the executing programs with those users. It is the responsibility of the Operating System to create a protection system which ensures that a user who is running a particular program is authentic. Username / Password User attribute - fingerprint/ eye retina pattern/ signature One Time passwords Random numbers Secret key 41 Trojan Horse − Such program traps user login credentials and stores them to send to malicious user who can later on login to computer and can access system resources. Trap Door − If a program which is designed to work as required, have a security hole in its code and perform illegal action without knowledge of user then it is called to have a trap door. Logic Bomb − Logic bomb is a situation when a program misbehaves only when certain conditions met otherwise it works as a genuine program. It is harder to detect. Virus − Virus as name suggest can replicate themselves on computer system. They are highly dangerous and can modify/delete user files, crash systems. A virus is generally a small code embedded in a program. As user accesses the program, the virus starts getting embedded in other files/ programs and can make system unusable for user 42 System Threats System threats refers to misuse of system services and network connections to put user in trouble. System threats can be used to launch program threats on a complete network called as program attack. Worm − Worm is a process which can choked down a system performance by using system resources to extreme levels. A Worm process generates its multiple copies where each copy uses system resources, prevents all other processes to get required resources. Worms processes can even shut down an entire network. Port Scanning − Port scanning is a mechanism or means by which a hacker can detects system vulnerabilities to make an attack on the system. Denial of Service − Denial of service attacks normally prevents user to make legitimate use of the system. For example, a user may not be able to use internet if denial of service attacks browser's content settings. 43 Command Interpreter System One of the most important components of an operating system is its command interpreter. The command interpreter is the primary interface between the user and the rest of the system. Many commands are given to the operating system by control statements. A program that reads and interprets control statements is automatically executed when a new job is started in a batch system or a user logs in to a time-shared system. This program is variously called: The control card interpreter, The command-line interpreter, The shell (in UNIX), and so on. Its function is quite simple, get the next command statement, and execute it. The command statements deal with process management, I/O handling, secondary storage management, main memory management, file system access, protection, and networking. www.lpu.in Lovely Professional University 44 A command interpreter allows the user to interact with a program using commands in the form of text lines. It was frequently used until the 1970’s. However, in modern times many command interpreters are replaced by graphical user interfaces and menu-driven interfaces. Comparison between Command Interpreters and Graphical User Interfaces Command interpreters work on text-based interfaces where the users can type their requests and queries as required and obtain the desired results. In comparison to this, graphical user interfaces contain all the information in visual form where icons, windows etc. can be used to access and manipulate data. Experienced users find command interpreters much more useful as it is faster to type commands and get results. Naive users prefer graphical user interfaces as they are in a pictorial format and easy to use. 45 Command line Interpreter. 46 www.lpu.in Lovely Professional University 47 Windows Operating Systems Versions and features www.lpu.in Lovely Professional University 48 1. Windows 1.0 It was released on November 20, 1985 Pure Operating Environment Used Graphical User Interface Simple Graphics Offered limited multi-tasking was expected to have a better future potential 2. Windows 2.0 It was released on December 9, 1987 16-bit Graphic User Interface (GUI) based operating environment Introduced Control Panel, and the first version of MS Word and Excel Unlike Windows 1.0, it had the capacity to allow applications to overlap each other It was also the last Windows OS which did not require a hard disk Hardware played an important role 49 50 3. Windows 3.0 It was released in 1990 It was better at multitasking Used 8086 microprocessors It has both, conventional and extendable memory Better memory/ storage Note* – None of the above mentioned Windows was Operating Systems. They all came under the category of Windows, working based on a graphical operating environment. It was Windows 95, which was the first Operating System released by Microsoft. www.lpu.in Lovely Professional University 51 4. Window 95 It was the first complete Operating System It was released on August 15, 1995 It merged MS-DOS and Windows products It simplified plug and play features Taskbar and Start menu was introduced with this Windows OS Advanced from 16 bit GUI to 32 bit GUI Long file names could be saved Initially, computers with Windows 95 did not have Internet Explorer installed but by the release date of Windows 95, the first version of Internet Explorer was installed in the software On December 31, 2001, Windows declared this version of OS outdated and ended its support for the same www.lpu.in Lovely Professional University 52 5. Windows 98 It was released to manufacturing on May 15, 1998 It was a 16 bit and 32 bit product based on MS DOS It was not an entirely new version but just a tuned-up version to Windows 95 Internet Explorer 4.01 was released along with this Windows version It did not support USB printers or mass storage devices An update to this version “Windows SE” was released in 1999 www.lpu.in Lovely Professional University 53 6. Windows 2000 It was officially released on February 17, 2000. However, its manufacturing had begun in late 1999 A core set of features was followed for manufacturing Windows 2000 but 4 different editions, targeting different sectors of the market were released. These included: Server, Professional, Advanced Server and Datacenter Server It was considered as one of the most secure OS ever A local disk manager was introduced with these Windows Multilingual User Interface – it supported many different languages www.lpu.in Lovely Professional University 54 7. Windows XP While the manufacturing started on August 24, 2001, the official product was released on October 25, 2001 Advanced portable PC support Automatic wireless connection support Fast start-up Better Graphical User Interface (GUI) Help and support center 8. Windows Vista It was released on January 30, 2007 It had an upgraded version of Graphical User Interface It was the first operating system to use DVD-ROM for installation www.lpu.in Lovely Professional University 55 9. Windows 7 It was released on October 22, 2009 A large number of new features were introduced Redesigned Windows shell with an updated taskbar Incremental upgrade to the Windows line Libraries were added in the file management system A few features from the past Windows were removed Extended hardware support 10. Windows 8 It was released for retail on October 26, 2012 Optimizations for touch-based. Installed in new devices like Laptops, Mobile phones, tablets, etc. Increased integration with cloud services. Windows Store service for software distribution. Task manager had been redesigned New security features were introduced Online Applications could be directly downloaded www.lpu.in Lovely Professional University 56 11. Windows 10 It was released on July 29, 2015 Addresses shortcomings in the user interface first introduced with Windows 8 A virtual desktop system It had the ability to run windows store apps within windows on the desktop rather than in the full-screen mode Included new icons To reduce storage shortcomings, Windows 10 automatically compresses the file size www.lpu.in Lovely Professional University 57 58 Installation process 1. Set up the display environment 2. Erase the primary boot disk 3. Set up the BIOS 4. Install the operating system 5. Install the operating system, update the drivers, and run operating system updates, as necessary. www.lpu.in Lovely Professional University 59 Structures of Directory in Operating System A directory is a container that is used to contain folders and files. It organizes files and folders in a hierarchical manner. 60 Operations Performed on Directory Directory: collection of files or directories A Symbol Table that translates file names into their directory entry. Operations: Search for a file Create a file Delete a file List a directory Rename a file Traverse the file system : Search all directories/ sub directories and files www.lpu.in Lovely Professional University Directory Schemes 1. Single Level Directory One directory many files Single-Level Directory Easy to support and understand. Disadvantage: Limitation: 1.When Difficult to remember number of filesthe name of or increases files whenthe when filessystem increases has 2.more Single directory than for allthen one user, usersNaming problem occurs. All files 3.should have created File names uniqueby names. different users should be different. www.lpu.in Lovely Professional University Two Level In the two-level directory structure, each user has their own user files directory (UFD- User File Directory). The UFDs have similar structures, but each lists only the files of a single user. MFD- Master file directory www.lpu.in Lovely Professional University Advantages: The main advantage is there can be more than two files with same name, and would be very helpful if there are multiple users. A security would be there which would prevent user to access other user’s files. Searching of the files becomes very easy in this directory structure. Disadvantages: As there is advantage of security, there is also disadvantage that the user cannot share the file with the other users. Unlike the advantage users can create their own files, users don’t have the ability to create subdirectories. 64 Tree Structure Tree directory structure of operating system is most commonly used in our personal computers. User can create files and subdirectories too, which was a disadvantage in the previous directory structures. This directory structure resembles a real tree upside down, where the root directory is at the peak. Advantages: 1. This directory structure allows subdirectories inside a directory. 2. The searching is easier. 3. File sorting of important and unimportant becomes easier. 4. This directory is more scalable than the other two directory structures explained. Disadvantages: 5. As the user isn’t allowed to access other user’s directory, this prevents the file sharing among users. 6. As the user has the capability to make subdirectories, if the number of subdirectories increase the searching may become complicated. 7. Users cannot modify the root directory data. 66 Acyclic-Graph Directories As we have seen the above three directory structures, where none of them have the capability to access one file from multiple directories. The file or the subdirectory could be accessed through the directory it was present in, but not from the other directory. This problem is solved in acyclic graph directory structure, where a file in one directory can be accessed from multiple directories. In this way, the files could be shared in between the users. It is designed in a way that multiple directories point to a particular directory or file with the help of links www.lpu.in Lovely Professional University Acyclic-Graph Directories www.lpu.in Lovely Professional University Advantages: 1. Sharing of files and directories is allowed between multiple users. 2. Searching becomes too easy. 3. Flexibility is increased as file sharing and editing access is there for multiple users. Disadvantages: 4. Because of the complex structure it has, it is difficult to implement this directory structure. 5. The user must be very cautious to edit or even deletion of file as the file is accessed by multiple users. 6. If we need to delete the file, then we need to delete all the references of the file inorder to delete it permanently. 69 Directory Implementation Directories need to be fast to search, insert, and delete, with a minimum of wasted disk space. 1 Linear List(using Arrays) A linear list is the simplest and easiest directory structure Finding a file requires a linear search. Deletions can be done by moving all or one entry to vacant position and deleting the pointer. 2 Hash Table A hash table can also be used to speed up searches. Implementation is by using Hash value. (Division/Variant Method) www.lpu.in Lovely Professional University Bootloader A boot loader, also called a boot manager, is a small program that places the operating system (OS) of a computer into memory. When a computer is powered-up or restarted, the basic input/output system (BIOS) performs some initial tests, and then transfers control to the Master Boot Record (MBR) where the boot loader resides. Most new computers are shipped with boot loaders for some version of Microsoft Windows or the Mac OS. If a computer is to be used with Linux, a special boot loader must be installed. www.lpu.in Lovely Professional 71 University Bootloader The two most common boot loaders are known as: – LILO (LInux LOader) and – LOADLIN (LOAD LINux). An alternative boot loader, called GRUB (GRand Unified Bootloader), is used with Red Hat Linux. LILO is the most popular boot loader among computer users that employ Linux as the main, or only, operating system. www.lpu.in Lovely Professional 72 University Bootloader LOADLIN is preferred by some users whose computers have multiple operating systems, and who spend relatively little time in Linux. LOADLIN is sometimes used as a backup boot loader for Linux in case LILO fails. GRUB is preferred by many users of Red Hat Linux, because it is the default boot loader for that distribution. www.lpu.in Lovely Professional 73 University Linux OS and its features Linux is one of popular version of UNIX operating System. It is open source as its source code is freely available. It is free to use. Linux was designed considering UNIX compatibility. Its functionality list is quite similar to that of UNIX. www.lpu.in Lovely Professional University 74 Linux OS and its features Components of Linux System Linux Operating System has primarily three components Kernel − Kernel is the core part of Linux. It is responsible for all major activities of this operating system. It consists of various modules and it interacts directly with the underlying hardware. Kernel provides the required abstraction to hide low level hardware details to system or application programs. System Library − System libraries are special functions or programs using which application programs or system utilities accesses Kernel's features. These libraries implement most of the functionalities of the operating system and do not requires kernel module's code access rights. System Utility − System Utility programs are responsible to do specialized, individual level tasks. www.lpu.in Lovely Professional University 75 Kernel Mode vs User Mode Kernel component code executes in a special privileged mode called kernel mode with full access to all resources of the computer. This code represents a single process, executes in single address space and do not require any context switch and hence is very efficient and fast. Kernel runs each processes and provides system services to processes, provides protected access to hardware to processes. Support code which is not required to run in kernel mode is in System Library. User programs and other system programs works in User Mode which has no access to system hardware and kernel code. User programs/ utilities use System libraries to access Kernel functions to get system's low level tasks. www.lpu.in Lovely Professional University 76 www.lpu.in Lovely Professional University 77 Basic Features Portable − Portability means software can works on different types of hardware in same way. Linux kernel and application programs supports their installation on any kind of hardware platform. Open Source − Linux source code is freely available and it is community based development project. Multiple teams work in collaboration to enhance the capability of Linux operating system and it is continuously evolving. Multi-User − Linux is a multiuser system means multiple users can access system resources like memory/ ram/ application programs at same time. Multiprogramming − Linux is a multiprogramming system means multiple applications can run at same time. Hierarchical File System − Linux provides a standard file structure in which system files/ user files are arranged. Shell − Linux provides a special interpreter program which can be used to execute commands of the operating system. It can be used to do various types of operations, call application programs. etc. Security − Linux provides user security using authentication features like password protection/ controlled access to specific files/ encryption of data. www.lpu.in Lovely Professional University 78 Distribution versions www.lpu.in Lovely Professional University 79 Installation 1. Insert a bootable Linux USB drive 2. Click the start menu 3. Then hold down the SHIFT key while clicking Restart 4. Then select Use a Device 5. Find your device in the list 6. Your computer will now boot Linux 7. Select Install Linux 8. Go through the installation process www.lpu.in Lovely Professional University 80 Linux Directory Structure and File System Hierarchy Dir Description The directory called "root." It is the starting point for the file / system hierarchy. Note that this is not related to the root, or superuser, account. Binaries and other executable /bin programs. /etc System configuration files. /home Home directories. Optional or third party /opt software. Temporary space, typically /tmp cleared on reboot. /usr User related programs. Variable data, most notably log /var files. www.lpu.in Lovely Professional University 81 www.lpu.in Lovely Professional University 82 How to partition a disk in Linux Creating and deleting partitions in Linux is a regular practice because storage devices (such as hard drives and USB drives) must be structured in some way before they can be used. In most cases, large storage devices are divided into separate sections called partitions. Partitioning also allows you to divide your hard drive into isolated sections, where each section behaves as its own hard drive. www.lpu.in Lovely Professional University 83 How to partition a disk in Linux The following explains the process of partitioning a storage device with the parted command. List the partitions: Use parted -l to identify the storage device you want to partition. Typically, the first hard disk (/dev/sda or /dev/vda) will contain the operating system, so look for another disk to find the one you want (e.g., /dev/sdb, /dev/sdc, /dev/vdb, /dev/vdc, etc.). www.lpu.in Lovely Professional University 84 2. Open the storage device: Use parted to begin working with the selected storage device. It is important to indicate the specific device you want to use. If you just type parted with no device name, it will randomly select a storage device to modify. 3. Set the partition table: Set the partition table type to GPT, then type "Yes" to accept it. The mklabel and mktable commands are used for the same purpose (making a partition table on a storage device). The supported partition tables are: aix, amiga, bsd, dvh, gpt, mac, ms-dos, pc98, sun, and loop. Remember mklabel will not make a partition, rather it will make a partition table. www.lpu.in Lovely Professional University 85 4. Review the partition table: Show information about the storage device. 5. Get help: To find out how to make a new partition, type: (parted) help mkpart. 6. Make a partition: To make a new partition (in this example, 1,396MB on partition 0), type the following: (parted) mkpart primary 0 1396MB www.lpu.in Lovely Professional University 86 Comparison of Windows and Linux OS S.NO Linux Windows 1. Linux is a open source operating system. While windows are the not the open source operating system. 2. Linux is free of cost. While it is costly. 3. It’s file name case-sensitive. While it’s file name is case-insensitive. 4. In linux, monolithic kernel is used. While in this, micro kernel is used. 5. Linux is more efficient in comparison of windows. While windows are less efficient. 6. There is forward slash is used for Separating the directories. While there is back slash is used for Separating the directories. 7. Linux provides more security than windows. While it provides less security than linux. 8. Linux is widely used in hacking purpose based systems. While windows does not provide much efficiency in hacking. 9. There are 3 types of user account – There are 4 types of user account – (1) Regular , (2) Root , (3) Service account (1) Administrator , (2) Standard , (3) Child , (4) Guest Administrator user has all administrative privileges of 10. Root user is the super user and has all administrative privileges. computers. Linux file naming convention in case sensitive. Thus, sample In Windows, you cannot have 2 files with the same name in the 11. and SAMPLE are 2 different files in Linux/Unix operating same folder. system. www.lpu.in Lovely Professional University 87 Virtual Machine Making a virtual version of the computer system. 88 Virtualization Virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer network resources. It offers a layer of abstraction between the computing resources and the applications running over it. Few Relevant Terms Virtual Machine: its is a closely detached software device that could run its own operating system and application as if it is running on a physical machine. It contains its own virtual RAM, CPU, Disk, Network etc. Hypervisor: It is a thin layer of software that provides virtual partitioning abilities that run directly on hardware, but underneath higher-level virtualization services. Guest operating system: Operating system running in a VM environment. Virtual machine monitor: this can be a part of hypervisor or can be a separate software entity, that runs between the host operating system and hypervisor. Before Virtualization(x86) There is one OS image pre machine Software and hardware are tightly bound. Multiple application that run on the same machine usually creates complexity Resources are not used optimally Infrastructure is neither flexible nor economically effective After Virtualization(x86) Provisioning of VMs can be done on any system OS and application work as a single unit OS and applications are independent of hardware Terms The host operating system is the original one that provides the environment to run guest operating systems. The main difference between Host and Guest Operating Systems is that the host operating system runs directly on the hardware while the guest operating system runs on the virtual machine. Advantages of VMs Resource utilization and improved ROI: Because multiple VMs run on a single physical computer, customers don’t have to buy a new server every time they want to run another OS, and they can get more return from each piece of hardware they already own. Scale: With cloud computing, it’s easy to deploy multiple copies of the same virtual machine to better serve increases in load. Portability: VMs can be relocated as needed among the physical computers in a network. This makes it possible to allocate workloads to servers that have spare computing power. VMs can even move between on-premises and cloud environments, making them useful for hybrid cloud scenarios in which you share computing resources between your data center and a cloud service provider. Flexibility: Creating a VM is faster and easier than installing an OS on a physical server because you can clone a VM with the OS already installed. Developers and software testers can create new environments on demand to handle new tasks as they arise. Security: VMs improve security in several ways when compared to operating systems running directly on hardware. A VM is a file that can be scanned for malicious software by an external program. You can create an entire snapshot of the VM at any point in time and then restore it to that state if it becomes infected with malware, effectively taking the VM back in 95 time. The fast, easy creation of VMs also makes it possible to completely delete a