Chapter 5: STORAGE MANAGEMENT Nonvolatile Memory Devices – are electrical
rather than mechanical, such devise is
Storage Management – is defined as it refers to composed of a controller and NAND die
the management of the data storage semiconductor chips. Example is SSD and USB
equipment’s that are used to store the driver.
user/computer generated data.
Volatile Memory Devices – act like a secondary
MASS-STORAGE STRUCTURE storage but are created by device drivers that
1. Hard Disk Drives – a bulk secondary storage carve out a section of the system’s DRAM and
for modern computers. present it to the rest of the system as it if were a
storage device.
Parts of HDD
a. Platter – a circular disk like shape. DRAM – is frequently used as mass-storage
– diameter from 1.8” to 3.5” device. Not technically secondary storage
b. Read-write head – above each platter. because volatile, but can have file systems, be
c. Disk arm – where the head is attached. used like very fast secondary storage.
d. Circular tracks – the surface of a platter.
e. Sectors – subdivided from the tracks. Secondary Storage Connection Methods – a
f. Cylinder – The set of tracks at a given arm secondary storage device is attached to a
position. computer by the system bus or an I/O bus.
Example is USB. Most common connection
RPM – most drives rotate 60-250/s. method is SATA.
Transfer rate – is the rate at which data flown
between the drive and the computer. Host controller – is the controller at the
Positioning/Random-access time – another computer end of the bus.
performance aspect.
Seek time – the time necessary to move the Device controller – is built into each storage
disk arm to the desired cylinder. devices.
Rational Latency – the time necessary for the
desired sector to rotate to the disk head. MAGNETIC TAPES – Was used as an early
secondary-storage medium. Although it is
Head crash – when the head damages the nonvolatile and can hold large quantities of
magnetic surface. Cannot be repaired. data, its access time is slow compared wit that
of main memory drives.
Hard-disk Performance
Transfer Rate = 6Gb/sec | 1Gb/sec HDD SCHEDULING – one of the responsibilities
Latency = 60/RPM of the operating system is to use the hardware
Average latency = ½ Latency efficiently.
Access Latency = Average access time = average
seek time + average latency Bandwidth – is the total number of bytes
Transfer time = data to transfer / transfer rate transferred, divided by the total time between
Average I/O Time = average access time + the first request for service and the completion
transfer time + controller overhead of the last transfer.
FCFS Scheduling – the simplest form of disk Network-Attached Storage (NAS) – provides
scheduling. This algorithm is intrinsically fair, but access to storage across a network. An NAS
generally does not provide the fastest service. device can be either a special-purpose storage
system or a general computer system that
SCAN Scheduling – the disk arm starts at one provides its storage to other hosts across the
end of the disk and moves toward the other network.
end. Also known as elevator algorithm.
Cloud Storage – is one offering from cloud
C-SCAN Scheduling – designed to provide more providers. Similar to network-attached storage,
uniform wait time but it immediately returns to cloud storage provided access to storage across
the beginning of the disk without servicing any a network.
requests on the return trip.
Storage-Area Networks – is a private network
ERROR DETECTION AND CORRECTION connecting servers and storage units. The
Error Detection – determines if a problem has power of SAN lies in its flexibility.
occurred, for example bit flipping.
Checksum – Parity is one form, uses modular Storage Array – is purpose-build device that
arithmetic tom compute, store, compare values includes SAN ports, network ports, or both. It
of fixed-length words. also contains drives to store data and a
controller to manage the storage and allow
STORAGE DEVICE MANAGEMENT access to the storage across networks.
Low-level/physical formatting – before a
storage device can store data, it must be divided RAID STRUCTURE – a variety of disk-
into sectors that the controller can read and organization techniques, collectively called
write. Redundant Arrays of Independent Disks are
commonly used to address the performance
It does so in three steps and reliability.
1. Partition – the device is being partitioned into
one or more groups of blocks or pages. Mirroring – is the simplest approach to
2. Volume – the second step is volume creation introducing redundancy and it is to duplicate
and management. every drive.
3. Logical Formatting – the third step is logical
formatting, or creation of a file system. Standard RAID Levels
• RAID 0 – this configuration has striping
Boot Block – for a computer to start running, for but no redundancy of data. It offers the
instance, when it is powered up or rebooted, it best performance, but it does not
must have an initial program to run. provide fault tolerance.
• RAID 1 – also know as disk mirroring,
STORAGE ATTACHMENT this configuration consists of at least
Host-Attached Storage – is a storage accessed two drives that duplicate the storage of
through local I/O ports. These ports use several data.
technologies, the most common being SATA. • RAID 2 – this configuration uses striping
across disks, with some disks storing
error checking and correcting define a logical storage unit. It is also a named
information. collection of related information that is
• RAID 3 – this technique uses striping recorded on secondary storage.
and dedicates one drive to storing
information. Parity on separating disks. Text file – is a sequence of characters organized
• RAID 4 – this level uses large stripes, into lines
which means a user can read records
from any single drive. Source File – is a sequence of functions, each of
• RAID 5 – this level is based on parity which is further organized as declarations
block-level striping. The parity followed by executable statements.
information is striped across each drive,
enabling the array to function, even if Executable File – is a series of code sections
one drive were to fail. that the loader can bring into memory and
• RAID 6 – this technique is similar to execute.
RAID 5, but it includes a second parity
scheme disturbed across the drives in File Attributes
the array. 1. Name – the symbolic file name is the only
information that support different type files.
Snapshot – is a view of the file system before 2. Identifier – This unique tag, usually a number,
the last update took place. identifies the file within the file system; it is the
nonhuman-readable name for the file
Replication – involves the automatic duplication 3. Type – this information is needed for systems
of writes between separate sites for redundancy that support different types of files.
and disaster recovery. 4. Size – the current size of the file and possibly
the maximum allowed sizes are included in this
FILE-SYSTEM INTERFACE – for most users, the attribute.
file system is the most visible aspect of a 5. Protection –access-control information
general-purpose operating system. determines who can do reading, writing,
executing and so on.
The file system consists of two distinct parts: 6. Time, date, and user identification – this
1. a collection of files, each storing related data. information may be kept or creation, last
2. a directory structure, which organizes and modification, and last use.
provides information about all files in the
system. File Operations
1. Creating a file
File Concept – computers can store information 2. Writing a file
on various storage media, such as NVM devices, 3. Reading a file
HDDs, magnetic tapes and optical disks. So that 4. Repositioning a file
the computer system will be convenient to use, 5. Deleting a file
the operating system provides a uniform logical 6. Truncating a file.
view of store information. 7. Open (Fi)
8. Close (Fi)
File – the operating system abstracts from the
physical properties of its storage devices to
Several pieces of information are associated Library Lib, a , so, dll Libraries of
with an open file routines for
1. File pointer – on systems that d not include a programmers
file offset as part of the read() and write() Print or view Gif, pdf, jpg ASCII or
system calls, the system must track the last binary file in
read-write location as current-file-position a format for
pointer. printing or
viewing
2. File-open count – as files are closed, the
Archive Rar, zip, tar Related files
operating system must reuse its open-file table
grouped into
entries, or it could run out of space in the table. one file,
3. Disk Location of the file – most file sometimes
operations require the system to modify data compressed,
within the file. for archiving
4. Access Rights – each process opens a file in or storage
an access mode. Multimedia Mpeg, mov, Binary file
mp3, mp4, containing or
Shared lock – is akin to a reader lock in that avi A/V
several processes can acquire the lock information
concurrently.
Exclusive lock – behaves like a writer lock; only ACCESS METHODS – File store information.
one process at a time can acquire such a lock When it is used, this information must be
accessed and read into computer memory.
File types
File type Usual Function Sequential Access – the simplest method.
extension Information in the file is process in order, one
Executable Exe,com,bin Ready-to-run record after the other.
machine-
language Direct Access – also known as relative access. a
program. file is made up of fixed-length logical records
Object Obj, o Compiled, that allow programs to read and write records
machine rapidly in no particular order
language, not
linked Relative block number – is an index relative to
Source code C, cc, java, Source codes the beginning of the file.
perl, asm in various
languages
File Sharing – is very desirable for users who
Batch Bat, sh Commands
to the want to collaborate and to reduce the effort
command required to achieve a computing goal.
interpreter
Markup Xml, html, Textual data, Multiple Users – for a directory structure that
tex documents allows file to be shared by users.
Word Xml, rtf, docx Varios word-
processor processor Remote File System – networking allows the
sharing of resources spread across a campus or
even around the world with the evolution of Boot control block – can contain information
network and file technology. needed by the system to boot an operating
• File Transfer Protocol – manually system from that volume.
transferring files between machines
• Distributed File Systems – remote Volume control block – contains volume (or
directories are visible from a local partition) details, such as the number of blocks
machine in the partition, the size of the blocks, a free-
• World Wide Web – a reversion to the block count and a free-block pointers, and a
first and a browser is needed to gain free-FCB count and FCB pointers.
access to the remote files, and separate
operations are used to transfer files. Directory structure – is used to organize the
• Cloud Computing – used a fire sharing files.
as well.
Mount table – contains information about each
FILE-SYSTEM IMPLEMENTATION mounted volume
File-System Structure
Application programs --> logical file system --> System-wide open-file table – contains a copy
file-organizational module --> basic file system -- of the FCB of each open file, as well as other
> I/O control --> devices information.
File System --> provide efficient and convenient Per-process open-file table – contains a pointer
access to the disk by allowing data to be stored to the appropriate entry in the system-wide
located, and retrieved easily. open-file table, as well as other information.
I/O Control – consists of device drivers and A typical FCB
interrupt handlers to transfer information File permission
between the main memory and the disk system. File dates (create, access, write)
File owner, group, ACL
Basic file system – needs only to issue generic File size
commands to the appropriate device driver to File data blocks or pointers to file data blocks
read and write physical blocks on the disk.
I/O SYSTEMS
File-organization module – knows about files Device drivers – present a uniform device
and their logical blocks, as well as physical access interface to the I/O subsystem, much as
blocks. system calls provide a standard interface
between the application and the operating
Logical file system – manages metadata system.
information. Metadata information includes all
of the file-system structure except the actual Common Concept
data. 1. Port – a connection point where a device
communicates with a computer system by
File control block – contains information about sending signals devices are attached and how to
the file, including ownership, permissions, and software can control the hardware.
location of the file contents
2. Bus – a set of wires and rigidly defined Domain structure – each domain defines a set
protocol the specifies a set of messages that can of objects and the types of operations that may
be sent on the wires be invoked on each object.
3. Daisy Chain – an arrangement wherein in
terms of the electronics, the messages are Domain – is a collection of access rights, each of
conveyed by patterns of electrical voltages which is an ordered pair <object-name, rights-
applied to the wires and defined timings, set>
4. Controller – is a set of collection of
electronics that can operate a port, a bus, or a Access rights – the ability to execute an
device. operation on an object.
5. Host adapter – a separate circuit board that
plugs into the computer. It typically contains a The association between a process and a
processor, microcode and some private memory domain may be either static or dynamic.
to enable it process the SCSI protocol messages.
6. Disk Controller – a circuit board attached to Access Matrix – our general model of protection
one side of a disk drive, it implements the disk can be viewed abstractly as a matrix, The rows
side of the protocol for some kind of of the access matrix represent domains, and the
connection. columns represent objects.
Chapter 6: PROTECTION AND SECURITY Implementation of the Access Matrix
1. Global table – the simplest implementation
Difference between protection and security of the access matrix is a global table consisting
Protection – deals with who has access to the of a set of ordered triples <domain, object,
system resources. Internal threats. right-set>.
Security – gives the system access only to 2. Access Lists for Objects – each column in the
authorized users. External threats. access matrix can be implemented as an access
list for one object <domain, right-set>.
PROTECTION 3. Capability Lists for Domains – is a list of
Several reasons to provide protection objects together with the operations followed
1. To prevent mischievous, intentional violation on those objects. Capability is often
of an access restriction by a user. represented by its physical name or address.
2. To improve reliability by detecting latent 4. A lock-key Mechanism – is a compromise
errors at the interfaces between component between access lists and capability lists. Each
subsystems object has a list of unique bit patterns called
3. To provide mechanism for the enforcement of locks. Each domain has a list of unique bit
the policies governing resource use. patterns called keys.
Mechanism – determine how something will be Access Control – can be used on files within a
done file system. Each file and directory is assigned an
owner, a group, or possibly a list of users, and
Policies – decide what will be done. for each of those entities, access-control
information is assigned.
Revocation of Access Rights Security Violation Categories
1. Immediate versus delayed 1. Breach of confidentiality – unauthorized
2. Selective versus general reading of data
3. Partial versus total 2. Breach of integrity – unauthorized
4. Temporary versus permanent modification of data
3. Breach of availability – unauthorized
Schemes that implement revocation for destruction of data
capabilities: 4. Theft of service – unauthorized use of
1. Reacquisition – If a process wants to use a resources
capability, it may find that capability has been 5. Denial of service – prevention of legitimate
deleted. The process may then try to reacquire use
the capability.
2. Back-pointers – a list of pointers is Security Violation Methods
maintained with each object, pointing to all 1. Masquerading – pretending to be an
capabilities associated with that object. authorized user to escalate privileges.
3. Indirection – the capabilities point indirectly, 2. Replay attack – as is or within message
not directly to the objects modification
4. Keys – is a unique bit pattern that can be 3. Man-in-the-middle attack –intruder sits in
associated with a capability. A Master Key is data flow, masquerading as sender to receiver
associated with each object. and vice versa
4. Session hijacking – intercept an already-
Capability-Based Systems established session to bypass authentication.
1. Hydra – provides considerable flexibility. The 5. Privilege escalation – common attack type
system implements a fixed set of possible access with access beyond what a user or resource is
rights including such basic forms of access at the supposed to have.
right to read, write, or execute a memory
segment. Four levels of security measures
2. Cambridge CAP System – is simpler and 1. Physical
superficially less powerful than that of hydra. 2. Human
However, it can be used to provide a secure 3. Operating System
protection of user defined objects. 4. Network
SECURITY – On the other hand, requires not Program Threats
only an adequate protection system but also 1. Trojan Horse – a code-segment that misuses
consideration of the external environment its environment. Example is Spyware.
within which the system operates. 2. Trapdoor – specific user identifier or
password that circumvents normal security
Intruder/Cracker – attempting to breach the procedures.
security. 3. Logic Bomb – is a code embedded in some
Threat – is the potential for a security violation. legitimate program that is set to explode when
Attack – is the attempt to break security. certain conditions are met.
4. Stack and Buffer Overflow – is the most
common way for an attacker outside the
system, on a network, or dial-up connection, to Five Components of Cryptography
gain unauthorized access to the target system. 1. Plaintext – this is what to encrypt
5. Virus – is a fragment of code embedded in a 2. Ciphertext – the encrypted output
legitimate program. Are self-replicating and are 3. Enciphering/Encryption – The process by
designed to infect other programs. which plaintext is converted into ciphertext.
4. Secret Key – is used to set some or all of the
Types of Viruses various parameters used by the encryption
1. File – a standard file virus infects a system by algorithm.
appending itself to a file. 5. Deciphering/Decryption – recovering the
2. Boot – infects the boot sector of the system, ciphertext.
executing every time the system is booted and
before the operating system is loaded. Encryption – is the process of taking some data
3. Polymorphic – changes each time it is and a key and feeding it into a function it into a
installed to avoid detection by antivirus function and getting encrypted data out.
software.
4. Encrypted – includes decryption code along Decryption – is the process of taking encrypted
with the encrypted virus to avoid detection. data and a key and feeding it into a function and
5. Stealth – this virus attempts to avoid getting out the original data.
detection by modifying parts of the system that
could be used to detect it. Two Main Types of Encryption Algorithms
6. Tunneling – this virus attempts to bypass 1. Symmetric Encryption – encryption and
detection by an antivirus scanner by installing decryption algorithm that use the same keys
itself in the interrupt-handler chain. are called symmetric.
7. Multipartite – a virus of this type is able to 2. Asymmetric Encryption – encryption and
infect multiple parts of a system, including boot decryption algorithms that use a key pair are
sectors, memory, and files. called asymmetric.
8. Armored – is coded to make it hard for
antivirus researcher to unravel and understand. Encryption Techniques
1. One-way Function – non-reversible “quick”
System and Network Threats encryption.
1. Worms – is a process that uses the spawn
mechanism to duplicate itself. Authentication – is constraining the set of
2. Port Scanning – is not an attack but rather potential senders of a message.
means for a cracker to detect a system’s
vulnerabilities to attack. Two Main Types of Authentication Algorithms
3. Denial of Service – are aimed not gaining 1. Message-Authentication Code – a
information or stealing resources but rather at cryptograph checksum is generated from the
disrupting legitimate use of a system or facility. message using a secret key.
2. Digital-Signature Algorithm – this the
Cryptography as a Security Tool authenticators thus produced are called Digital
Cryptography – is used to constrain the signatures.
potential senders and/or receivers of a
message.
User Authentication – if a system cannot Personal firewall – is a software layer either
authenticate a user, the authenticating that a included with the operating system or added as
message came from that user is pointless. an application.
Application Firewall – understands the
Passwords – is the most common approach protocols that applications speak across the
used to authenticating a user identity. network.
XML firewall – has the specific purpose of
Password Vulnerabilities – passwords are analyzing XML traffic and blocking disallowed or
extremely common because they are easy to malformed XML.
understand and use. Unfortunately, passwords System-call firewall – sit between applications
can often be guessed, accidently exposed, and the kernel, monitoring system-call
sniffed, or illegally transferred from an execution.
authorized user to an unauthorized one.
Intrusion Detection – detect attempts to
One-Time Passwords intruder into computer systems. Second line of
1. Personal Identification Number (PIN) – the defense. Example is Auditing and Logging.
output of any of these systems shows the one-
time password. Intrusion Types
2. Two-Factor Authentication – it is involved in 1. Doorknob rattling – attack on activity that
one-time password generator that requires can be audited by the system.
input by the user.
Biometrics – Palm or hand-readers are
commonly used to some physical access.
Implementing Security Defences
1. Security Policy – the first step toward
improving the security of any aspect of
computing is to have a security policy.
2. Vulnerability Assessment – a way to
determine whether a security policy has been
correctly implements is to execute a 2. Masquerade attacks
vulnerability assessment.
3. Intrusion Detection – strive to detect
attempted or successful intrusions into
computer systems and to initiate appropriate
responses to the intrusions.
4. Virus Protection – antivirus programs are
often used to provide this protection.
Firewalling to Protect Systems and Networks
Firewall – is a computer, appliance, or router
that sits between the trusted and the untrusted.
Organization of Multiple Processors
1. Shared-memory multiprocessor
2. Message-passing multicomputer – tightly
3. Diversionary attack coupled systems.
3. Wide Area distributed system – loosely-
coupled systems.
Benefits of Using a Multiprocessor
1. Enhance performance
2. Multiple applications
3. Multi-tasking inside an application
4. High throughput and responsiveness
5. Hardware sharing among CPU’s
Advantages of Multiprocessor
4. Coordinated attack 1. Improved performance
2. Better scalability
3. Increased reliability
4. Reduced cost
5. Enhanced parallelism
Disadvantages of Multiprocessor
1. Increased complexity
2. Higher power consumption
3. Difficult programming
5. Chaining 4. Synchronization
5. Limited performance gains
MULTIPROCESSOR HARDWARE
UMA (Uniform Memory Access)
multiprocessors – these are multiprocessors
that have the additional property that every
memory word can be read as fast as every other
memory word.
6. Loop back UMA Multiprocessors with Bus-Based
Architecture – the simplest multiprocessors are
Chapter 7: MULTIPLE PROCESSOR SYSTEMS based on a single bus. Two or more CPUs and
one or more memory modules all use the same
Multiprocessors – a share-memory bus for communication
multiprocessor is a computer system in which
two or more CPU’s share full access to a Cache-coherence protocol – If some other
common RAM. cache has a “dirty” copy, it must either write it
back to memory before the write can proceed
or transfer it directly to the writer over the bus. NUMA (Nonuniform Memory access)
Multiprocessors – do not have the additional
property.
NC-NUMA (Non-Cache-coherent NUMA) –
when the access time to remote memory is not
hidden.
UMA Multiprocessors using Crossbar Switches CC-NUMA (Cache-Coherent NUMA) – when the
– even with the best caching, the use of a single caches are coherent.
bus limits the size of a UMA multiprocessor to
about 16 or 32 CPUs. To go beyond that, a
different kind of interconnection network is
needed. The simplest circuit for connecting n
CPUs to k is the crossbar switch. One of the
nicest properties of the crossbar is that it is a
nonblocking network.
Crosspoint – at each intersection of a horizontal
and vertical line.
Multicore Chips – as chip manufacturing
technology improves, transistors are getting
smaller and smaller and it is possible to put
more and more of them on a chip. This
empirical observation is often called Moore’s
Law. Are sometimes called CMPs (Chip Multi
Processors)
Manycore Chips – are multicores that contains
tens, hundreds or even thousands of cores.
MULTIPROCESSOR OPERATING SYSTEM TYPES
UMA Multiprocessors using a Multistage Each CPU has its own OS
Switching Networks – this switch has two
inputs and two outputs. Messages arriving on
either input line can be switched to either
output line.
Omega network – no-frills, cattle-class Master-Slave Multiprocessors – All system calls
– is a blocking network are redirected to CPU 1 for processing there.
CPU 1 may also run use processes if there is CPU
Perfect shuffle – the writing pattern of the time left over. This model is called master-slave
omega network.
since CPU 1 is the master and the rest are
slaves. CPU-memory pairs are connected by a high-
speed interconnect. This kind of system is called
a message-passing multicomputer.
Advantages of Multicomputer
1. Improved performance
2. Better scalability
3. Increased reliability
Symmetric Multiprocessors – eliminates this 4. Reduced cost
asymmetry. There is one copy of the operating 5. Enhanced parallelism
system in memory, but any CPU can run it.
When a system call is made, the CPU on which Disadvantages of Multicomputer
the system call was made traps to the kernel 1. Increased complexity
and processes the system call. 2. Higher power consumption
3. Difficult programming
4. Synchronization issues
5. Network latency
MULTICOMPUTER HARDWARE
MULTICOMPUTER Interconnection Technology – each node has a
A Multicomputer system is a computer with network interface card with one or two cables
multiple processors that are connected together coming out of it. These cables connect either to
to solve a problem. other nodes or to switches
Multicomputer – which are tightly coupled
CPUs that do not share memory. Each one has
its own memory, and it is accessible by that
particular processor and those processors can
communicate with each other via an
interconnection network.
Switching schemes are used in multi
computers.
1. Packet – wherein each message is first broken
up into a chunk of some maximum length.
2. Store-and-forward packet switching –
consists of the packet being injected into the
first switch by the source node’s network
interface board.
DISTRIBUTED SYSTEM – is a collection of Load balancing – heuristic algorithms
processors that do not share memory or a clock.
Instead, each node has its own local memory.
These nodes communicate with one another
through various networks, such as high-speed
buses and the internet.
Distributed Shared memory
a. an overloaded node looking for a lightly
loaded node to hand off process to.
b. an empty node looking for work to do.
There are four major reasons for building
distributed systems
1. Resource Sharing
2. Computation Speedup
a. the hardware 3. Reliability
b. the OS 4. Communication
c. user-level software
DSM Memory Distribution Middleware – is to have a layer of software on
top of the operating system.
Different Types of Middleware
1. Document-based
a. pages of the address space distributed among
four machines
b. situation after CPU 1 references page 10.
c. situation of page 10 is read only replication is
used.
2. File system-based Node All shared Shared Full set
a. the upload/download model peripherals exc, per node
maybe
disk
Location Same rack Same Possibly
room worldwid
-e
Internode Shared Dedicated Tradition-
communic RAM interconne al
ation -ct network
Operating One, Multiple, Possibly
systems shared same all
different.
File One, One, Each
b. the remote access model systems shared shared node has
own
Administra One One Many
tion organizatio organizatio organizati
n n ons
NETWORK HARDWARE
Networks come in two major varieties:
1. LANs (Local Area Networks) – which cover a
building or a campus. Most important kind is
ethernet.
2. WANs (Wide Area Networks) – which can
3. Shared object-based citywide, countrywide, or worldwide. The most
4. Coordination-based important example is the internet.
Ethernet – consists of a coaxial cable to which a
number of computers are attached. In reference
to Luminiferous ether.
Protocol – is a set of rules by which particular
computers communicate.
A comparison of three kinds of multiple CPU
systems.
Item Multiproce Multicomp Distribut
ssor uter ed
system
Node CPU CPU, RAM, Complete
configurati net Compute
on interface r
Network Interface Packet Headers
The Internet – evolved from the ARPANET, The
VIRTUAL MACHINES – guest operating systems
ARPANET grew rapidly in the 1970s, eventually
and applications run in an environment that
encompassing hundreds of computers. Then a
appears to be them to be native hardware and
packet radio network, a satellite network, and
behaves toward them as native hardware would
eventually thousands of Ethernets were
but also protects, manages, and limits them.
attached to it, leading to the federation of
networks we now know as the Internet.
Several components of VM
1. Host – underlying hardware system.
2. Virtual Machine Manager or Hypervisor –
creates and runs VM by providing interface that
Is identical to host.
3. Guest – process provided with virtual copy of
the host
Types of Hypervisors
1. Type 0 hypervisors – hardware-based
solutions that provide support for virtual
Internet consists of two kinds of computers machine creation and management via
1. Hosts – are PC’s firmware.
2. Routers – are specialized switching 2. Type 1 hypervisors – operating-system-like
computers that accept incoming packets on one software built to provide virtualization. Also
of many incoming lines and send them on their includes general-purpose operating systems
way along one of many outgoing lines. that provide standard functions as well as VMM
functions.
Network Services
3. Type 2 hypervisors – applications that run on applications to leverage the capabilities of the
standard operating systems but provide VMM underlying system.
features to guest operating systems.
Special-purpose systems refer to systems
designed for specific tasks or industries, often
requiring custom interfaces to interact with
them.
INTERFACING TO OPERATING SYSTEMS
System Models User Interface– is the aggregate of means b
which people interact with a particular machine,
device, computer program or other complex
tool.
Command-Line interface (CLI) – uses text
commands and a method for entering them. It
provides a command-line interface, or
command interpreter, that allows users to
directly enter commands to be performed by
the operating system.
On systems with multiple command interpreters
Paravirtualization – technique in which the
to choose from, the interpreters are known as
guest operating system is modified to work in
shells.
cooperation with the VMM to optimize
performance.
Graphical User Interface (GUI) – is the most
commonly used user interface. The interface is a
Programming-environment virtualization – in
window system with a pointing device to direct
which VMMs do not virtualize real hardware but
I/O, choose from menus, and make selections
instead create an optimized virtual system. This
and a keyboard to enter text.
Emulators – that allow applications written for
Touch-Screen Interface – because either a
one hardware environment to run on a very
command-line interface or a mouse-and-
different hardware environment.
keyboard system is impractical for most mobile
systems, smartphones and handheld tablet,
Application containment – which is not
computers typically use this.
virtualization at all but rather provides
virtualizations-like features by segregating
Batch Interface – are non-interactive user
applications from the operating system.
interfaces, where the user specifies all the
details of the batch job in advance to batch
Chapter 8: INTERFACING TO OPERATING
processing and receives the output when all the
SYSTEMS AND THE SPECIAL-PURPOSE SYSTEMS
processing is done.
Interfacing with operating systems is a crucial
OPERATING SYSTEM INTERFACE
for software development, as it allows
Generally, the mechanisms for invoking the interface between the OS’s generic functions
operating system are called interrupts. They are and the specific functionalities of the hardware.
gateways to the operating system. Modern
Computers will go into a special mode called 2. External Interrupts – are signals from
system mode when they handle an interrupt. external devices that need attention from the
operating system. It happens as a result of
Three types of interrupts outside interference.
1. Software interrupts – invoked by software.
Are triggered by executing programs to request 3. Exceptions – indicate problems detected by
operating system services. the processor that it cannot handle by itself. It is
an unexpected event from within the processor.
System Calls – provide an interface to the
services made available by an operating system. Types of Exception
1. Arithmetic overflow – occurs during the
Types of System Calls execution of an add, or sub instruction.
• Process control 2. Undefined overflow – occurs when an
o End, abort unknown instruction is fetched. Is caused by an
o Load, execute instruction in the IR that has an unknown
• File Management opcode or an R-type instruction that has an
o Create file, delete file unknown function code.
o Open, close 3. System Call – occurs when the processor
• Information maintenance executes a syscall instruction.
o Get time or date, set time
• Communications System Mode – in system mode, the computer
o Create, delete communication can do things that it cannot do in the normal
connection mode. System mode is the foundation of
o Send, receive messages operating system security.
Application Programming Interfaces (APIs) – Interrupt Handling – when the called that is
high-level languages usually provide a higher- installed at the target address interrupts.
level operating system interface that allow
developers to access and utilize operating THE SPECIAL-PURPOSE SYSTEMS – are
system’s services and resources. By using these operating systems that are designed and
APIs, applications can make use of the operating optimized for specific tasks or environments.
system’s capabilities without directly interacting The operating systems are tailored to meet the
with the low-level system calls. unique requirements of the targeted domain,
providing specialized functionality, performance
Libraries – are collections of precompiled optimizations, and resource management.
functions and routines that provide specific
functionalities. 1. Real-Time Embedded Systems – is a
computer OS designed to handle events as they
Device Drivers – are software component that occur. Is designed for systems that requires
enable communication between the operating precise timing and quick response to external
system and hardware devices. They act as an events.
Example: Car airbag
2. Multimedia Systems – the key to Multimedia
OS is the real-time processing of the continuous
data.
Example: Chemical Plant
3. Handheld and Portable Systems – refer to
small portable devices that can be carried along
and are capable of performing normal
operations.
Example: Cellular Telephone