0% found this document useful (0 votes)
2 views15 pages

EIT Module2

Uploaded by

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

EIT Module2

Uploaded by

akm311006
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1

ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
MODULE 2
Operating Systems: The History of Operating Systems, Operating System Architecture,
Coordinating the Machine’s Activities, Handling Competition Among Processes, Security.
Algorithms: The Concept of an Algorithm, Algorithm Representation, Algorithm Discovery.
OPERATING SYSTEMS
An operating system is the software that controls the overall operation of a computer. It provides
the means by which a user can store and retrieve files, provides the interface by which a user can
request the execution of programs, and provides the environment necessary to execute the
programs requested. Example: Windows by Microsoft, UNIX: i) Mac OS, by Apple and ii)
Solaris, which was developed by Sun Microsystems (now owned by Oracle), Linux.
HISTORY OF OPERATING SYSTEM (OS)
Early computers were large, room-sized machines with limited flexibility & efficiency. Program
execution required manual preparation such as loading punched cards, mounting magnetic tapes,
and setting switches. The execution of each program, called a job, was executed independently,
and after completion, all materials had to be removed before starting the next job. Users booked
time slots, and during their allotted time, they had full control of the machine. This process was
time-consuming and inefficient. To reduce manual effort and improve efficiency, early operating
systems were developed. Their primary purpose was to simplify program setup and automate the
transition between jobs, reducing idle time and human intervention.
A key improvement was separating users from the machine by introducing a computer
operator. Users submitted jobs (programs, data, & instructions) to the operator, who loaded them
into the system. The operating system executed these jobs one after another automatically. The
OS executed these jobs one after another automatically. This led to the concept of batch
processing, where multiple jobs were collected & executed sequentially without user interaction.

MOHAMMED SALEEM 1
2
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
In batch processing systems, the jobs residing in mass storage wait for execution in a job
queue (Figure 3.1). A queue is a storage organization in which objects (in this case, jobs) are
ordered in first-in, first-out principle, meaning jobs were processed in the order they arrived.
However, modern systems often consider job priorities, allowing high-priority jobs to be executed
earlier than others.
In early batch-processing systems, each job was accompanied by a set of instructions
explaining the steps required to prepare the machine for that particular job. These instructions
were encoded, using a system known as a job control language (JCL), and stored with the job in
the job queue. The operating system interpreted these instructions and guided the operator
accordingly. This was an early form of communication between the system and the operator,
similar to modern system messages (e.g., error notifications).
The main drawback of batch systems was the lack of user interaction during execution. Once
a job was submitted, users had to wait until completion to see results. This worked well for
predefined tasks like payroll processing but was unsuitable for applications requiring real-time
interaction. To overcome these limitations, interactive processing systems were developed.
These allowed users to communicate directly with programs during execution through terminals
(early input/output devices like typewriters). This enabled real-time applications such as
reservation systems, word processing, and games.

For successful interactive systems, computers must respond quickly to user inputs. This
requirement led to real-time processing, where tasks are executed within strict deadlines based
on real-world needs. Unlike batch systems, the system must respond immediately (e.g., typing in
a word processor), ensuring smooth user interaction.
During the 1960s and 1970s, computers were expensive, so multiple users accessed a single
system simultaneously through terminals. If only one job was executed at a time, others would
experience delays, making real-time interaction difficult. This created the need for systems that
could serve many users efficiently at once.

