0 ratings0% found this document useful (0 votes) 39 views20 pagesPurpose of The ESIA Is To Assess and Predict Potential A
The purpose of the ESIA is to assess and predict potential adverse social and environmental impacts and to develop suitable mitigation measures,
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
UNIT INTRODUCTION 7
Computer System - Elements and organization; Operating System Overview -
Objectives and Functions - Evolution of Operating System; Operating System
Structures - Operating System Services - User
Operating System Interface - System Calls - System Programs — Design and
Implementation-Structuring methods.
INTRODUCTION
202
Operating System is a program that acts as an interface between a user of a computer and the
computer hardware, Eg. Windows (Microsoft), i0S (Apple), Android (Google), Linux/Ubuntu (open
souree)
Goals of Operating System:
4 Exocute user programs and make solving the user problems easior
4 Make the computer system convenient to use
¢ Use the computer hardware in an efficient manner
1. COMPUTER SYSTEM.
A computer system can be divided roughly into four components: the hardware, the
operating system, the application programs, and a user
Hardware: The Central Processing Unit (CPU), the Memory, and the Input/output (1/0) devices
provides the basic computing resources for the system.
Application Programs: Such as word processors, spreadsheets, compilers, and web browsers
define the ways in which these resources.are used to solve users’ computing problems.
Operating System: Controls the hardware and coordinates its use among the various application
programs for the-various users.User
“Application Programs
(Compilers, Web Browsers
‘Operating System
‘Computer Hardware
(CPU, Memory I/O ete.)
Figure : Computer System
‘The operating system provides the means for proper use of these resources in the operation of
the computer system.
Operating Systems from two viewpoints:
+ User View
+ System View
. User View
The user's view of the computer varies according to the interface being used. Many
computer users sit with a laptop or in frant ofa PC consisting of a monitor, keyboard, and mouse.
Such a system is designed for one user to control its resources. For this, the aperating system Is
designed mostly for ease of use, performance and security and not to resource utilization,
Many users interact with mobile devices such as smartphones and tablets. These devices
are connected to networks through cellular or other wireless technologies, The user Interface for
mobile computers generally features a tauch screen, where the user interacts with the system by
pressing and swiping fingers acrass the screen rather than using physical keyboard and mouse.
Many mobile devices also allow users to interact through a voice recognition interface, such as
Apple's Siri,
= System View
From the computer's pain: of view, the operating system is the program mast intimately
involved with the hardware. Itisa resource allocator. 4. computer system has many resources
that may be required to solve « problem: CPU time, memory space, storage space, I/O devices, and
80 on, The operating system acts as the manager af these resources. The operating system must
decide how to allocate the resources to specific programs and users so that it can operate the
computer system efficiently and fairly.Components of Operating System.
Shell:
+ Environment that gives a user an interface to access the
operating system's services:
Launch Applications
+ User Mode
Kernel:
“Keep track of the hardware and computer's operations
> Kernel Mode2. COMPUTER SYSTEM ~ ELEMENTS AND ORGANIZATION
mouse — keyboard printer monitor
disks
ee G fast, 2, [_]
wpe
ePu ] eee
A computer system consists ef CPU and a number of device controllers connected through
a common bus that provides access between components and shared memory. Each device
controller is in charge of a specific type of davice, more than one device may be attached. For
example, one system USB port can connect to a USB hub, to which several devices can he
connected, & device contraller maintains some local buffer storage and a set of special purpase
registers. The device controller is responsible for maving the data between the peripheral devices
that iteontrols and its local buffer storage.
Operating systems have a device driver for each devico controllcr. This device driver
understands the device controller and provides the rest of the operating system with a uniform
Interface to the device. The CPU and the device controllers can execute in parallel.
‘Three key aspects of the system are
Interrupts
Storage Structure
1/0 Structure
Interrupts
Hardware may triggeran interrupt by sending a signal to the CPU. Software may trigger an
interrupt by executing a special operation called a system call. When the CPU Is interrupted, it
stops what it is doing and immediately transfers execution to a fixed location. The fixed location
usually contains the starting address where the service routine for the interrupt is located. The
Interrupt service routine executes; on completion, the CPU resumes the interrupted computation,
time line of this operation Is shown belowThe interrupt routine is called indirectly through the table, The table holds the addresses
of the interrupt service routines for the various devices, This array, or interrupt vector, of
addresses is then indexed by a unique device number, given with the interrupt request, to provide
the address of the interrupt service routine for the interrupting device.
The interrupt architecture must also save the address af the interrupted Instruction, After
the Interrupt is serviced, the saved return address is loaded into the program counter, and the
interrupted computation resumesas thaugh the interrupthad not occurred. The device controller
raises an interrupt by asserting a signalon the interrupt request line, the CPU catches the interrupt
and dispatchos it te the interrupt handler, and the handler clears the interrupt by servicing the
device.
+ au
CPU eccwng cts tor
yp courte
Teiatest/0
——_} ___ Tapa Ready ump
‘FU resivingnterropt Comlete se ter
“Traneors cone eerrupt eons ere
ates ‘Sina
—
Interrupt ander prowess
strc, Remar rom torr
CPU Fesimes processing of
teteevuptoa Yasie
Most CPUs have two interrupt request lines. Qhe fs the honmaskable interrupt, which is
reserved for eventasuchas unrecoverable memory errors The second interrupt lineis maskable:
it can he tarned aff by the CPU before the execution of critical instruction sequences that must not
be interrupted. The maskable interrupt is used by device controllers to request ser vice.
* — Storage Structure
© KB: 1024 Bytes
+ MB; 1024? Bytes
* GB: 1024 Bytes (1 Million Bytes }
«© TB: 1024 Bytes (1 Billion Bytes }
« PR: 1024 5 Bytes‘The CPU load the instructions from memory, General-purpose computers run mostof their
programs from rewritable memory, called main memory (RAM).
‘The first program to run on computer te power ON |s a bootstrap program, which then
loads the operating system. Since RAM is volatile, loses its content when power is turned off or
otherwise lost. So the bootstrap program cannot be stored in RAM. So the computor uses
electrically erasable programmable read-only memory (EEPROM) and other forms of firmware,
storage that is infrequently written to and is nonvolatile. EEPROM can be changed but cannot he
changed frequently. In addition, itis low speed, and so it containsmostly static programs and data
that arent frequently used. For example, the iPhone uses EEPROM to store serial numbers and
hardware information about the device.
All forms of memory provide an array of bytes. Zach byte has its own address. Interaction
achieved through a soquonco of load or storo instructions to spocific momory addrossos. Tho
load instruction moves a byte or word from main memory toan internal register within the CPU,
whereas the store instruction moves the content of a register to main memory.
The CPU automatically loads instructions from main memory for execution from the
location stored in the program coumer. First fetches an instruction from memory and stores that
instruction in the instruction register. The instruction is then decoded and may cause operands
to he fetched from memary and stored in sone internal register. After the instruction on the
operands has been executed, the result may be stored hack in memory.
‘The programs and data mus: be in main memory permanently. This arrangement is not
possible cn most systems for two reasons:
Main memory is usually too small to store all needed programs and data permanently.
+ Main memory, is volatile, it loses its contents wher power is turned off or atherwise lost.
Most computer systems provide secondary storage as an extension of main memory. The
main requirement for secondary storage is that it be able te hold large quantities af data
permanently. The most common secondary-storage devices are hard-disk drives (HDDs) and
nonvolatile memory (NVM) devices, which provide storage for both programs and data. Mast
programsare stored in secondary storage until they are leaded inte memory.
Secondary storage is also much slower than main memory. Other possible components
inelude cache memory, CD-ROM, magnetic tapes, and so on. Thos: that are slow enough ond large
enough that they are used only for special purposes, to stare backup copies ef material stored on
other devices, are called tertiary storage.
‘The wide variety of storage systems can be organized in a hierarchy according to storage
capacity and access time,
Smaller and faster memory closer to the CPU. Various storage systems are either volatile
ornonvolatile, Volatile storage, loses its contents when the power to the device is removed, so
data must be written to nonvolatile storage for safekeeping.
Tho top four levels of memory are constructed using semiconductor memory, which
consists of semiconductor based electronic circuits. Non Volatile Memory devices, at the fourth
level, are faster than hard disks. The most common form of NVM device is flash memory, which is
popular In mobile devices such as smartphones and tablets. Increasingly, flash memory Is being
used for long term sterageon laptops, desktops, and servers as well,Storage Capacity Access Time
Volatile storage will be referred to simply as memory. Nonvolatile storage retains its contents
when power is lost. This type of storage can be classified into two distinct types:
‘| Mechanical : Storage systems are HDDs, optical disks, holographic storage, and magnetic
tape.
© Electrical : Storage systems are flash memory, FRAM, NRAM, and SSD.
Mechanical storage is generally larger and less expensive per byte than electrical storage.
Conversely, electrical storage is typically costly, smaller, and faster than mechanical storage.
+ 1/0 Structure
A large portion of operating system code is dedicated to manage 1/0. General purpose
computer system consists of multiple devices, all of which exchange data via a common bus, The
form of interrupt driven [/0 is fine for moving small amounts of data, direct memory access
(DMAJ is used for bulk data transfer.System Bus
Normal Data Transfer DMA Data Transfer
After setting up buffers, pointers, and counters for the 1/0 device, the device controller
transfers an entire block of data directly to or from the device and main memary. with no
intervention by the CPU. Only one interrupt is generated per block, to tell the device driver that
the operation has completed, rather than the one interrupt per byte generated for low speed
devices, While the device controller is performing these operations, the CPU is available to
accomplish other work,
Some high-end systems use switch ratherthan bus architecture. On these systems, multiple
components can talk to other components concurrently, rather than competing for cyeles an a
shared bus.
Thread of
Execution Instruction
and.
Mavernent Data
cpu
3 Memory3. EVOLUTION OF OPERATING SYSTEM
cpu : The hardware that executes instructions.
Processor; Aphysical chip that contains one or more CPUs.
Core The basic computation uni of the CPU.
Multicore: Ineluding multiple computing cores on the same CPU.
Multiprocessor ; Including multiple processors.
According to the number of goneral- purpose processors used it is divided into
“& Single Pracessor Systems
% Multiprocessor Systems
+ Clustered Systems
4 Single Processor Systems
Processor
Cache
Bus
Memory vo
Ona single-processor system, there is one main CPU capable of executing the instructions.
Most computer systems use a Single pracessor containing one CPU with a single processing core,
The core is the component that executes instructions and registers for storing data locally. The
one main CPU with its core is capable of executing a general-purpose instruction set, including
instructions from processes.
% Multiprocessor SystemsThey have mere processors, each with a single-core CPU. The processors share the
computer bus anc sometimes the clock, memory, and peripheral devices, The main advantages
are
@ Increased throughput
* Economy of scale
# Increased reliability - graceful degradation or fault tolerance
The advantage of multiprocessor systems is increased throughput. By increasing the
ore work will be done in less time. The most common multiprocessor
number af processors,
systems use symmetric multiprocessing (SMP), in which each peer CPU pracessor performs all
tasks, including operating-system functions and user processes,
Processor Processarz
PUL cPu2
Registers Repisters
Cache Cache
Mun Mewory
The Figure ilustratesa typical SMP architecture with two processors, each with its awn CPU. Each
CPU processor has its ownsset of registers, and local cache, Main Memory isshared. The benefit is
that many processes can run simultaneously 4 processes can run if there are N CPUs without
causing performance to deteriorate significantly. However, since the CPUs are separate, one may
besitting idle while another is overloaded, resulting in inefficiencies. These inefficiencies can he
avoided if the processors share certain data structures. The definition of multipracessar has
evolved over time and now includes multicore systems, in which multiple computing cores reside
ona single chip. Multicore systems can be more efficient than multiple chips with single cores.
Pracessart
RogistersIna dual-core design with two cores on the same processor chip. In this design, each core has its
own register set, as well as its own lacal cache, often known as a level 1, or L1, cache. Notice, too,
thata level 2 (L.2) cache is local to the chip but is shared by the two processing cores.
© © © ©
Individual Individual Individual lnedisidual
Memory Memory Memory Mernory
Shared Memory
Bus Interface
NUMA Multiprocessing Architecture
Adding additional CPUs to a multiprocessor system will increase computing power; and
adding tao many CPUs, becames a battleneck and performance begins to degrade. instead to
provide each CPU (or group of CPUs) with its own local memory that is accessed via a small, fast
local bus. The CPUs are connected by a shared system interconnect, so that all CPUs share one
physical address space. This approach known as Non-Uniform Memary Access,or NUMA
I I
i
a CPUS
_—-
‘The advantage is that, when a CPU accesses its local memory, itis fast, and no contention
over the system interconnect. Thus, NUMA systems can scale more effectively as more processors
are added. A drawback is increased latency. For example, CPUO cannataccessthe lacal memory
of CPUS as quickly as it ean access its own local memary, slowing down performance.
Because NUMA systems can scale to accommodate a large number of processors, they are
becoming increasingly popular on servers as well as high-performance computing systems.
aLClustered System:
Computer Computer Computer
Clustered computers share storage and are closely linked via a local-area network LAN oF
a faster Interconnect. Clustering is usually used to provide high availability servies that is,
service that will continue even if one or mare systems in the cluster fail.
A layer of cluster software runs on the cluster nodes, Each node can monitor one or more:
of the othars( over the network). If the monitored machine fails, the monitoring machine can take
ownership of its storage ahd restart the applications that were running on the failed machine.
High availability provides increased reliability, which is crucial in many applications The ability
to continue providing service proportional to the level of surviving hardware is called graceful
degradation, Some systems go beyond graceful degradation and are called fault tolerant,
because they can suffer a failure of any single component and still continue operation. Fault
tolerance requires a mechanism to allow the failure to be detected, diagnosed, and, if possible,
corrected.
(Clustering can be structured asymmetrically or symmetrically.
In Asymmetric Clustering, one machine Is in hot standby mode while the other is running the
applications. The hot standby host machine does nothing but monitor the active server, If that
server fails, the hot standby host becomes the active server,
Symmetric Clustering
In symmetric dustering two or more hests are running applications and are monitoring each
other, This structure is obviously more efficient, as it uses all of the available hardware,
124. OPERATING SYSTEM OPERATIONS
“> Multiprogramming and Multitasking
Dual-Modeand Multimode Operation
> Timer
% Multiprogramming
Multiprogramming increases CPU utilization, so that the CPU always hasone to execute,
In amultiprogrammed system, a program in execution is termedas process,
Ma:
| Operating System.
Process 1
Process 2
0 Process 3
Memory Layoutof a Multiprogramming System
‘The operating system picks and begins to execute one of these processes. Eventually, the
process may have to wait for some task, such as an 1/0 operation, to complete. Ina non-
multiprogrammed System, the CPU would sit idle, In a multiprogrammed system, the operating
system simply switches to, and executes, another process. When that pracess needs to wait, the
CPU switches to another process,and soon, Eventually, the first process finishes waiting and gets
the CPU back. As long as at least one process needs to execute, the CPU is never idle.
Multitasking
CPU switches jobs so Frequently that users can interact with each job while it is running,
creating interactive computing
Response time should be < 1 second.
Each ugor hae at loast one program executing in memory
Ifseveral jobs ready to run at the same time [ CPU scheduling]
Ifprocesses don’t fit in memory, swapping moves them in and out to run
Virtual memory allows execution of processes not completely in memory
wees
% — Dual-Mode and Multimode Operation
The following are the modes
13. User Mode:
Operating system running a user application such as handling a text editor. The transition
from user mode to kernel made occurs when the application requests the help of operating system
or an interrupt or a system call oceurs. The mode bit is set to 1 in the user mode. [tis changed from.
1 to. 0 when switching from user mode to kernel made.
. Kernel Mode
The systom starts in kernel mode when it boots and after the operating system Is laaded,
it executes applications in user mode, There are some privileged instructions that can only he
executed in kernel mode, These are interrupt instructions, Input output management etc. If the
privileged instructions are executed in user mode, itis Mlegal and a trap is generated, The mode
bitis set to 0 in the kernel mode. It is changed from 0 to 1 when switching from kernel mode to
user mode,
‘The concept af modes of operation in operating system can be extended beyond the dual
mode. Known as the multimode system. In those cases more than 1 bit is used by the CPU to set
and handle the mode.
* Timer
A user program cannot get stuck in an infinite loop or to fail to eall system services and
never return control to the operating system. A timer is used to accomplish this goal. A timer can
be sot to Interrupt the computer after a specified period, A variable timer (s genorally
implemented by a fixed-rate «lock and @ counter, The operating system sets the counter. Every
time the dock ticks, the counter isdecremented, When the counter reaches 0), an interrupt occurs.
5. OPERATING SYSTEM SERVICES
Furthermore, the operating system, in one form or another, provides certain services to the
computer system,
+
User Interface
Program Execution
1/0- Operations
File System Manipulation
Communications
Error Detection
Resource Allocation
Accounting
Protection and Security
'
Se eee oe
14User and Other System Programs
oul Commind Line
User Interfaces
System Calls
Progam | [ i/0 File | [Gommmnt| [RESOURCE | A soning
Sxecution | | Operation || sywien || cao | Allocation ans
Error Protection &
erection Ginn Securit
Operating System
Hardware
% User Interface
Almost all operating systems have a user interface (UI). Two types of User Interface are
Commend Based Interface and Graphical User Interface
Command Based Interface
Requires a user to enter the commands to perform different tasks like creating, opening,
editing or deleting afile, etc. The user has to remember the names of all such programs or specific
commands which the operating system supports. The primary Input device used by the user
for command based interface Is the keyboard, Command-based interface is often less interactive
and usually allows 9 user to run s single program at a time. Examples of operating systems with
command-based interfaces include MS-DOS and Unix,
Command Based Interface
Graphical User Interface
Graphical User Interface (GUI)
The interface is a window system with a mouse that serves as a pointing device to direct
1/0, choose from menus, and make selections and a keyboard toenter text. Mobile systems such
as phones and tablets provide a touch-screen interface, enabling users to slide their fingers
across the screen or press buttons on the screen to aclect choices,
15o Program Execution:
The 05 is in charge of running all types of programs, whether they are user or system
programs. The operating system makes use of a variety of resources to ensure that all types of
Functions perform smoothly.
Dbject Code
+ Input/Output Operations:
‘The operating system ts in charge of handling various types of Inputs, such as these from
the keyboard, mouse, and deshtop, Regardingall types of inputs and outputs, the operating system
handles all interfaces in the most appropriate manner.
Keyboard [4 cpu Monitor
Mouse ieee Printer
Inpat aes Speaker
Taput H Memory Output
For instance, the nature ofall types of peripheral devices, suchas mice or keyboards, differs, and
the operating system is responsible for transferring data between them.
4 File System Manipulation:
‘The OS is in charge of deciding where data or files should be stored, such as on a floppy
disk, hard disk, or pen drive. The operating system determines how data should be stored and
handled,
% Communications:
There are many circumstances in which one process needs to exchange information with
another proves. Such communication may occur between processes that are executing on the
same computer or between processes that are executing on different computer systems tied
together by a network. Communications may be implemented via shared memory, in which two
or more processes read and write to a shared section af memory, or message passing, in which
packets of Information in predefined formats are moved hetween processes by the operating
system,
16o Error Detection:
The operating system needs to be detecting and carrecting errors constantly. Errors may
occur in the CPU and memory hardware (such as a memory error or a power failure), in I/O
devices (such as. parity error on disk, a connection failure on anvtwork, or lack of paper in the
printer), ancin the user program (such as an arithmeticoverflow or an attemptto access an illegal
memory location). For each type of error, the operating system should take the appropriate action
to ensure correct and consistent computing, Sometimes, ithas nachoice but to halt the system. At
other timas, it might terminate an error-causing process or return an error code toa process for
the process to detect and possibly correct.
“Resource Allocation:
The operating system guarantees that all available resources are properly utilized by
determining which resource should be used by whom and for how long. The operating system
makes all of the choices.
% Accounting:
The operating system keeps track of all the functions that areactive in the computer system
atany one ume, The operating system keeps track ofall the facts, including the types of mistakes
that happened.
% Protection and Security :
‘The operating system is in charge of making the most secure use of all the data and
resources available on the machine. Any attempt by an external resource to obstruct data or
information must be foiled by the operating system.
6. USER AND OPERATING SYSTEM INTERFACE
There are different types of user interfaces each of which provides a different functionality:
Command Based Interface
Graphical User Interface
Touch Based Interface
Voice Based Interface
Gesture Based Interface
Saeed
% Command Based Interface
Command based interface requires a user to enter the commands to perform different
tasks like creating, opening, editing or deleting a file, etc, The user has to remember the names of
all such programs or specific commands which the operating system supports. The primary input
7device used by the user for command based interface is the keyboard, Command-based interface
is often less interactive and usually allows a user to run a single program at atime, Examples of
operating systems with command-based interfaces include MS-DOS and Unix.
Command Based Interface Graphical User Interface
* Graphical User Interface
Users run programs or give instructions to the computer in the form of icons, menus and
other visual options. Icons usually represent files and programs stored on the computer and
windows represent running programs that the user has launched through the operating system.
The input devices used to interact with the GUI commonly include the mouse and the keyboard.
Examples of operating systems with GUI interfsces include Microsoft Windows, Ubuntu, Fedora
and Macintosh, among uthers.
% Touch Based Interface
‘Today smartphones, tablets, and PCs allow users to Interact with the system simply using
the touch input: Using the touehscreen, a user pravides inputs to the operating system, which are
interpreted by the OS as commancs like opening anapp, clasing an app, dialing anumber, scrolling
across apps, ete,
Examples of popular operating systems with wuch-based interfaces are Android and i0S,
Windows 8.1 and 10 also support touch-based interfaces on touchscreen devices,
u
terface Voice Based Interface
‘Touch Based
Voice Based Interface
Modern computers have been designod te address the needs of all types of users including
people with special needs and people who want to interact with computers or smartphones while
18doing some other task. For users who cannot use input devices like the mouse, keyboard, and
touchscreens, modern operating systems provide other means of human-computer interaction,
Users today can use voice-hased commands to make a computer work in the desired way. Same
operating systems which provide voice-hased control to users inclide i0 (Siri), Android (Google
Now or"OK Google”), Microsuft Windows 10 (Cortana), and so on,
Gesture Based Interface
Some smartphones based on Android and 10S as well as laptops let users interact with the
devices using gestures like waving, tilting, eye motion, and shaking. This technology is evolving
faster and it has promising potential for application in gaming, medicine, and other areas
7. SYSTEM CALLS
A system call is a mechanism that provides the interface between a process and the
operating system. It is a programmatic method in which a compater progam requests a service
from the kernel of the OS. System call offers the services of the operating system to the user
programs via API (Application Programming Intorfacc). Systom calls. ore the only ontry points for
the kernel system.
Working of system Call
User Mode Mode Bi
User Process |_[ Geteayarem earn fom
Execuie can / ‘System Cal
\ i
‘rap Mode Bi \ / Tiate Mode mit=1
‘System Call
Kemet Mode Mode Bit=@
19Step 1) The processes exeeuted in the user mode till the time a system call interrupts it,
‘Step 2) After that, the system callis executed in the kernel-made on a priority basis,
Step 3) Once system call execution is aver, control returns to the user mode.,
Step 4) The execution of user pracesses resumed in Kernel mode.
Need of System Calll
+ Readling and writing from Mes demand system calls.
+ Ifa file system wants to create or delete files, system callsare required.
« System calls are used for the creation and management of new processes,
+ Network connectionsneed system calls for sending and receiving packets,
+ Access to hardware devices like scanner, printer, need a system call.
Example of how system calls are used,
For Example
Writing a simple program to read data trom one file and copy them to another file.
‘The first input that the program will need is the names of the two Miles: the Input file and
the output file. These names can be specified in many ways, depending on the operating-system
design.
‘One approach is to pass the names of the two filesas part of the command
For example, the UNIX ep command:
ep in.bat outixt
This command copies the input file in.txt to the output file out.txt
A second approach is for the program tw ask the user for the names.
Inan interactive system, this approach will requirea sequence of system calls, firstto write
4 prompting message on the screen and then to read fromthe keyboard the characters that define
the two files. On mouse-based and icon-based systems, a menu of file names is usually displayed
ina window, The user can then uso the mouse to select the source name, and a window can be
opened for the destination name to be specified. This sequence requires many I/O system calls.
‘Once the two file names have been obtained, the program must apen the input file and create and
open the output file. Each of these operations requires another system call. Possible error
conditions for each system call must be handled. For example, when the program tries to open the
input file, it may find that there is no file of that name or that the file is protected against access.
In these cases, the program should output an error message (another sequence of system
calls) and then terminate abnormally [another system call), Ifthe input file exists, then we must
create a new output file. We may Sind that theres already an outputfile with the same name. This
sitwation may cause the program te abort (a system call), or we may delete the existing file
{another system call) and create a new one (yet anather system call), Ancther option, in an
interactive system, is to ask the user (via a sequence of system calls to output the prompting
message and to read the response from the terminal] whether to replace the existing fle or to
abort the program.
20