0% found this document useful (0 votes)
20 views21 pages

Chapter 1

Uploaded by

2405samrudhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views21 pages

Chapter 1

Uploaded by

2405samrudhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Transition from User to Kernel Mode

Process Management

• A process is a program in execution. It is a unit of work within the system. Program is a passive entity, process is an
active entity.
• Process needs resources to accomplish its task
• CPU, memory, I/O, files
• Initialization data

• The operating system is responsible for the following activities in connection with process management:
• Creating and deleting both user and system processes
• Suspending and resuming processes
• Providing mechanisms for process synchronization
• Providing mechanisms for process communication
• Providing mechanisms for deadlock handling
Memory Management
Main memory is a large array of words or bytes. Each word or byte has its own address. Main memory is
the storage device which can be easily and directly accessed by the CPU.

• The operating system is responsible for the following activities in


connection with memory management:
•  Keeping track of which parts of memory are currently being
used by user.
•   Deciding which processes and data to move into and out of
memory.
•   Allocating and deallocating memory space as needed.
Storage Management
• There are three types of storage management
• File system management
• Mass-storage management
• Cache management.
• The operating system is responsible for the following activities in connection with
file management:
•  Creating and deleting files
•  Creating and deleting directories to organize files
•  Supporting primitives for manipulating files and directories
•  Mapping files onto secondary storage  Backing up files on stable (nonvolatile)
storage media
Storage Management
• Most programs—including compilers, assemblers, word processors,
editors, and formatters— are stored on a disk until loaded into
memory and then use the disk as both the source and destination of
their processing. Hence, the proper management of disk storage is of
central importance to a computer system.
• The operating system is responsible for the following activities in
connection with disk management:  Free-space management
•  Storage allocation
•  Disk scheduling
Caching:Caching is an important
principle of computer systems.

As it is used, it is copied into a faster storage system— the cache—as temporary data. When a
particular piece of information is required, first we check whether it is in the cache.

we use the information directly from the cache; if it is not in cache, we use the information
from the source, putting a copy in the cache under the assumption that we will need it again
soon.
Protection and Security
• Protection – any mechanism for controlling access of processes or
users to resources defined by the OS
• Security – defense of the system against internal and external attacks
• Huge range, worms, viruses, identity theft, theft of service
User identities (user IDs, security IDs) include name and associated
number, one per user
Distributed System
• Distributed computiing
• Collection of separate, possibly heterogeneous, systems networked together
• Network is a communications path, TCP/IP most common
• Local Area Network (LAN)
• Wide Area Network (WAN)
• Metropolitan Area Network (MAN)
• Personal Area Network (PAN)
• Network Operating System provides features between systems across
network
• Communication scheme allows systems to exchange messages
• Illusion of a single system
Computing Environments
 Client-Server Computing
 Dumb terminals supplanted by smart PCs
 Many systems now servers, responding to requests generated by
clients Special Purpose Systems
 Compute-server system provides an interface to client to request services (i.e.,
database)
 File-server system provides interface for clients to store and retrieve files
Special Purpose Systems
• Multimedia Systems
Multimedia data consist of audio and video files as well as conventional
files. These data differ from conventional data in that multimedia data
—such as frames of video—must be delivered (streamed) according to
certain time restrictions (for example, 30 frames per second).
• Handheld Systems
OPERATING SYSTEM STRUCTURE:

The structure of an operating system can be defined the


following structures.

• Simple structure

• Layered approach

• Microkernels

• Modules
Simple structure:

The Simple structured operating systems do not have a well-defined


structure. These systems will be simple, small and limited systems.

Example: MS-DOS
o There are four layers that make up the MS-DOS operating system, and
each has its own set of features.
o These layers include ROM BIOS device drivers, MS-DOS device
drivers, application programs, and system programs.
o The MS-DOS operating system benefits from layering because each
level can be defined independently and, when necessary, can interact
with one another.
o If the system is built in layers, it will be simpler to design, manage, and
update. Because of this, simple structures can be used to build
constrained systems that are less complex.
o When a user program fails, the operating system as whole crashes.
o Because MS-DOS systems have a low level of abstraction, programs and
I/O procedures are visible to end users, giving them the potential for
unwanted access.
Layered Structure
Advantages of Layered Structure:
o Work duties are separated since each layer has
its own functionality, and there is some amount
of abstraction.
o Debugging is simpler because the lower layers
are examined first, followed by the top layers.
Disadvantages of Layered Structure:
o Performance is compromised in layered
structures due to layering.
o Construction of the layers requires careful
design because upper layers only make use of
lower layers' capabilities.
Advantages of Micro-Kernel Structure:
MICRO-KERNEL STRUCTURE o It enables portability of the operating system
across platforms.
o Due to the isolation of each Micro-Kernel, it is
reliable and secure.
o The reduced size of Micro-Kernels allows for
successful testing.
o The remaining operating system remains
unaffected and keeps running properly even if a
component or Micro-Kernel fails.
Disadvantages of Micro-Kernel Structure:
o The performance of the system is decreased by
increased inter-module communication.
o The construction of a system is complicated.

This method structures the operating system by removing all nonessential components from the kernel and
implementing them as system and user-level programs thus making the kernel as small and efficient as possible.  The
removed services are implemented as system applications.
Module:
Virtual Machine
Virtual Machine

Virtual machine allows user to install multiple OS in a


computer there by making an illusion that each separate
execution environment is running in its own computer

Host OS is the main OS installed in system and the other


OS installed in the system are called guest OS.

•Host OS: Windows


•Guest OS (VM): Linux running inside VirtualBox
Implementation
• 1. Any Virtual Machine has 2 modes – User mode and Kernel Mode
• 2. The virtual-machine software can run in kernel mode, since it is the
operating system. The virtual machine itself can execute in only user
mode.
• The virtual-machine concept is useful, it is difficult to implement.
Benefits
1.Protection – VM1 will not affect VM2,VM and Host
2.Sharing between VMs- Share file system Volume,Network of
VM(Virtual communication network)
3.OS research and development- Easy for modification
4. Use of developers and testers
Swiggy – Android and IOS
5Efficient System Management
6. Live Migration
7.Ease of Application Management
Vmware Architecture
Java Virtual Machine

Java was designed from the beginning to be platform independent, by running Java only on a Java Virtual
Machine,
Java source code is compiled into Java byte code in .class files. Java byte code is binary instructions that will run
on the JVM.
JVM consists of class loader and Java Interpreter. Class loader loads compiled .class
files from both Java program and Java API for the execution of Java interpreter. Then it
checks the .class file for validity.

You might also like