MOHAMMED SALEEM 2
3
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
The solution to this problem was to design operating systems that provided service to multiple
users at the same time: a feature called time-sharing. One means of implementing time-sharing
is to apply the technique called multiprogramming. In this, time is divided into intervals and
then the execution of each job is restricted to only one interval at a time. At the end of each
interval, the current job is temporarily set aside and another is allowed to execute during the next
interval. By rapidly shuffling the jobs back and forth in this manner, the illusion of several jobs
executing simultaneously is created. Today, multiprogramming techniques are used in single-user
as well as multiuser systems, although in single-user systems, it is referred to as multitasking.
With time-sharing systems, users interacted directly with computers through workstations
instead of relying on computer operators. Programs were stored in memory and executed upon
request, reducing the operator’s role significantly. The traditional computer operator role has
largely disappeared. It has been replaced by the system administrator, who manages system
resources, installs software/hardware, enforces policies, and resolves system issues rather than
manually operating the computer.
With the development of multiprocessor computers, operating systems now assign tasks
across multiple processors. Key challenges include load balancing (efficient task distribution) and
scaling (dividing tasks into smaller subtasks to utilize multiple processors effectively). The rise of
computer networks led to operating systems that manage multiple interconnected systems.
Networking extends OS functionality by coordinating resources across different machines and
users over large distances.
Another major development is embedded systems, used in devices like vehicles, medical
equipment, mobile phones, and home appliances. These systems are designed for specific tasks
and must be efficient, reliable, and often meet real-time constraints while conserving power.
OPERATING SYSTEM ARCHITECTURE
Software Classification: A machine’s software is divided into two broad categories: application
software and system software (Figure 3.3).
Application software consists of the programs for performing tasks particular to the machine’s
utilization. A machine used to maintain the inventory for a manufacturing company will contain
different application software from that found on a machine used by an electrical engineer.
Common examples include spreadsheets, database systems, accounting software, desktop
publishing tools, programming software, and games.
System Software: System software performs general functions required for the operation of a
computer system. It acts as a foundation or infrastructure that supports application software.

MOHAMMED SALEEM 3
4
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
System software is broadly divided into two categories: the operating system and utility
software. The operating system manages hardware and core system operations, while utility
software provides additional functionalities that are not part of the core OS.

Utility Software: Utility software consists of programs that enhance or extend the capabilities of
the operating system. These include tools for disk formatting, file copying, data compression and
decompression, multimedia playback, and network communication. Utilities allow
customization of system according to user or organizational needs.
Advantage: Keeping certain functions as utility software instead of embedding them in the
operating system allows greater flexibility and easier customization. Users or organizations can
modify or add utilities without altering the core operating system.
The boundary between application and utility software is not always clear. Software initially
developed as an application can evolve into utility software if it becomes essential for most users.
For example, internet communication tools were once applications but are now considered
fundamental utilities.
Similarly, the line between utility software and the operating system can be unclear. Some
functionalities, such as web browsers or media players, may be integrated into the OS or provided
as separate utilities. This has even led to legal debates, particularly regarding whether such tools
are core OS components or added utilities.
Components of an Operating System
User Interface (UI): The user interface is the part of the operating system that enables
communication between the user and the computer. Earlier interfaces, called shells, were text-
based and used keyboards and monitors. Modern systems use a Graphical User Interface (GUI)
where icons represent files and programs, and users interact using devices like a mouse, stylus, or
touch screen. Advanced research includes 3D interfaces with enhanced sensory interaction.

MOHAMMED SALEEM 4
5
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
The user interface acts only as an intermediary and is separate from the internal core of
the operating system. Some systems allow multiple interfaces; for example, UNIX provides
different shells and GUIs, while systems like Windows and macOS still include command-line
utilities alongside graphical interfaces.

A key component of GUI shells is the window manager, which allocates blocks of space
on the screen, called windows, and keeps track of which application is associated with each
window. When an application wants to display something on the screen, it notifies the window
manager, and the window manager places the desired image in the window assigned to the
application. It manages display output and user inputs like mouse clicks, and determines the
overall style and appearance of the GUI.
Kernel (Core of OS): The kernel is the internal part of the operating system which contains those
software components that perform the very basic functions required by the computer installation.
One such unit is the file manager, whose job is to coordinate the use of the machine’s mass
storage facilities. It also includes several essential components such as device drivers, memory
manager, scheduler, and dispatcher.
File Manager: The file manager handles storage by maintaining records of files, their locations,
access permissions, and available storage space. It organizes files into directories (folders) and
subdirectories, forming a hierarchical structure.
A chain of directories within directories is called a directory path. Paths are often
expressed by listing the directories along the path separated by slashes. For example,
animals/prehistoric/dinosaurs represents path starting at the directory named animals, passing
through its subdirectory named prehistoric, and terminating in the sub-subdirectory dinosaurs.

