Unit 5

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

History of the Operating System

Operating System
The operating system is a system program that serves as an interface between the
computing system and the end-user. Operating systems create an environment
where the user can run any programs or communicate with software or applications
in a comfortable and well-organized way.

Furthermore, an operating is a software program that manages and controls the


execution of application programs, software resources and computer hardware. It
also helps manage the software/hardware resource, such as file management,
memory management, input/ output and many peripheral devices like a disk drive,
printers, etc. These are the popular operating system: Linux OS, Windows OS, Mac
OS, VMS, OS/400 etc.

Operating System - Linux


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.

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.

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.
Basic Features

Following are some of the important features of Linux Operating


System.

 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.
Architecture

The following illustration shows the architecture of a Linux system



The architecture of a Linux System consists of the following
layers −

 Hardware layer − Hardware consists of all peripheral devices


(RAM/ HDD/ CPU etc).
 Kernel − It is the core component of Operating System,
interacts directly with hardware, provides low level services
to upper layer components.
 Shell − An interface to kernel, hiding complexity of kernel's
functions from users. The shell takes commands from the
user and executes kernel's functions.
 Utilities − Utility programs that provide the user most of the
functionalities of an operating systems.

Difference between Linux and iOS




1. Linux : Linux is a group of open source Unix-like operating systems which was
developed by Linus Torvalds. It is a packaged of Linux distribution. Some of the
mostly used Linux distribution are Debian, Fedora and Ubuntu. It was basically
written in C language and assembly language. Kernel used in Linux is Monolithic
kernel. The target systems of Linux distributions are cloud computing, embedded
systems, mobile devices, personal computers, servers, mainframe computers and
supercomputers. The first version of Linux was launched in 1991. 2. iOS : iOS is a
mobile operating system which is provided by Apple Incorporation. It is mainly
designed for Apple mobile devices like iPhone and iPod Touch. It was earlier known
as iPhone OS. It is a Unix-like operating systems which is based on Darwin(BSD)
operating system. It is the world’s second most used mobile operating system after
Android. It is mainly written in C, C++, Objective-C, assembly language and Swift.
The first version of iOS was launched in 2007.
Difference between Linux and iOS :
S.No
. LINUX IOS

It was developed by Apple


1. It was developed by Linus Torvalds.
Incorporation.

2. It was launched in 1991. It was launched in 2007.

Its target system types are embedded


systems, mobile devices, personal Its target system types are smartphone,
3.
computers, servers, mainframe music player and tablet computer.
computers and supercomputers.

Computer architectures supported by


Computer architectures supported by
iOS are ARMv8-A (iOS 7-present),
4. Linux are IA-32, x86-64, ARM, PowerPC
ARMv7-A (iPhone OS 3-iOS 10) and
and SPARC.
ARMv6 (iPhone OS 1-iOS 4.2.1).

5. Its kernel type is Monolithic. Its kernel type is Hybrid.

6. Its native APIs are LINUX/POSIX. Its native APIs are Cocoa and BSD-POSIX.

It has preferred license of GNU GPLv2 It has the preferred license of


7.
(kernel). Proprietary, APSL and GNU GPL.

8. The non-native APIs supported through its The non-native APIs are not supported
S.No
. LINUX IOS

subsystems are Mono, Java, Win16 and


through its subsystems.
Win32.

Its update management depends on the Its update management is Software


9.
distribution. Update.

File systems supported by Linux are ext2,


File systems supported by iOS are HFS+
10. ext3, ext4, btrfs, ReiserFS, FAT, ISO 9660,
and APFS.
UDF and NFS.

Virtual Machine: Uses, Working, Examples




A virtual machine also known as a Virtual Machine is defined as a computer resource


