OS Unit 5
OS Unit 5
a. Security benefits
b. Scalability
c. Lowered downtime
d. Agility and speed
e. Cost savings
(i)Trap-and-Emulate
(ii)Binary Translation and
(iii)Hardware Assistance
The VMM scans the instruction stream and identifies the privileged, control- and
behavior-sensitive instructions. When these instructions are identified, they are
trapped into the VMM, which emulates the behavior of these instructions. The method
used in this emulation is called binary translation.
● When using this assistance, the guest can use a separate mode of execution called
guest mode.
● The guest code, whether application code or privileged code, runs in the guest
mode.
Para virtualization is the category of CPU virtualization which uses hyper calls
for operations to handle instructions at compile time. In para virtualization, guest OS is
not completely isolated but it is partially isolated by the virtual machine from the
virtualization layer and hardware. VMware and Xen are some examples of para
virtualization.
● Network Virtualization
● Storage Virtualization
● Server Virtualization
● Application Virtualization
● Desktop Virtualization
22. What are the advantages and disadvantages of writing an operating System in a
high-level language, such as C ? (Nov/Dec-2019)
Advantages: The code can be written faster, is more compact, and is easier to
understand and debug. In addition, improvements in compiler technology will improve
the generated code for the entire operating system by simple recompilation.
An operating system is far easier to port — to move to some other hardware — if it is
written in a higher-level language.
Disadvantages: Using high level language for implementing an operating
system leads to a loss in speed and increase in storage requirements. However in
modern systems only a small amount of code is needed for high performance, such as
the CPU scheduler and memory manager.
ANDROID OS
S.No. IOS
IOS was initially released on July 29, Google was initially released on 23
2. 2007 September 2008.
when IOS was released its first version is When Google released its first
3. iPhone OS 1 before named IOS. version of Android 1.0, Alpha.
Latest stable release version: iOS 15.3.1 Latest stable release version:
5. and iPadOS 15.3.1 Android 14
6. Its target system types are smartphones, Its target system types are
ANDROID OS
S.No. IOS
ANDROID OS
S.No. IOS
15. IOS has Siri as Voice Assistant. Google has Google Assistance.
IOS-based devices have the feature of But Google doesn’t block 3rd party
16. blocking 3rd party app stores. app stores.
None on the iPhone 7 and later; lighting have a headphone jack, but some
3.5mm no longer comes with the phone current Android smartphones lack
20. after the iPhone XS. a headphone jack.
efficient use of computing power and allowing different OSes to run on the same
machine.
27. Write the importance of the kernel in the Linux operating system. (Nov/Dec
2024)
The Linux kernel is the central component of the Linux operating
system, acting as the primary interface between the computer hardware and
software processes, managing system resources like memory, CPU, and peripherals,
allowing applications to utilize hardware without directly interacting with it, and
ensuring smooth operation by handling tasks like process management, memory
allocation, and device control - essentially making it the core foundation for the
entire Linux system to function effectively.
PART-B
1. Explain in Detail about History of Virtual machines.
Virtual machines first appeared commercially on IBM mainframes in
1972. Virtualization was provided by the IBM VM operating system. This system
has evolved and is still available. In addition, many of its original concepts are
found in other systems, making it worth exploring.
IBM VM370 divided a mainframe into multiple virtual machines, each running its
own operating system. A major difficulty with the VM approach involved disk
systems. Suppose that the physical machine had three disk drives but wanted to
support seven virtual machines.
It could not allocate a disk drive to each virtual machine. The solution was to
provide virtual disks— termed minidisks in IBM’s VM operating system.
● The minidisks Virtual Machines to the system’s hard disks in all
respects except size. The system implemented each minidisk by
allocating as many tracks on the physical disks as the minidisk needed.
● Once the virtual machines were created, users could run any of the
operating systems or software packages that were available on the
underlying machine. For the IBM VM system, a user normally ran CMS—
a single-user interactive operating system.
2. Discuss in Detail about the Benefits and Features of Virtual machines. (or) Explain
the features of virtual machine and also discuss the architecture in detail.
(April/May 2024)
Several advantages make virtualization is more attractive. Most of them are
fundamentally related to the ability to share the same hardware yet run several
different execution environments (that is, different operating systems) concurrently.
One important advantage of virtualization is that the host system is protected from the
virtual machines, just as the virtual machines are protected from each other.
could cause an error that would destroy the entire file system. Thus, it is
necessary to test all changes to the operating system carefully.
● Furthermore, the operating system runs on and controls the entire
machine, meaning that the system must be stopped and taken out of use
while changes are made and tested. This period is commonly called
system-development time. Since it makes the system unavailable to users,
system-development time on shared systems is often scheduled late at
night or on weekends, when system load is low.
● A virtual-machine system can eliminate much of this latter problem.
System programmers are given their own virtual machine, and system
development is done on the virtual machine instead of on a physical
machine. Normal system operation is disrupted only when a completed
and tested change is ready to be put into production.
● Another advantage of virtual machines for developers is that multiple
operating systems can run concurrently on the developer’s workstation.
This virtualized workstation allows for rapid porting and testing of
programs in varying environments.
● In addition, multiple versions of a program can run, each in its own
isolated operating system, within one system. Similarly, quality assurance
engineers can test their applications in multiple environments without
buying, powering, and maintaining a computer for each environment.
● A major advantage of virtual machines in production data-center use is
system consolidation, which involves taking two or more separate systems
and running them in virtual machines on one system. Such physical-to-
virtual conversions result in resource optimization, since many lightly
used systems can be combined to create one more heavily used system.
● Virtual Machines Consider, too, that management tools that are part of
the VMM allow system administrators to manage many more systems
than they otherwise could. A virtual environment might include 100
physical servers, each running 20 virtual servers.
● Without virtualization, 2,000 servers would require several system
administrators. With virtualization and its tools, the same work can be
managed by one or two administrators. One of the tools that make this
(i)Trap-and-Emulate
On a typical dual-mode system, the virtual machine guest can execute
only in user mode (unless extra hardware support is provided). The kernel, of
course, runs in kernel mode, and it is not safe to allow user-level code to run in
kernel mode.
● Just as the physical machine has two modes, however, so must the
virtual machine. Consequently, we must have a virtual user mode and a
virtual kernel mode, both of which run in physical user mode.
● Those actions that cause a transfer from user mode to kernel mode on a
real machine (such as a system call, an interrupt, or an attempt to
execute a privileged instruction) must also cause a transfer from virtual
user mode to virtual kernel mode in the virtual machine.
● How can such a transfer be accomplished? The procedure is as follows:
When the kernel in the guest attempts to execute a privileged instruction,
that is an error (because the system is in user mode) and causes a trap to
the VMM in the real machine.
● The VMM gains control and executes (or “emulates”) the action that was
attempted by the guest kernel on the part of the guest. It then returns
control to the virtual machine. This is called the trap-and-emulate
method and is shown in Fig 5.1.
Most virtualization products use this method to one extent or other. With
privileged instructions, time becomes an issue. All nonprivileged instructions
run natively on the hardware, providing the same performance
(ii)Binary Translation
Some CPUs do not have a clean separation of privileged and non
privileged instructions. Unfortunately for virtualization implementers, the Intel
x86 CPU line is one of them.
● No thought was given to running virtualization on the x86 when it was
designed. (In fact, the first CPU in the family—the Intel 4004, released in
1971—was designed to be the core of a calculator.) The chip has
maintained backward compatibility throughout its lifetime, preventing
changes that would have made virtualization easier through many
generations.
● Let’s consider an example of the problem. The command popf loads the
flag register from the contents of the stack. If the CPU is in privileged
mode, all of the flags are replaced from the stack. If the CPU is in user
mode, then only some flags are replaced, and others are ignored.
Binary translation is fairly simple in concept but complex in implementation.
The basic steps are as follows:
1. If the guest VCPU is in user mode, the guest can run its instructions natively
on a physical CPU.
2. If the guest VCPU is in kernel mode, then the guest believes that it is running
in kernel mode. The VMM examines every instruction the guest executes in
virtual kernel mode by reading the next few instructions that the guest is going
to execute, based on the guest’s program counter. Instructions other than
special instructions are run natively. Special instructions are translated into a
new set of instructions that perform the equivalent task—for example changing
the flags in the VCPU. Binary translation is shown in Fig 5.2.
3. It is implemented by translation code within the VMM. The code reads native
binary instructions dynamically from the guest, on demand, and generates
native binary code that executes in place of the original code.
The basic method of binary translation just described would execute correctly
but perform poorly. Fortunately, the vast majority of instructions would execute
natively.
● VMware tested the performance impact of binary translation by booting
one such system, Windows XP, and immediately shutting it down while
switch the system to guest mode, passing control of the system to a guest
operating system that is running in the virtual machine.
● In guest mode, the virtualized operating system thinks it is running
on native hardware and sees whatever devices are included in the host’s
definition of the guest.
● The functionality in Intel VT-X is similar, providing root and non root
modes, equivalent to host and guest modes. Both provide guest VCPU
state data structures to load and save guest CPU state automatically
during guest context switches.
● In addition, virtual machine control structures (VMCSs) are provided
to manage guest and host state, as well as the various guest execution
controls, exit controls, and information about why guests exit back to the
host.
● In the latter case, for example, a nested page-table violation caused by
an attempt to access unavailable memory can result in the guest’s exit.
AMD and Intel have also addressed memory management in the virtual
environment. With AMD’s RVI and Intel’s EPT memory management
enhancements, VMMs no longer need to implement software NPTs.
● In essence, these CPUs implement nested page tables in hardware to
allow the VMM to fully control paging while the CPUs accelerate the
translation from virtual to physical addresses. The NPTs add a new layer,
one representing the guest’s view of logical-to-physical address
translation.
● The CPU page-table walking function includes this new layer as
necessary, walking through the guest table to the VMM table to find the
physical address desired. A TLB miss results in a performance penalty,
because more tables must be traversed (the guest and host page tables) to
complete the lookup.
● Shows the extra translation work performed by the hardware to
translate from a guest virtual address to a final physical address. I/O is
another area improved by hardware assistance. Consider that the
standard direct-memory-access (DMA) controller accepts a target memory
address and a source I/O device and transfers data between the two
without operating-system action.
● Without hardware assistance, a guest might try to set up a DMA transfer
that affects the memory of the VMM or other guests. In CPUs that provide
hardware-assisted DMA (such as Intel CPUs with VT-d), even DMA has a
level of indirection.
● First, the VMM sets up protection domains to tell the CPU which
physical memory belongs to each guest. Next, it assigns the I/O devices
to the protection domains, allowing them direct access to those memory
regions and only those regions.
● The hardware then transforms the address in a DMA request issued by
an I/O device to the host physical memory address associated with the
I/O. In this manner DMA transfers are passed through between a guest
and a device without VMM interference. Similarly, interrupts must be
delivered to the appropriate guest and must not be visible to other guests.
● By providing an interrupt remapping feature, CPUs with virtualization
hardware assistance automatically deliver an interrupt destined for a
guest to a core that is currently running a thread of that guest.
● That way, the guest receives interrupts without the VMM’s needing to
intercede in their delivery. Without interrupt remapping, malicious
guests can generate interrupts that can be used to gain control of the
host system. (See the bibliographical notes at the end of this chapter for
more details.)
● In the Intel x86 CPU family, Intel added new virtualization support in
successive generations (the VT-x instructions) beginning in 2005.
Now, binary translation is no longer needed. In fact, all major general-
purpose CPUs are providing extended amounts of hardware support for
virtualization.
● The NPTs add a new layer, one representing the guest’s view of logical-to-
physical address translation. The CPU page-table walking function
includes this new layer as necessary, walking through the guest table to
the VMM table to find the physical address desired.
● A TLB miss results in a performance penalty, because more tables
must be traversed (the guest and host page tables) to complete the
lookup. Translation work performed by the hardware to translate from a
guest virtual address to a final physical address.
● I/O is another area improved by hardware assistance. Consider that the
standard direct-memory-access (DMA) controller accepts a target
memory address and a source I/O device and transfers data between
the two without operating-system action. Without hardware
assistance, a guest might try to set up a DMA transfer that affects the
memory of the VMM or other guests.
● In CPUs that provide hardware-assisted DMA. First, the VMM sets up
protection domains to tell the CPU which physical memory belongs to
each guest. Next, it assigns the I/O devices to the protection domains,
allowing them direct access to those memory regions and only those
regions.
● The hardware then transforms the address in a DMA request issued by an
I/O device to the host physical memory address associated with the I/O.
In this manner DMA transfers are passed through between a guest
and a device without VMM interference. Similarly, interrupts must be
delivered to the appropriate guest and must not be visible to other guests.
● By providing an interrupt remapping feature, CPUs with virtualization
hardware assistance automatically deliver an interrupt destined for a
guest to a core that is currently running a thread of that guest.
● That way, the guest receives interrupts without the VMM’s needing to
intercede in their delivery. Without interrupt remapping, malicious guests
can generate interrupts that can be used to gain control of the host
system.
● The VMM then creates the virtual machine with those parameters. In the
case of a type 0 hypervisor, the resources are usually dedicated. In this
situation, if there are not two virtual CPUs available and unallocated, the
creation request in our example will fail. For other hypervisor types, the
resources are dedicated or virtualized, depending on the type.
● Certainly, an IP address cannot be shared, but the virtual CPUs are
usually multiplexed on the physical CPUs. Similarly, memory
management usually involves allocating more memory to guests than
actually exists in physical memory.
● Finally, when the virtual machine is no longer needed, it can be deleted.
When this happens, the VMM first frees up any used disk space and then
removes the configuration associated with the virtual machine, essentially
forgetting the virtual machine.
● These steps are quite simple compared with building, configuring,
running, and removing physical machines. Creating a virtual machine
from an existing one can be as easy as clicking the “clone” button and
providing a new name and IP address.
● This ease of creation can lead to virtual machine sprawl, which occurs
when there are so many virtual machines on a system that their use,
history, and state become confusing and difficult to track.
firmware and loaded at boot time. In turn, it loads the guest images to run in
each partition.
The feature set of a type 0 hypervisor tends to be smaller than those of the other
types because it is implemented in hardware. For example, a system might be
split into four virtual systems, each with dedicated CPUs, memory, and I/O
devices.
circular buffer shared by the guest and the VMM via shared memory.
Read and write data are placed in this buffer
● For memory management, Xen does not implement nested page tables.
Rather, each guest has its own set of page tables, set to read-only. Xen
requires the guest to use a specific mechanism, a hyper call from the
guest to the hypervisor VMM, when a page-table change is needed.
● This means that the guest operating system’s kernel code must be
changed from the default code to these Xen-specific methods. To optimize
performance, Xen allows the guest to queue up multiple page-table
changes asynchronously via hyper calls and then check to ensure that
the changes are complete before continuing operation.
● Xen allowed virtualization of x86 CPUs without the use of binary
translation, instead requiring modifications in the guest operating
systems like the one described above. Over time, Xen has taken
advantage of hardware features supporting virtualization.
● As a result, it no longer requires modified guests and essentially does not
need the Para virtualization method. Para virtualization is still used in
other solutions, however, such as type 0 hypervisors Shown in Fig 5.5.
● For example, Oracle’s Java has many features that depend on its running
in the Java virtual machine (JVM), including specific methods for security
and memory management. If we define virtualization as including only
duplication of hardware, this is not really virtualization at all.
● But we need not limit ourselves to that definition. Instead, we can define a
virtual environment, based on APIs, that provides a set of features that we
want to have available for a particular language and programs written in
that language. Java programs run within the JVM environment, and the
JVM is compiled to be a native program on systems on which it runs.
● This arrangement means that Java programs are written once and then
can run on any system (including all of the major operating systems) on
which a JVM is available. The same can be said for interpreted languages,
which run inside programs that read each instruction and interpret it into
native operations.
(vii) Emulation
Virtualization is probably the most common method for running
applications designed for one operating system on a different operating system,
but on the same CPU. This method works relatively efficiently because the
applications were compiled for the same instruction set as the target system
uses.
● Emulation can increase the life of programs and allow us to explore old
architectures without having an actual old machine. As may be expected,
the major challenge of emulation is performance. Instruction-set
emulation can run an order of magnitude slower than native instructions.
Here, we answer questions such as these: How do VMMs schedule CPU use
when guest operating systems believe they have dedicated CPUs? How can
memory management work when many guests require large amounts of
memory?
i) CPU Scheduling
A system with virtualization, even a single-CPU system, frequently acts
like a multiprocessor system. The virtualization software presents one or more
virtual CPUs to each of the virtual machines running on the system and then
schedules the use of the physical CPUs among the virtual machines.
● In this situation, the guests act much like native operating systems
running on native CPUs. Of course, in other situations, there may not be
enough CPUs to go around. The VMM itself needs some CPU cycles for
guest management and I/O management and can steal cycles from the
guests by scheduling its threads across all of the system CPUs, but the
impact of this action is relatively minor.
● More difficult is the case of over commitment, in which the guests are
configured for more CPUs than exist in the system. Here, a VMM can use
standard scheduling algorithms to make progress on each thread but can
also add a fairness aspect to those algorithms.
● For example, if there are six hardware CPUs and 12 guest-allocated CPUs,
the VMM could allocate CPU resources proportionally, giving each guest
half of the CPU resources it believes it has.
● The VMM can still present all 12 virtual CPUs to the guests, but in
mapping them onto physical CPUs, the VMM can use its scheduler to
share them appropriately. Even given a scheduler that provides fairness,
any guest operating-system scheduling algorithm that assumes a certain
that re-translates the guest page table to the real page table. The VMM
can use this extra level of indirection to optimize the guest’s use of
memory without the guest’s knowledge or help.
● One approach is to provide double paging, in which the VMM has its own
page-replacement algorithms and pages to backing-store pages that the
guest believes are in physical memory. Of course, the VMM has knows
less about the guest’s memory access patterns than the guest does, so its
paging is less efficient, creating performance problems.
● VMMs do use this method when other methods are not available or are
not providing enough free memory. However, it is not the preferred
approach.
● At the same time, the guest is using its own memory management and
paging algorithms to manage the available memory, which is the most
efficient option. If memory pressure within the entire system decreases,
the VMM will tell the balloon process within the guest to unpin and free
some or all of the memory, allowing the guest more pages for its use.
3. Another common method for reducing memory pressure is for the VMM to
determine if the same page has been loaded more than once. If this is the case,
to the VMM reduces the number of copies of the page to one and maps the other
users of the page to that one copy.
● for example, randomly samples guest memory and creates a hash for each
page sampled. That hash value is a “thumbprint” of the page. The hash of
every page examined is compared with other hashes already stored in a
hash table. If there is a match, the pages are compared byte by byte to see
if they really are identical.
● If they are, one page is freed, and its logical address is mapped to the
other’s physical address. This technique might seem at first to be
ineffective, but consider that guests run operating systems. If multiple
guests run the same operating system, then only one copy of the active
operating-system pages need be in memory.
● Even the standard multi boot method of slicing the root disk into
partitions, installing a boot manager in one partition, and installing each
other operating system in another partition is not sufficient, because
partitioning has limits that would prevent it from working for tens or
hundreds of virtual machines.
● Once again, the solution to this problem depends on the type of
hypervisor. Type 0 hypervisors do tend to allow root disk partitioning,
partly because these systems tend to run fewer guests than other
systems.
● Alternatively, they may have a disk manager as part of the control
partition, and that disk manager provides disk space (including boot
disks) to the other partitions.
● The guest then executes as usual, with the VMM translating the disk I/O
requests coming from the guest into file I/O commands to the correct
files. Frequently, VMMs provide a mechanism to capture a physical
system as it is currently configured and convert it to a guest that the
VMM can manage and run.
● Based on the discussion above, it should be clear that this physicalto-
virtual (P-to-V) conversion reads the disk blocks of the physical system’s
disks and stores them within files on the VMM’s system or on shared
storage that the VMM can access.
(v) Live Migration:
One feature not found in general-purpose operating systems but found in
type 0 and type 1 hypervisors is the live migration of a running guest from one
system to another. We mentioned this capability earlier.
1. The source VMM establishes a connection with the target VMM and confirms
that it is allowed to send a guest.
2. The target creates a new guest by creating a new VCPU, new nested page
table, and other state storage.
3. The source sends all read-only memory pages to the target.
4. The source sends all read-write pages to the target, marking them as clean.
5. The source repeats step 4, as during that step some pages were probably
modified by the guest and are now dirty. These pages need to be sent again and
marked again as clean.
6. When the cycle of steps 4 and 5 becomes very short, the source VMM freezes
the guest, sends the VCPU’s final state, sends other state details, sends the final
dirty pages, and tells the target to start running the guest. Once the target
acknowledges that the guest is running, the source terminates the guest is
shown in fig 5.7.
internet search for iOS, therefore, be prepared to see large numbers of results for
Cisco “iOS which have absolutely nothing to do with Apple “iOS.
visual effects and animation used by the UIKit framework and provides an
Objective-C based programming interface for creation of specialized animation
within iPhone apps.
SQLite library
✔ Allows for a lightweight, SQL based database to be created and
manipulated from within your iPhone application.
System Configuration Framework (SystemConfiguration.framework)
✔ The System Configuration framework allows applications to access the
network configuration settings of the device to establish information about the
“reachability” of the device (for example whether Wi-Fi or cell connectivity is
active and whether and how traffic can be routed to a server).
System (LibSystem)
❖ As we have previously mentioned, iOS is built upon a UNIX-like
foundation. The System component of the Core OS Layer provides much the
same functionality as any other UNIX like operating system. This layer includes
the operating system kernel (based on the Mach kernel developed by Carnegie
Mellon University) and device drivers.
❖ The kernel is the foundation on which the entire iOS platform is built
and provides the low-level interface to the underlying hardware. Amongst other
things, the kernel is responsible for memory allocation, process lifecycle
management, input/output, inter-process communication, thread management,
low level networking, file system access and thread management.
❖ As an app developer your access to the System interfaces is restricted for
security and stability reasons. Those interfaces that are available to you are
contained in a C-based library called LibSystem. As with all other layers of the
iOS stack, these interfaces should be used only when you are absolutely certain
there is no way to achieve the same objective using a framework located in a
higher iOS layer.
10. Write the features of mobile OS. (April/May-2019)
Mobile devices are becoming less about the hardware and more about the
operating system (OS) running atop of it. Here are four of the most important
aspects of a mobile operating system:
1.Speed:
Menus and buttons are about as vital to a mobile experience as much as what
the user can do with them. Impossible is it, to download apps and access the
very things that a device is supposed to allow us to do if the settings and options
to do are as complicated as figuring out quantum physics. It’s the difference
between ‘Open App’ and ‘Begin Using Software Application’. It’s also the
difference between button shapes and if they’re easily noticeable and
understandable.
2. Power to the User:
When it comes to our gadgets, there are few things we enjoy more than a
breadth of options. Given the option to change everything from colour schemes
to simple concepts like being able to change the background image on the device
or to decide how the device greets us on switching it on, usually, the more
options the better.
The developer of the operating system want a completely different design to that
of the user so while simplistic use may be fine for some, allowing them to add
nuts, bolts, screws and brackets to the operating system bracket (besides apps)
could be a great thing.
3. Apps
Smartphones and tablets made such a big splash when they were first
introduced to the market in part because of how wondrous and fantastical were
the devices’ touchscreens, the other reason for the success, is likely down to
apps.
● Eschewing having to load up the device’s built-in web browser to fire up a
website and access it that way, apps make that far easier, often providing
even more features to their browser counterparts.
● In fact, apps are so advanced that you can even download a brand-new
browser to access the Internet on. The only problem is that not every app
is available on every OS.
● As it stands, Apple’s iOS has far more apps listen on its store and some
even have iOS exclusivity so if you want to get your hands on plenty of
applications application, that’s where you should look. So, while ‘quality
over quantity’ is a good mantra to go by, the more apps available on an
operating system, the better.
4. Multi-Tasking
The hardware of a device covers how well and how fast each app or
process on the device runs. It’s responsible for how many crashes an app will
log in a use and what keeps them running as smoothly as possible and, with
your hardware up to the challenge of running all of these apps as they
should, why not take advantage and ask for more of it?
● With devices more and more being used as extensions of offices and
workspaces, it makes sense for them to allow us to run as many things as
we’d want from our laptops and with devices that do that, it’s a wonder
why we’d find much use from computers at all.
Other companies have also created tools that allow for the development of native
iOS apps using their respective programming languages.
12. Explain about Mobile Operating Systems
1. Android OS (Google Inc.)
The Android mobile operating system is Google's open and free software stack
that includes an operating system, middleware and also key applications for use
on mobile devices, including smartphones.
Updates for the open source Android mobile operating system have been
developed under "dessert-inspired" version names (Cupcake, Donut, Eclair,
Gingerbread, Honeycomb, Ice Cream Sandwich) with each new version arriving
in alphabetical order with new enhancements and improvements.
The iOS mobile operating system is available only on Apple's own manufactured
devices as the company does not license the OS for third-party hardware. Apple
iOS is derived from Apple's Mac OS X operating system.
7. Symbian OS (Nokia)
Symbian is a mobile operating system (OS) targeted at mobile phones that offers
a high-level of integration with communication and personal information
management (PIM) functionality. Symbian OS combines middleware with
wireless communications through an integrated mailbox and the integration of
Java and PIM functionality (agenda and contacts).
Nokia has made the Symbian platform available under an alternative, open and
direct model, to work with some OEMs and the small community of platform
development collaborators. Nokia does not maintain Symbian as an open source
development project.
8. webOS (Palm/HP)
WebOS is a mobile operating system that runs on the Linux kernel. WebOS was
initially developed by Palm as the successor to its Palm OS mobile operating
system. It is a proprietary Mobile OS which was eventually acquired by HP and
now referred to as webOS (lower-case w) in HP literature.
HP uses webOS in a number of devices including several smartphones and HP
TouchPads. HP has pushed its webOS into the enterprise mobile market by
focusing on improving security features and management with the release of
webOS 3.x. HP has also announced plans for a version of webOS to run within
the Microsoft Windows operating system and to be installed on all HP desktop
and notebook computers in 2012.
9. Windows Mobile (Windows Phone)
Windows Mobile is Microsoft's mobile operating system used in smartphones
and mobile devices – with or without touchscreens. The Mobile OS is based on
the Windows CE 5.2 kernel.
13. Differentiate the host and the guest Operating system. (Nov/Dec 2024)
Host Operating
Features Guest Operating System System
A host operating
A guest operating system is a piece of system is a piece of
software that runs inside a virtual software that runs on a
computer. computer and connects
Definition with the hardware.
Host Operating
Features Guest Operating System System
It executes directly on
It executes on a virtual machine
Execution the hardware
Host Operating
Features Guest Operating System System
14. Elucidate the architecture of the Linux operating system. (Nov/Dec 2024)
Linux is an open-source UNIX-based operating system. The main component of
the Linux operating system is Linux kernel. It is developed to provide low-cost or free
operating system service to personal system users, which includes an X-window
system, Emacs editor, IP/TCP GUI, etc.
Linux distribution:
Linux distribution is developed using a set of software based on compatibility
with the Linux core kernel, using which Linux-based operations in different systems,
such as personal systems, embedded systems, etc. There are around 600
distributions available.
Some Linux distributions are: MX Linux, Manjaro, Linux Mint, elementary, Ubuntu,
Debian, Solus, Fedora, openSUSE, Deepin
Components of Linux:
Like any operating system, Linux consists of software, computer programs,
documentation, and hardware.
The main components of Linux operating system are: Application, Shell, Kernel,
Hardware, Utilities as shown in figure 5.9.
1. Kernel:
Kernel is the main core component if Linux, it controls the activity of other hardware
components. It visualizes the common hardware resources and provide each process
with necessary virtual resources. It makes the process to wait in the ready queue and
execute in consequently to avoid any kind of conflict.
Different of types of kernel:
1.1. Monolithic Kernel:
Monolithic kernel is a type of operating system kernel, where all the concurrent
processes are executed simultaneously in the kernel itself. All the processes share
same memory recourses.
1.2. Micro kernel:
In micro kernel user services and kernel services are executed in separate address
spaces. User services are kept in user address space and kernel services are kept in
kernel address space.
1.3. Exokernel:
Exo-kernel is designed to manage hardware resources at application level. High level
abstraction is used in this operating system to offer hardware resources access to
kernel.
1. GNU C library: This is the C library that provides the most fundamental system for the
interface and execution of C programs. This provides may in-built functions for the
execution.
2. libpthread (POSIX Threads): This library plays important role for multithreading in
Linux, it allows users for creating and managing multiple threads.
3. libdl (Dynamic Linker): This library is responsible for the loading and linking file at
the runtime.
4. libm (Math Library): This library provides user with all kind of mathematical function
and their execution.
Some other system libraries are: librt (Realtime Library), libcrypt (Cryptographic
Library), libnss (Name Service Switch Library), libstdc++ (C++ Standard Library)
3. Shell:
Shell can be determined as the interface to the kernel, which hides the internal
execution of functions of kernel from the user. Users can just enter the commend and
using the kernel’s function that specific task is performed accordingly.
Different types of shell:
3.1. Command Line shell:
Executes the command provided by user given in the form command. A special
program called terminal in executed and the result is displayed in the terminal itself.
3.2. Graphical User Interface:
Executes the process provided by user in graphical way and output is displayed in the
graphical window. As shown in figure 5.11.
4. Hardware Layer:
Hardware layer of Linux is the lowest level of operating system track. It is plays a vital
role in managing all the hardware components. It includes device drivers, kernel
functions, memory management, CPU control, and I/O operations. This layer
generalizes hard complexity, by providing an interface for software by assuring proper
functionality of all the components.
5. System utility:
System utilities are the commend line tools that preforms various tasks provided by
user to make system management and administration better. These utilities enables
user to perform different tasks, such as file management, system monitoring, network
configuration, user management etc.