MOHAMMED SALEEM 5
6
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
Device Drivers: Device drivers are the software units that communicate with the controllers (or
peripheral devices) to carry out operations on the peripheral devices attached to the machine.
Each driver is designed for a specific device (e.g., printer, disk, and monitor) and translates general
commands into device-specific operations, allowing other software to function without handling
hardware details. For example, a device driver for a printer contains the software for reading and
decoding that particular printer’s status word as well as all the other handshaking details.
Memory Manager: The memory manager coordinates the use of main memory. In simple
systems, one program is loaded and executed at a time. In multitasking systems, it allocates each
program its own space in memory so they don’t interfere with each other. It also makes sure a
program uses only its assigned space. When a program finishes, the memory manager frees that
space and keeps track of available memory so it can be used by other programs.
Virtual Memory and Paging: When memory demand exceeds available space, the memory
manager uses paging to transfer data between main memory and secondary storage. Data is
divided into pages, and only required pages are kept in memory. This creates virtual memory,
giving the illusion of larger memory than physically available.
Scheduler and Dispatcher: The scheduler selects which tasks are ready for execution, while the
dispatcher allocates CPU time to these tasks. These components ensure efficient execution in
multiprogramming systems.
BOOTSTRAPPING (BOOTING)
Bootstrapping is the process of starting a computer and loading the operating system from mass
storage into main memory. It occurs every time the computer is turned on, as main memory is
initially empty. When powered on, the CPU begins execution from a predefined memory
location. However, main memory is volatile, meaning it loses data when the system is turned off.
Therefore, the OS cannot be permanently stored in main memory & must be reloaded each time.
To solve this, a small portion of memory called ROM (Read-Only Memory) is used. ROM is
nonvolatile, so it retains data even when the computer is off. It stores a permanent program
required to start the system.
The boot loader, stored in ROM, is the first program executed when the computer starts. It
loads the operating system from a predetermined location (such as disk, flash memory, or
network) into main memory and then transfers control to it (Figure 3.5). After loading, the boot
loader directs the CPU to jump to the operating system in memory. The operating system then
takes control and begins managing system operations. The overall process of executing the boot
loader and thus starting the operating system is called booting the computer.

MOHAMMED SALEEM 6
7
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E

Why Not Store OS in ROM: Storing the entire operating system in ROM is not practical for
general-purpose computers due to size limitations and frequent updates. Mass storage is preferred
as it allows easy updates and supports larger operating systems.
COORDINATING THE MACHINE’S ACTIVITIES
The Concept of a Process: A program is a static set of instructions, while a process is the dynamic
execution of that program. A process changes over time as it runs. The activity of executing a
program under the control of the operating system is known as a process. The current status of
the activity associated with a process is called the process state. This state includes the current
position in the program being executed as well as the values in the other CPU registers and the
associated memory cells.
In multitasking systems, many processes run simultaneously. It is the task of the operating
system to manage these processes so that each process has the resources (peripheral devices, space
in main memory, access to files, and access to a CPU) that it needs, and ensures that these
processes do not interfere with one another.
Process Administration: The tasks associated with coordinating the execution of processes are
handled by the scheduler and dispatcher within the operating system’s kernel.
To keep track of all the processes, the scheduler maintains a block of information in main
memory called the process table. Each time the execution of a program is requested, the scheduler
creates a new entry for that process in the process table. This entry contains information such as
the memory area, priority, and status (ready or waiting). A process is ready if it is in a state in
which its progress can continue; it is waiting if its progress is currently delayed until some external
event occurs.

MOHAMMED SALEEM 7
8
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
The dispatcher controls the execution of the scheduled processes. In a time-sharing
/multitasking system this task is accomplished by multiprogramming; i.e., dividing time into
short segments, called a time slice, and then switching the CPU’s attention among the processes
as each is allowed to execute for one time slice (Figure 3.6). The procedure of changing from one
process to another is called a process switch (or a context switch).