that functions like a physical computer and makes use of software resources only
instead of using any physical computer for functioning, running programs, and
deploying the apps. While using Virtual Machine the experience of end-user is the
same as that of when using a physical device. Every virtual machine has its own
operating system and it functions differently as compared to other Virtual Machine
even if they all run on the same host system. A virtual machine has its own CPU,
storage, and memory and can connect to the internet whenever it is required. A virtual
machine can be implemented through firmware, hardware, and software or can be a
combination of all of them. Virtual machine is used in cloud environments as well as
in on-premise environments.
Types of Virtual Machine
There are two different types of virtual machines. They are:
 Process Virtual Machine
 System Virtual Machine
1. Process Virtual Machine: A process virtual machine is defined as a type of virtual
machine that allows only a single process to run as an application on the host system
and provides a platform-independent environment. A process VM gets created once
the process is started and gets destroyed when the process ends. Java Virtual Machine
(JVM) is an example of a process virtual machine that allows any operating system to
run java applications.
2. System Virtual Machine: A system virtual machine is defined as a type of virtual
machine that is fully virtualized to substitute a physical machine. The physical
resources of the host device are shared among the multiple virtual machines. This
process of virtualization depends upon a hypervisor that runs on the top of the
operating system.
Uses of Virtual Machine
Below are the uses of virtual machines:
1. Device Backup: Virtual machines provide file backups as they copy the
existing programs and operating systems. The applications and settings that
are being used on other devices can be backed up with the help of virtual
machines. In case of any issue with the device, it helps to access the prior
versions of the operating system or the applications.
2. Testing: Virtual machines are being used for the purpose of testing for
many use cases such as the beta release of software can be copied for
testing before releasing the final overall versions of the products to the
customers. The test scripts can also be tested through the software and
make sure that everything that is developed works accordingly.
3. Program Development: Virtual machines help to individually develop the
programs. The developers can code the applications in a new environment
with the help of virtual machines. The versions can be directly deployed to
the cloud for other available users if the virtual machine has connections to
the cloud server.
4. Cyber security: The host devices can be used to run the programs if the
live devices have any security-related issues. It helps to protect the data and
devices of the employees in the organizations. Virtual machines are being
used by many cybersecurity professionals for inspecting existing
cybersecurity-related issues.
Working
 Virtualization provides with dedicated software based memory, CPU and
storage.
 The overall process is then done by the hypervisor software.
 According to the need the resources are being moved from the host
towards the guest by the hypervisor. Hypervisor also schedules the
operations in virtual machines in order to avoid the conflicts that can arise
while using the resources.
 As virtual machine is separated from the remaining system, it has no
access to make any unapproved modifications to the host computer
systems.
 This is done for preventing the virtual machines from interfering with the
central operating systems of the host.
Examples
Below are the examples of most widely used virtual machine software:
1. Parallels Desktops: In order to run on Mac devices parallel desktop
software provides with the feature of hardware virtualization for the windows
without performing the process of rebooting. The applications provided by
them are fastest and are most powerful too. It provides with the real time
delivery of data such as consumption statistics and licensing actions. Parallel
desktops supports various platforms such as Windows 11,10,8.1 and 7,
Linux and MacOS. It provides with the feature to switch easily from Mac to
Windows and also has no complex keyboard shortcuts.
2. Citrix Hypervisor: Citrix hypervisor simplifies the overall operational
administration that enables the users to perform complex and intense tasks
in a virtualized environments. Citrix hypervisor is considered as one of the
best VM for Windows 10 operating system. It provides with the secure
environment for accessing and storing the large files. The apps can be
accessed by the users from any device in the public cloud. Citrix hypervisor
provides with the feature for enhanced graphic workloads.
3. Red Hat Virtualization: Red Hat Virtualization is a open-source platform
that provides with a centralized management and enables its users for
creating new virtual machines. It is also used to replicate the existing one for
checking the overall functioning. Red hat virtualization supports various
platforms such as Windows and Linux. It allows integration with the different
systems and provides with very high performance for cloud environments
and Kubernetes.
4. VMware Workstation Player: VMware Workstation Player provides with a
support for various types of operating systems on a single machine. VMware
workstation provides efficient sharing of data between hosts and the guest
systems. The users can acquire a license for the business usage while using
VMware workstation.

You might also like