Chapter 1
Chapter 1
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.
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:
• Simple structure
• Layered approach
• Microkernels
• Modules
Simple structure:
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
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.