Each time the dispatcher awards a time slice to a process, a timer circuit will indicate the
end of the slice by generating an interrupt signal. When the CPU receives an interrupt signal, it
saves the status of current process, and executes an interrupt handler, which transfers control
back to the dispatcher. The dispatcher then selects the next ready process with the highest priority.
For efficient multitasking, processes must be stopped and restarted. The system saves the
process state (program counter, registers, memory) during interruption and restores it later to
resume execution. Multiprogramming improves efficiency by utilizing CPU time effectively.
When a process waits for an I/O operation, it is marked as waiting, and the CPU is assigned to
another process. Once the event is complete, the process becomes ready again, ensuring better
overall system performance.
HANDLING COMPETITION AMONG PROCESSES
An important task of an operating system is the allocation of the machine’s resources to the
processes in the system. The file manager allocates access to files and allocates mass storage space
for the construction of new files; the memory manager allocates memory space; the scheduler
allocates space in the process table; and the dispatcher allocates time slices. Proper allocation
requires careful algorithms to avoid system errors.

MOHAMMED SALEEM 8
9
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
In a multitasking system, multiple processes may request the same resource, such as a
printer. The operating system must ensure that only one process uses the resource at a time;
otherwise, conflicts occur and results become incorrect.
A simple solution is to use a flag to indicate resource availability. A clear flag means the
resource is free, and a set flag means it is in use. The operating system checks the flag before
granting access and updates it accordingly. The flag approach can fail if a process is interrupted
after checking the flag but before setting it. Another process may then also access the resource,
leading to multiple processes using the same resource simultaneously.
To avoid this issue, the flag operation must be uninterruptible. This can be done using
interrupt disable/enable instructions or a test-and-set instruction, which checks and sets the
flag in a single step, preventing interruption.
Semaphore: A properly controlled flag is called a semaphore. It ensures correct access to shared
resources by preventing simultaneous usage. A critical region is a part of a program that accesses
shared resources and must not be executed by more than one process at a time. Mutual exclusion
ensures that only one process enters this region. A semaphore is used to control entry: a process
can enter only if the semaphore is clear and must set it before entry and clear it after exit.
Deadlock: A problem that can arise during resource allocation is deadlock. Deadlock is a
situation in which two or more processes are blocked from progressing because each is waiting
for a resource that is allocated to another. For example, one process holds a printer and waits for
a CD player, while another holds the CD player and waits for the printer.
If the scheduler has no space left in the process table and each process in the system must
create an additional process before it can complete its task, then no process can continue. Such
conditions, (Figure 3.7), can severely degrade a system’s performance.
Conditions for Deadlock:
1. There is competition for non-sharable resources.
2. The resources are requested on a partial basis.
3. Once a resource has been allocated, it cannot be forcibly retrieved.
Deadlock Detection and Correction: One approach is to allow deadlock to occur and then detect
and correct it. This involves forcibly removing resources, such as terminating (killing) some
processes to free resources and break the deadlock.
Deadlock Avoidance: Another approach is to prevent deadlock by eliminating one of the
required conditions. This can be done by requiring processes to request all resources at once or
by reducing competition for resources.

MOHAMMED SALEEM 9
10
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
Spooling Technique: Deadlock can also be avoided by making non-sharable resources appear
sharable. For example, instead of directly accessing a printer, processes store output in mass
storage, and the system prints later when the printer is free. This method is called spooling.

SECURITY
The operating system ensures security by maintaining system reliability. Errors in components
like the file manager or dispatcher can lead to data loss or system crashes, making a dependable
operating system essential.
Attacks from the Outside: The operating systems has to protect the computer’s resources from
access by unauthorized personnel. Operating systems achieves this by creating user accounts.
Each account stores details like username, password, and access privileges. During the login
process, the OS verifies this information to control and restrict access.
Accounts are established/maintained by the super user or the administrator. The
administrator can alter settings within the operating system, modify critical software packages,
adjust the privileges granted to other users, and monitor system activities.
To assist the administrator, the auditing software have been developed. It records and
analyze the activities taking place within the computer system. Auditing software detects
unauthorized access, unusual behaviour, repeated login failures, and suspicious actions.
The auditing systems are also designed to detect the presence of sniffing software, which
is software that, when left running on a computer, records activities and later reports them to an
intruder. Security is also affected by user carelessness such as weak passwords, sharing
credentials, and using unapproved software.

