Introduction to OS
Basic Principles, Operating System Structures, System Calls & Types, Processes: Concept Scheduling - Inter
Process Communication, Introduction to Distributed Operating System, Types of network based OS.
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
Introduction to OS.pptx
1. ROBOT OPERATING SYSTEM
Department of Robotics & Automation
JSS Academy of Technical Education, Bangalore-560060
(Course Code: 21RA54)
2. Books
Text Books:
1. Silberschatz, Galvin, Gagne, Operating System concepts 6th edition, John Wiley, 2003.
2. Raj Kamal, Systems -Architecture, Programming and Design, Tata McGraw Hill, 2006.
3. P. Raghavan, Amol Lad, Sriram Neelakandan, Embedded Linux System Design and
Development, Auerbach Publications 2005.
4. Jonathan Corbet, Allesandro Rubini & Greg Kroah-Hartman, Linux Device Drivers
3rdedition, 2005.
Reference Books:
1. https://www.youtube.com/watch?v=PEzpOembKNc
2. https://www.youtube.com/watch?v=mCs21yByQqk
3. https://www.youtube.com/watch?v=hDn4hM148V8
3. Course Learning Objectives
• Understand the fundamental concepts of Operating Systems.
• Explain the mechanisms of Operating Systems to handle processes, threads
and their communication.
• Analyze the file structure and the protection and security mechanism.
• Explain the Memory management technique to improve the CPU utilisation and
its response speed.
4. Course outcomes (Course Skill Set)
CO1: Explain the basic concepts of operating systems and distributed systems.
CO2: Explain RTOS task scheduling, task synchronisation and task communication
mechanisms
CO3: Install Linux for specified configuration, develop Linux C programs and
implement Linux file system.
At the end of the course, students will be able to,
5. Continuous Internal Evaluation (CIE)
• Three IA Tests, each of 20 Marks
• Two assignments each of 10 Marks
• The sum of three tests, two assignments, will be out of 100 marks and will be scaled
down to 50 marks
The minimum passing mark for the CIE is 40% of the maximum marks (20 marks out of 50)
6. Semester End Examination(SEE)
• The question paper shall be set for 100 marks.
• The duration of SEE is 03 hours.
• The question paper will have 10 questions.
• 2 questions per module. Each question is set for 20 marks.
• The students have to answer 5 full questions, selecting one full question from each module.
• The student has to answer for 100 marks and marks scored out of 100 shall be
proportionally reduced to 50 marks.
• SEE minimum passing mark is 35% of the maximum marks (18 out of 50 marks).
• Students should secure a minimum of 40% (40 marks out of 100) in the sum total of the CIE and SEE
taken together.
8. Basic Principles, Operating System Structures, System Calls and Types,
Processes: Concept Scheduling – Inter-Process Communication,
Introduction to Distributed Operating System, Types of Network-Based OS.
Content
9. Introduction
• An operating system (OS) is a Software that manages the Computer hardware.
• It provides the basis for application programs
• Act as an intermediary between the application and hardware.
• Before exploring the role of an OS in a modern computing environment, it is essential to
understand the organization and architecture of computer hardware, including the CPU,
memory, I/O devices, and storage.
• The role of an operating system is to allocate these resources to programs.
10. Introduction
What does Operating Systems Do
• A computer system can be divided roughly into four components: the hardware, the operating system, the
application programs, and the user.
1. Hardware: CPU, memory, and I/O devices provide basic
computing resources for the system.
2. Application programs: Solve computing problems of
users (word, Excel, Business programs etc.)
3. OS: Controls and coordinates the use of hardware
among application programs.
4. Users: People, other computers
11. Introduction
OS Roles
• Resource allocation among users & applications
• Isolation of different users and applications from each other
• Communication between users & applications
• The operating system is the one program running at all times on the computer—usually called the kernel.
• Along with the kernel, there are two other types of programs:
1. System programs: are associated with the OS but are not necessarily part of the kernel.
2. Application programs: include all programs not associated with the operation of the system.
Definition of OS
Kernel is a core component of an OS and serves as the main interface between the computer's physical hardware and the processes running on it.
12. Introduction
OS Roles
User View
• PC users: the system is designed for one user to control its resources.
• The goal is to maximize the work (or play) that the user is performing.
• In such cases, the OS is designed for ease of use, with little attention paid to performance and none
towards resource utilization
• Such systems are optimized for the single-user experience rather than the requirements of multiple users.
• Terminal users: A user sits at a terminal connected to a mainframe or a minicomputer.
• Other users are accessing the same computer through other terminals.
• These users share resources and may exchange information.
• The OS is designed to maximize resource utilization—CPU time, memory, and I/O are used efficiently.
13. Introduction
OS Roles
User View
• Workstations are connected to networks of other workstations and servers.
• These users have dedicated resources, but also share resources such as networking & servers—file,
compute, and print servers.
• The OS is designed to compromise between individual usability and resource utilization.
• Embedded computers: in-home devices and automobiles may have numeric keypads and may
turn indicator lights on or off to show status.
• Their OS is designed primarily to run without user intervention.
14. Introduction
OS Roles
System View
• An OS acts as a resource allocator
• A computer system has many resources required to solve a problem: CPU time, memory space, file-storage
space, I/O devices, etc.
• The OS acts as the manager of these resources.
• An operating system is a control program.
• A control program manages the execution of user programs to prevent errors and improper computer use.
• It is especially concerned with the operation and control of I/O devices.
15. A personal computer today
Introduction
• Super AMOLED display
• Capacitive touchscreen (multitouch)
• Audio (speaker, microphone)
• Vibration
• S pen
• 13 MP front camera
• 2 MP back camera
• Accelerometer
• Gyroscope
• Proximity sensor
• Compass
• Barometer
• Temperature sensor
• Humidity sensor
• Gesture sensor
• GPS
• 4G LTE
• NFC
• WiFi
• Bluetooth
• Infrared
• 64 GB internal storage
• Adreno 330 GPU
• Hexagon DSP
• Multimedia processor
Interaction
Sensing
Connectivity & Storage
Acceleration
16. Why should I study Operating Systems?
• Need to understand the interaction between the hardware and software
• Need to understand basic principles in the design of computer systems
• Efficient resource management, security, etc.
• It enables you to do things that are difficult/impossible otherwise.
18. Computer-System Operation
• When the computer is powered up or rebooted, it needs an initial program to run.
• This initial program is called Bootstrap program
• Bootstrap program is stored ROM.
• It initializes all the hardware from CPU registers, device controllers & memory content.
• Bootstrap program knows how to load the OS and how to start executing that system.
• Bootstrap program will locate and load the OS kernel into memory.
• The OS executes the first process, such as “init,” and waits for some event to occur.
• An interrupt from either the hardware or the software signals the occurrence of an event.
• Hardware will trigger an interrupt at any time by sending a signal to the CPU
• Software will trigger an interrupt by executing a special operation called a system call
Kernel is a core component of an OS and serves as the main interface between the computer's physical hardware and the processes running on it.
What happens when we turn on computer?
19. Computer-System Operation
• The power supply sends electricity to the computer hardware,
such as the motherboard, hard drive, and fans.
• The BIOS (basic input/output system) initializes and performs a
power-on self-test (POST), which checks the basic hardware
components to ensure they are working properly. If any issues
are detected, error messages may be displayed.
• The OS, such as Windows or macOS, is loaded from the hard
drive into the computer’s RAM
• The OS then initializes its own components and drivers and
presents the login screen or desktop environment to the user.
What happens when we turn on computer?
21. Operating System Services
• An operating system provides an environment for the execution of programs.
• OS services provide functions that are helpful to the users.
A
view
of
operating
system
services
22. All operating systems have a user interface (UI).
The interface can take several forms:
a) Command-line interface (CLI)
b) Batch interface: Batch interfaces take a single command from the user
and process several tasks simultaneously without further user
interaction
c) Graphical user interface (GUI): the interface is a window system with
a pointing device to direct I/O, choose from menus, and make selections
and a keyboard to enter text.
• Some OS provides two or all three of these variations.
User interface
Operating-System Services
23. • The system must be able to load a program into memory and execute/run that program.
• The program must be able to end its execution, either normally or abnormally (indicating error).
Program Execution
• A running program may require I/O, which may involve a file or an I/O device.
• For specific devices, special functions may be desired (such as recording to a CD/or DVD drive)
• For efficiency and protection, users usually cannot control I/O devices directly.
• Hence, the operating system must provide a means to do I/O.
I/O operations
Operating-System Services
24. • Operating systems provide a variety of file systems
• Create, delete, search, and list file information.
• Permissions management to allow or deny access to files/directories based on file ownership
File-system manipulation
• The process needs to exchange information with another process.
• Communication may occur between processes executing on the same computer or between processes
executing on different computer systems tied together by a computer network.
• Communications may be implemented via shared memory / through message passing, in which packets of
information are moved between processes by the operating system.
Communications
Operating-System Services
25. • When there are multiple users / multiple jobs running at the same time, resources must be allocated to each
of them.
• The OS manages different types of resources.
• CPU cycles, main memory, and file storage have a special allocation code
• I/O devices may have much more general requests and release codes.
• Example: in determining how best to use the CPU, OS have CPU-scheduling routines that consider the
CPU’s speed, the jobs that must be executed, the number of registers available, etc.
• Routines to allocate printers, modems, USB storage drives, and other peripheral devices.
Resource Allocation
Operating-System Services
26. • The OS needs to be constantly aware of possible errors.
• Errors may occur in the;
a) CPU
b) Memory hardware (memory error or a power failure),
c) I/O devices (connection failure on a network or lack of paper in the printer),
d) User program (arithmetic overflow, CPU utilization)
• For each type of error, the OS should take the appropriate action to ensure correct and consistent
computing.
• Debugging facilities can significantly enhance the users’ and programmers’ abilities to use the system
efficiently.
Error Detection
Operating-System Services
27. • To keep track of which users use how much and what kinds of computer resources
• Record keeping: used for accounting.
• Usage statistics: a tool for researchers to reconfigure the system to improve computing services.
Accounting
Protection and security
• Protection involves ensuring all access to system resources is controlled.
• Security: involves the user to authenticate himself / herself to the system, using a password, to gain access
• Defending external I/O devices, modems and network adapters, from invalid access attempts and recording
all connections for detection of break-ins.
• If a system is to be protected and secure, precautions must be instituted throughout it.
Operating-System Services
28. Operating System Structure
An OS provides the environment / platform within which programs are executed.
While designing a new operating system, the goals of the system should be well-defined.
The goals form the basis for choices among various algorithms and strategies.
1. OS focuses on the services that the system provides.
2. Interface that it makes available to users and programmers;
3. Its components and their interconnections.
29. Operating System Structure
• Modern operating system must be engineered carefully if it is to function properly and be modified easily.
• A common approach is to partition the task into small components.
• Each of these modules should be a well-defined portion of the system, with carefully defined inputs,
outputs, and functions.
1. Simple Structure
2. Layered Approach
3. Microkernels
4. Modules
30. Operating-System Structure
• The important aspect of OS is the ability to multiprogram and multitask.
1. Multiprogramming
2. Multitasking (Time-sharing)
31. Operating-System Structure
• A single program cannot always keep the CPU or I/O devices busy.
• Multiprogramming increases CPU utilisation by organizing jobs (code and data),
so the CPU always has one job to execute.
• The OS simultaneously keeps several jobs in memory (Fig.)
• Since the main memory is too small to accommodate all jobs, the jobs are
kept on the disk in the job pool.
• The job pool consists of all processes residing on disk awaiting allocation of
main memory
Memory layout for a multiprogramming system
1. Multiprogramming
32. Operating-System Structure
• The operating system picks and executes one of the jobs in memory.
• The job may have to wait for some task, such as an I/O operation, to
complete.
• In a non-multiprogramming system, the CPU would sit idle.
• In a multiprogramming system, the OS switches to another job & executes it.
• When that job needs to wait, the CPU is switched to another job, and so on.
Eventually, the first job finishes waiting and gets the CPU back.
• As long as at least one job needs to execute, the CPU is never idle.
Example: While one case is waiting to go to trial or have papers typed, the lawyer can work on another case. If he has enough
clients, the lawyer will never be idle
1. Multiprogramming
33. Operating-System Structure
• Multiprogrammed systems provide an environment where the various system
resources (CPU, Memory, peripheral devices) are utilized effectively, but they
do not provide user interaction with the computer system.
1. Multiprogramming
34. Operating-System Structure
• Time sharing (or multitasking) is a logical extension of multiprogramming.
• In time-sharing systems, the CPU executes multiple jobs by switching among them.
• Switches occur so frequently that the users can interact with each program while it is running.
• Time sharing requires an interactive (or hands-on) computer system, which provides direct communication
between the user and the system.
• User gives instructions to the OS or a program directly, using an input device and waits for immediate results
on an output device.
• Accordingly, the response time should be short (Quick)—typically less than one second.
Time-sharing (Multitasking)
35. Operating-System Structure
• A time-shared OS allows many users to share the computer
simultaneously.
• Each command in a time-shared system tends to be short
(Quick);
• As the system switches rapidly from one user to the next, each
user is given the impression that the entire computer system is
dedicated to his use, though it is being shared among many
users.
Time-sharing (Multitasking)
36. Operating-System Structure
• A time-shared OS CPU scheduling and multiprogramming to provide each user with a time-shared computer.
• Each user has at least one separate program in memory.
• A program loaded into memory and executing is called a process.
• When a process executes for a short time before it either finishes or needs to perform I/O.
• I/O may be interactive; output goes to a display for the user, and input comes from a user’s keyboard, mouse,
or other device.
• The interactive I/O typically runs at “people speeds,” it may take a long time to complete.
Time-sharing
37. System Calls
• System calls provide/act as an interface between a process and an OS.
• System calls are available as routines written in C and C++
• There are 2 modes of execution for a program:
• 1) User mode
• Do not have access to resources like memory or hardware
• When a program crashes, the entire system will not break down
• 2) Kernel mode
• Privileged mode
• Have access to resources
• When a program crashes, the entire system breaks down
• As user mode is safer, most programs run in user mode.
• But some programs might need access to resources, so they will make a call to the OS to request these.
This call is a system call. When the OS receives the system call, it will change the mode of the program to
kernel mode. This is called mode switching.
38. System Calls
• Example of a system call sequence for writing a simple program to read data from one file and copy them to
another file
First sequence of System calls
Copying Process
39. System Calls
Types of System Calls
System calls can be grouped roughly into 5 major categories:
1. Process control
2. File manipulation
3. Device manipulation
4. Information Maintenance
5. Communications
40. System Calls
Types of System Calls
1. Process control: System calls that are used for controlling the process
◦ end, abort
◦ load, execute
◦ create process, terminate process
◦ get process attributes, set process attributes
◦ wait for time
◦ wait event, signal event
◦ allocate and free memory
• When a process runs, it has to run and terminate or hold
typically or abnormally.
• The process should come to a halt once it is completed;
otherwise, errors might occur.
• If the error occurs in the execution of the process, then that
process has to be halted or aborted abnormally
Examples of system calls
41. System Calls
Types of System Calls
2. File Management: System calls that are used for managing or manipulating the files
◦ create file, delete file
◦ open, close
◦ read, write, reposition
◦ get file attributes, set file attributes
Examples of system calls
42. System Calls
Types of System Calls
3. Device Management: System calls that are used for managing or manipulating devices (i/o, other devices)
◦ request device, release device
◦ read, write, reposition
◦ get device attributes, set device attributes
◦ logically attach or detach devices
Examples of system calls
• A process may need several resources to execute—main memory,
disk drives, and access to files.
• If the resources are available, they can be granted, and control can
be returned to the user process
43. System Calls
Types of System Calls
4. Information Maintenance: a system call used to maintain information.
• These system calls handle information and its transfer between the OS and the user program.
◦ get time or date, set time or date
◦ get system data, set system data
◦ get process, file, or device attributes
◦ set process, file, or device attributes
Examples of system calls
All the information about the system must be maintained and updated
Example: Date and time
44. System Calls
Types of System Calls
5. Communication: useful for interprocess communication, also deals with creating and deleting a
communication connection.
◦ create, delete communication connection
◦ send, and receive messages
◦ transfer status information
◦ attach or detach remote devices/computer from network
Examples of system calls
• These types of system calls are used for communication between different processes and devices.
When the process is executing it needs to communicate or access each other or other processes or needs to know the
state of other processes
To communicate between the two processes, we need to create a connection, after communication, we need to delete or
close the communication
45. System Calls
What is the Purpose of System Calls in OS?
• If a file system needs files to be created or deleted.
• A system call is also necessary for reading and writing from files.
• Development and administration of new procedures.
• System calls are also required for network connections. This also applies to
packet sending and receiving.
• A system call is necessary to access hardware such as a printer, scanner,
etc.
47. Process Management
• Early computer systems allowed only one program to be executed at a time.
• This program had complete control of the system and had access to all the system’s resources.
• Current-day computer systems allow multiple programs to be loaded into memory and executed
concurrently
• A process is the unit of work in a modern time-sharing system (Multitasking)
48. Process Management
• A process is a program in execution.
• A process need resources, such as CPU time, memory, files, & I/O devices, to accomplish its task.
• The resources are allocated to the process when it is created or while executing.
• Systems consist of a collection of processes:
• OS processes execute system code, and user processes execute user code.
• All processes may be executed concurrently.
• Traditionally, a process contained only a single thread of control.
• Modern operating systems now support processes that have multiple threads.
• The OS is responsible for the following activities;
• Creation & and deletion of both user and system processes
• Scheduling of processes;
• Mechanisms for synchronization, communication, & and handling for processes.
Process
49. Process Management
Process Concept
• A batch system executes a process (job), whereas a time-shared (multitasking) system has user programs
or tasks.
• Even on a single-user system such as MS Windows, a user may be able to run several programs at one
time: a word processor, a Web browser, and an e-mail package.
• Even if the user can execute only one program at a time, the operating system may need to support its
own internal programmed activities, such as memory management.
• All these activities are similar, we call all of them processes (jobs).
CPU Activities
50. Process Management
Process
Structure of Process in Memory
• A process is a program in execution.
• A process is more than the program code, known as a text section.
• Program includes the current activity, as represented by the program Counter (PC)
and the contents of the processor’s registers.
• Process stack: which contains temporary data (such as function parameters, return
addresses, and local variables)
• Data section: contains global variables.
• Heap: memory, dynamically allocated during process run time.
The structure of a process in memory is shown in Figure
51. Process Management
Process
Process in Memory
• A program by itself is not a process.
• Program is a passive entity, such as a file containing a list of instructions stored on
disk (often called an executable file),
• A process is an active entity, with a program counter specifying the next instruction to
execute
• A program becomes a process when an executable file is loaded into memory.
• Two techniques for loading executable files are
Double-clicking an icon and
Entering the name of the exe file in the command line
52. Process Management
Process
Process in Memory
• Two processes may be associated with the same program, they are nevertheless
considered two separate execution sequences.
• E.g., Users may be running different copies of the mail program, or may invoke many
copies of the Web browser program.
• Each of these is a separate process, and although the text sections are equivalent, the
data, heap, and stack sections vary.
53. Process Management
Process State
• As a process executes, it changes state.
• The state of a process is defined in part by the current activity of
that process.
• Each process may be in one of the following states:
• New: The process is being created.
• Running: Instructions are being executed.
• Waiting: Process is waiting for some event to occur (such as an
I/O completion)
• Ready: Process is waiting to be assigned to a processor.
• Terminated. Process has finished execution
Diagram of process state.
54. Process Management
Process Control Block
• Each process is represented in the OS by a process control block (PCB), also
called a task control block.
• PCB has many information associated with a specific process.
Process control block (PCB)
1. Process state: State may be new, ready, running, waiting, halted, and so on.
2. Process Number: Every process is assigned a unique id known as process ID
or PID which stores the process identifier.
3. Program counter: indicates the address of the next instruction to be executed
for this process
4. Registers: CPU registers which include the accumulator, base, registers, and
general-purpose registers.
55. Process Management
Process Control Block
Process control block
5. Memory-management information: information about the memory management system
used by the OS. This may include page tables, segment tables, etc.
6. Open files list: This information includes the list of files opened for a process.
7. Accounting information: Includes the amount of CPU used, and process numbers etc.
8. I/O status information: List of I/O devices used by the process.
56. Process Management
Threads
• Within a program, a Thread is a separate execution path.
• A thread is a single sequence stream within a process.
• OS creates and manages threads, and they share same memory and
resources as the program that created them. This enables multiple threads
to collaborate and work efficiently within a single program.
• Each thread belongs to exactly one process.
• Threads run in parallel improving the application performance
• Each such thread has its own CPU state and stack, but they share the
address space of the process and the environment.
MS Word uses multiple threads: one thread to format the text, another thread to process inputs, etc.
57. Process Management
Threads
• In an OS that supports multithreading, the process consist of many threads.
• But threads can be effective only if CPU is more than 1 otherwise two threads have to context switch for
that single CPU.
58. Process Scheduling
• Process scheduling is the activity of the process manager that handles the removal of the running
process from the CPU and the selection of another process based on a particular strategy.
• Process scheduling is an essential part of a Multiprogramming operating system.
• OS allow more than one process to be loaded into the memory at a time and the loaded process shares
the CPU using time multiplexing.
60. Process Scheduling
Types of Process Schedulers
There are three types of process schedulers
1. Long Term or Job Scheduler
2. Short-Term or CPU Scheduler
3. Medium-Term Scheduler
61. Process Scheduling
Types of Process Schedulers
1. Long Term or Job Scheduler
• It brings the new process to the ‘Ready State’.
• It controls the Degree of Multi-programming, i.e., no. of processes present in a ready state
• I/O-bound tasks use much of time in I/O operations while CPU-bound processes spend time on the CPU.
• Job scheduler increases efficiency by maintaining a balance between the two.
• Typically used in batch-processing systems.
62. Process Scheduling
Types of Process Schedulers
2. Short-Term or CPU Scheduler
• Short-term scheduler only selects the process to schedule it doesn’t load the process on running.
• Here is when all the scheduling algorithms are used.
63. Process Scheduling
Types of Process Schedulers
3. Medium-Term Scheduler
• It is responsible for suspending and resuming the process.
• It mainly does swapping (moving processes from main memory to disk and vice versa).
• Helps in maintaining a balance between the I/O bound and the CPU bound.
• It reduces the degree of multiprogramming.
64. Process Scheduling
Context Switching
• A context switching is the mechanism to store and restore the state or
context of a CPU in Process Control block so that a process execution can
be resumed from the same point at a later time.
• Context switcher enables multiple processes to share a single CPU.
• Context switching is an essential part of multitasking OS features.
• When the scheduler switches the CPU from executing one process to
another, the state of current running process is stored into the PCB.
• At that point, the second process can start executing.
65. Process Scheduling
Context Switching
• When the process is switched, the following information is stored for
later use.
• Program Counter
• Scheduling information
• Base and limit register value
• Currently used register
• Changed State
• I/O State information
• Accounting information
66. Process Scheduling
Interprocess Communication
• It is the mechanism provided by the OS, allows processes to communicate with each other.
• Communication involve a process letting another process know that some event has occurred or the
transferring of data from one process to another.
67. Process Scheduling
Interprocess Communication
Reasons for providing an environment that allows process cooperation
1. Computation speedup. If we want a particular task to run faster, we must break it into subtasks, each will
be executing in parallel with the others
2. Information sharing. users wants to share the information (shared file), we must provide an environment
to allow concurrent access to share information
3. Modularity. Users want to construct the system in a modular fashion, dividing the system functions into
separate process or threads
4. Convenience. users work on many tasks at the same time.
For instance, a user may be editing, printing, and compiling in parallel.
69. Process Scheduling
Interprocess Communication
• Shared Memory: type of memory, used or accessed by multiple processes simultaneously.
• Primarily used so that the processes can communicate with each other.
• Shared memory is used by almost all POSIX and Windows operating systems as well.
• Message Passing: Processes to synchronize and communicate with each other.
• By using the message passing, the processes can communicate with each other without restoring the
variables.
Message passing Shared memory
70. Process Scheduling
Interprocess Communication
Message passing
Shared memory
• Process A sends a message like “M” to the OS kernel.
• This message is then read by Process B.
• A communication link is required between the two processes for successful message
exchange.
• Process A wants to communicate with process B and needs to attach its address
space to this shared memory segment.
• Process A will write a message to the shared memory, and Process B will read that
message from the shared memory.
• Processes are responsible for ensuring synchronization so that both processes do not
write to the same location at the same time.
72. • A distributed system is a collection of processors (CPU) that do not share memory or a clock.
• Each processor has its own local memory.
• Processors communicate with one another through communication lines such as local-area or
wide-area networks.
Distributed Operating System
Small microprocessors, Workstations, Minicomputers,
and Large general-purpose computer systems.
73. • A distributed system is a collection of processors (CPU) that do not share memory or a clock.
• Each processor has its own local memory.
• Processors communicate with one another through communication lines such as local-area or
wide-area networks.
Distributed Operating System
Examples of Distributed Operating System
75. There are four major reasons for building distributed systems:
1. Resource sharing
2. Computation speedup
3. Reliability
4. Communication
Distributed Operating System
A distributed system
76. 1. Resource sharing
Distributed Operating System
If a number of different sites are connected to one
another, then a user at one site may be able to use the
resources available at another.
E.g.: User at site A may be using a laser printer located
at site B.
User at B may access a file that resides at A.
Distributed system provides mechanisms for sharing
files at remote sites, processing information in a
distributed database, printing files at remote sites, using
remote specialized hardware devices
A distributed system
77. 2. Computation Speedup
Distributed Operating System
• If a particular site is currently overloaded with jobs,
some of them can be moved to other, lightly loaded
sites. This movement of jobs is called load sharing
Automated load sharing, in which the distributed
operating system automatically moves jobs, is not yet
common in commercial systems.
A distributed system
78. 3. Reliability
Distributed Operating System
• If one site fails in a distributed system, the remaining
sites can continue operating, giving the system better
reliability.
• With enough redundancy (in both hardware and
data), the system can continue operation, even if
some of its sites have failed.
A distributed system
79. 4. Communication
Distributed Operating System
• When several sites are connected to one another by
a communication network, users at the various sites
have the opportunity to exchange information.
A distributed system
80. Applications of Distributed OS
Distributed Operating System
• Internet Technology
• Distributed databases System
• Air Traffic Control System
• Airline reservation Control systems
• Peep-to-peer networks system
• Telecommunication networks
• Scientific Computing System
• Cluster Computing
• Grid Computing
• Data rendering
81. Examples of Distributed Operating Systems
Distributed Operating System
• IRIX operating system is a Silicon Graphics multiprocessor workstation version of UNIX System VR3
• DYNIX operating system is used on Sequent Symmetry multiprocessor computers.
• AIX is an operating system designed for IBM RS/6000 systems.
• Open Foundation Software created the OSF/1 operating system, which is UNIX compatible.
• Mach/OS is a UNIX-compatible multi-threading and multitasking operating system.
• Solaris is an operating system for SUN multiprocessor workstations.
82. Types of Network based operating systems
Distributed Operating System
• Network OS provides an environment in which users can access remote resources by either logging in to
the appropriate remote machine or transferring data from the remote machine to their own machines.
1. Peer-to-Peer Systems
2. Client-Server Systems
3. Middleware
4. N-tier Systems
83. Types of Network based operating systems
Distributed Operating System
• In a peer-to-peer (P2P) distributed operating system, each computer or
node is equal in terms of functionality and can act as a client or server.
• Nodes can share resources such as processing power, storage, and
bandwidth with each other.
• P2P systems are often used in file sharing, instant messaging, and
gaming applications.
• They are also known as “Loosely Coupled Systems”
Peer-to-Peer Systems
84. Types of Network based operating systems
Distributed Operating System
• In a client-server distributed operating system, the server
provides a specific set of services or resources to the client.
• The client makes requests to the server, and the server responds
by providing the requested service or resource.
• Client-server distributed operating systems are commonly used
in enterprise applications
Client-Server Systems
85. Types of Network based operating systems
Distributed Operating System
• Middleware is a software layer that lies between the OS and application software.
• It provides a set of services that enable communication between different applications running
on different machines.
• Middleware is used to create distributed systems that can run across multiple platforms.
Middleware
86. Types of Network based operating systems
Distributed Operating System
• N-tier, in simpler terms, means - any number of tiers with
no limit.
• N-tier systems allow you to make use of computer
hardware and software resources dynamically
• N-tier distributed operating systems essentially allow you to
make your own mix of hardware and software layers to
provide a modular collection of services. Think of it as
software logo.
N-tier Systems