MOHAMMED SALEEM 10
11
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
Attacks from Within: Once an intruder gains access to a computer system, the next step is usually
to explore, looking for information of interest or for places to insert destructive software. Today’s
CPUs are enhanced with features that are designed to foil such attempts.
CPUs designed for multiprogramming systems typically contain special-purpose registers
to define memory limits for each process. Any attempt to access memory outside these limits
triggers an interrupt and returns control to the OS.
CPUs are designed to operate in one of two privilege levels: “privileged mode” or
“nonprivileged mode”. In privileged mode, the CPU is able to execute all the instructions in its
machine language. However, in nonprivileged mode, the list of acceptable instructions is limited.
An attempt to execute a privileged instruction when the CPU is in nonprivileged mode causes an
interrupt. This interrupt converts the CPU to privileged mode and transfers control to an interrupt
handler within the operating system.
Privileged instructions control critical operations like memory limits and system settings.
The OS switches the CPU to nonprivileged mode during process execution to maintain security.
Errors in privilege control can lead to serious issues such as processes taking over CPU time,
accessing restricted memory, or bypassing file management. Maintaining security remains a key
responsibility of both the OS and the administrator. The Concept of an Algorithm
ALGORITHM
Formal Definition of an Algorithm: An algorithm is an ordered set of unambiguous, executable steps
that defines a terminating process. This definition ensures that algorithms are clearly defined and
scientifically valid.
The definition requires that steps in an algorithm must be ordered, meaning they follow a
well-defined structure. This does not always mean a single sequence; some algorithms use parallel
steps where multiple processes execute simultaneously. Each step in an algorithm must be executable
(effective), meaning it must be possible to perform. Instructions that cannot be completed, such as
listing all positive integers, cannot be part of an algorithm. All steps must be unambiguous, meaning
each step must clearly specify what action to perform. The execution should require only following
instructions, not creativity. An algorithm must define a terminating process, meaning it must
eventually produce a result and stop. This helps distinguish problems that can be solved algorithmically
from those that cannot.
Abstract Nature of Algorithms: An algorithm is abstract and different from its representation,
similar to how a story differs from a book. The representation may change, but the underlying
algorithm remains the same. A single algorithm can be represented in different forms such as

MOHAMMED SALEEM 11
12
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
formulas, instructions, or circuits. The method of representation changes, but the algorithm itself does
not. The clarity of an algorithm depends on its level of detail. A simple instruction may be sufficient
for experts but may seem ambiguous to others if not described in detail.
Programs and Processes: A program is a representation of an algorithm, usually written for
computer execution. A process is the activity of executing that program. Thus, algorithms, programs,
and processes are related but distinct concepts.
ALGORITHM REPRESENTATION
Primitives: Algorithm representation requires a language, such as natural language or symbols,
but these may cause ambiguity. Communication problems arise when the language used for an
algorithm’s representation is not precisely defined or when information is not given in detail.
To avoid these problems, a well-defined set of building blocks are established. Such a
building block is called a primitive. A collection of primitives along with a collection of rules
constitutes a programming language. Each primitive has its own syntax and semantics. Syntax
refers to the primitive’s symbolic representation; semantics refers to the meaning of the primitive.
Algorithms can be expressed using low-level machine instructions or higher-level
primitives. Higher-level representations are preferred as they are easier to understand and use.
Pseudocode: Pseudocode is a notational system in which ideas can be expressed informally
during the algorithm development process. It combines structured syntax with flexibility and
provides a consistent way to express algorithmic ideas. A pseudocode must have a consistent,
concise notation for representing recurring semantic structures.
One such recurring semantic structure is the saving of a computed value. A common
structure is assignment, written as: name = expression, which stores the result of a computation
for later use.
For example, the statement: RemainingFunds = CheckingBalance + SavingsBalance,
is an assignment statement that assigns the sum of CheckingBalance and SavingsBalance to the
name RemainingFunds. Thus, the term RemainingFunds can be used in future statements to
refer to that sum.
Another recurring semantic structure is the selection of one of two possible activities
depending on the truth or falseness of some condition. This can be represented using:
if (condition):
activity
else:
activity

MOHAMMED SALEEM 12
13
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
Another common semantic structure is the repeated execution of a statement or sequence
of statements as long as some condition remains true. This can be represented using:
while (condition):
activity
The activity continues as long as the condition is true.
Reusable units are defined as functions using: def name(): where name is the
particular name of the unit. For example, Figure 5.4 is a pseudocode representation of a function
called Greetings that prints the message “Hello” three times.

ALGORITHM DISCOVERY
Program development involves two activities: discovering the algorithm and representing it.
Algorithm discovery is more challenging as it requires finding a method to solve a problem,
making it closely related to problem solving.
Art of Solving Problem: Problem solving is an artistic skill, not a strict science. Not all problems
have algorithmic solutions, so techniques cannot be fully reduced to fixed steps.
The phases proposed by G. Polya in 1945, still serve as fundamental principles for teaching
problem-solving skills:
Phase 1. Understand the problem.
Phase 2. Devise a plan for solving the problem.
Phase 3. Carry out the plan.
Phase 4. Evaluate the solution for accuracy & for its potential as a tool for solving other problems.
Translated into the context of program development, these phases become:
Phase 1. Understand the problem.
Phase 2. Get an idea of how an algorithmic function might solve the problem.
Phase 3. Formulate the algorithm and represent it as a program.
Phase 4. Evaluate the program for accuracy & for its potential as a tool for solving other problems.
These phases are not strictly followed in order. Problem solvers may begin forming
solutions before fully understanding the problem and refine their understanding through trial and
error. Often, complete understanding comes during implementation.

MOHAMMED SALEEM 13
14
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
GETTING A FOOT IN THE DOOR
Problem solving often begins by finding an initial clue or partial result, known as “getting a foot
in the door.” Once a small part of the problem is understood, the rest of the solution can be
developed by extending that knowledge step by step.
By analyzing given conditions, contradictions help eliminate possibilities. This initial
breakthrough simplifies the problem, making it easier to determine the final solution logically.
Getting started requires creative thinking, not fixed rules. Identifying the first useful step and
expanding it into a full solution depends on the problem solver’s insight.
One approach is working backward, starting from the desired result and tracing steps back
to the input. This helps reveal how the solution is constructed. Another method is solving similar
or simpler problems and applying their solutions. This is useful in developing general algorithms
rather than solving only specific cases.
Stepwise Refinement (Top-Down Approach) breaks a problem into smaller sub
problems. Each part is solved step by step, moving from general ideas to detailed solutions.
In contrast, the bottom-up approach builds solutions from small components and
combines them into a complete system. Both approaches often work together in problem solving.
Preconceived methods can hide simple solutions. Flexible thinking and changing
perspective are important to uncover easier approaches. Instead of complex calculations,
changing perspective simplifies the problem. The relative motion shows that the time to return
equals the time moved away.
Algorithm discovery is a creative and evolving skill developed over time. It cannot be
reduced to fixed steps and requires flexibility, intuition, and experience.

MOHAMMED SALEEM 14
15
ESSENTIALS OF INFORMATION
TECHNOLOGY – BESC204E
IMPORTANT QUESTIONS
1. With block diagrams, distinguish between Batch processing and Interactive processing in
operating systems.
2. Distinguish between time-sharing and multitasking systems. (OR) What is time-sharing?
Explain how multiprogramming supports time-sharing systems.
3. Briefly explain the classification of software.
4. Explain how different components of an operating system cooperate to manage hardware
and software resources efficiently.
5. Describe the components of an operating system architecture (OR) Explain briefly the
functions of:
a. Window Manager
b. File Manager
c. Memory Manager
d. Scheduler
6. Define process in operating systems. Explain the roles of the scheduler and dispatcher in
process management within operating system.
7. Explain how multiprogramming works between various processes in a system.
8. Discuss the concept of context switching and explain how interrupts are used in process
execution.
9. Explain the necessary conditions for deadlock to occur. How to avoid the deadlock?
10. What is bootstrapping? Explain it in the context of an operating system.
11. Define an algorithm. Explain pseudo code representation of an algorithm with a suitable
example.
12. Summarize the distinctions between a process, an algorithm, and a program.
13. Discuss the security mechanisms in operating systems, including user accounts, privilege
modes, and auditing.
14. List and explain the problem-solving phases used for program development.

MOHAMMED SALEEM 15

You might also like