SlideShare a Scribd company logo
Overview of AMOEBA
Introduction:
 What is amoeba?
The Amoeba distributed operating system project is a research effort aimed at
understanding how to connect computers together in a seem less way.
 What is a distributed OS?
In this, users effectively log into the system as a whole, and not to a specific
machine.
When a program is run, the system, not the user, decides the best place to run
it. Introduction to Amoeba

Introduction to Amoeba:
Amoeba is an OS that performs all the standard functions of any OS, but it
performs them with a collection of machines.
One of the main goals of the Amoeba development team was to design a
transparent distributed system that allows users to log into the system as a
whole.
When a user logs into an Amoeba system, it seems like a powerful, singleprocessor, time-sharing system.

Research goals:
The first goal of the design team was to make Amoeba give its users the
illusion of interacting with a single system, even though the system was
distributed.
In addition to managing the Amoeba network, an Amoeba system can also act
as a router to connect several other networks together.
This is all accomplished with a (newly developed) Performance network
protocol called FLIP (Fast Local Internet Protocol).

Features
Amoeba is also a parallel system.
On an Amoeba system, a single program or command can use multiple
processors to increase performance.
Special development tools have been developed for an Amoeba environment
that take advantage of the inherent parallelism.
When a user logs into the Amoeba system that they can access the entire
system, and are not limited to only operations on their home machine.
The Amoeba architecture is designed as a collection of micro-kernels.
Amoeba implements a standard distributed client / server model, where user
processes and applications (the clients) communicate with servers that
perform the kernel operations.
An Amoeba system consists of four principle components: user workstations,
pool processors, specialized servers, and gateways.

The Amoeba System Architecture:
The workstations allow the users to gain access to the Amoeba system.
There is typically one workstation per user, and the workstations are all
diskless, so they act as intelligent terminals.
Amoeba supports X-windows and UNIX emulation, so X-window terminals
are often used to facilitate interaction with UNIX systems

The amoeba system software
The pool processors are unique with Amoeba
This is a group of CPUs that can be dynamically allocated as needed by the
system, and are returned to the pool when processing is complete.Servers
&Communication
At the heart of the Amoeba system are several specialized servers that carry
out and synchronize the fundamental operations of the kernel.
The Bullet Server, the Directory Server, the Replication server and the Run
server are different servers.
Remote Procedure call and Group communication are two different kinds of
communication procedures in amoeba.
The Amoeba microkernel
The Amoeba microkernel is used on all terminals (with an on-board
processor), processors, and servers
The microkernel:
a. manages processes and threads
b. provides low-level memory management support
c. supports inter process communication (point-to-point and group)
d. handles low-level I/O.

The Amoeba Servers:
OS functionality not provided by the microkernel is performed by Amoeba
servers
To use a server, the client calls a stub procedure which marshalls parameters,
sends the message, and blocks until the result comes back Server Basics
Amoeba uses capabilities
Every OS data structure is an object, managed by a server
To perform an operation on an object, a client performs an RPC with the
appropriate server, specifying the object, the operation to be performed and
any parameters needed.
The operation is transparent (client does not know where server is, nor how
the operation is performed)

Capabilities:
To create an object the client performs an RPC with the server
Server creates the object and returns a capability
To use the object in the future, the client must present the correct capability

The check field is used to protect the capability against forgery
Object protection:
When an object is created, server generates random check field, which it
stores both in the capability and in its own tables
The rights bits in the capability are set to on
The server sends the owner capability back to the client
Creating a capability with restricted rights

Client can send this new capability to another process of restricted capability.

Process Management in Amoeba:
Processes.
Process management.

Process descriptor.

Library procedures.

Threads.

Synchronization between threads.
PROCESSES
A Process is an object in amoeba.

Process creation in amoeba is different from
unix.

In amoeba it is possible to create a new process
on a specified processor with the intended
memory image starting at the beginning.

In this one aspect a process creation is similar to
MS-DOS.
•
A process can be in two states.
1.
Running 2.StunnedPROCESS MANAGEMENT
•
Process management is handled at 3 levels in
amoeba.
1.
The lowest level are the process servers, which
are kernel threads running on every machine.
2.
We have a set of library procedures that provide
a more convenient interface for user programs.
3.
Finally, the simplest way to create a new process
is to use the run server, which does the most of
the work of determining where to run the new
process.PROCESS DESCRIPTOR
•
Some of the process management calls use a
data structure called process descriptor to
provide information about the process to be run.
1.
First field,
host descriptor
tells which CPU
architecture the process can run on.
2.
Second field contains a capability for
communicating the exit status to the owner.
3.
Third field
memory map
contains a descriptor
for each segment in process’ address space.
4.
Finally the process descriptor also contains a
thread descriptor
for each thread in the process. Process descriptor
Architecture = 386
Capability for exit status
Segment Descriptors
Th1
PC1
SP1
Th2
PC2
SP2
Th3
PC3
SP3
Program
counters
Text
Shared
Data
Private Data
Stacks
SegmentsLIBRARY PROCEDURES
•
Low level process interface consists of library
procedures.
1.
Exec:
It’s function is to do RPC with the
specified process server asking to run the
process.
2.
Getload
: It returns the information about the
CPU speed, current load and the amount of
memory free at the moment.
3.
Stun:
The parent can suspend a process by
stunning it.THREADS
•
Amoeba supports a simple threads model.
•
Glocal variables.SYNCHRONIZATION BETWEEN
THREADS
•
Three methods are provided for threads to
synchronize.
1.
Signals.
2.
Mutexes.
3.
Semaphores.SYNCHRONIZATION METHODS
•
Signals
are asynchronous interrupts sent
from one thread to another thread in the
same process.
•
Mutex
is like a binary semaphore . It can be
in one of the two states , locked or
unlocked.
•
Semaphores
are slower than mutexes but
there are times when they are needed.•
All threads are managed by the kernel. The
advantage of this design is that when a
thread does RPC, the kernel can block the
thread and schedule another one in the same
process if one is ready.
•
Thread scheduling is done using priorities,
with kernel threads getting higher priority
than user threads.MEM0RY MANAGEMENTMEMORY MANAGEMENT
•
Entirely in physical memory .
•
Segments contiguous in address space .
•
Segments are objects.
•
Any process with capability to segment could
read/write it (with proper permissions) .
•
Shared memory communications (need not be
on same machine.
•
Main memory file server .SEGMENTS
•
A segment is a contigous block of memory that can contain
code or data.
•
Each segment has a capability that permits its holder to
perform operations on int, such as reading and writing.
•
A segment is somewhat like an in-core file, with similar
properties.
•
Segments cannot be swapped or paged.SEGMENTS
Cont……….
•
When a segment is created it is given an initial value. This
size may change during the process execution.
•
The segment may also given initial value either from
another segment or from a file.
•
Processes have several calls available to them for
managing segments.
•
Most important among these is the ability to create, read
and write segments.
•
When a segment is created, the caller gets back a capability
for it.
•
This capability is used for all other calls involving the
segment.SEGMENT
Cont…..
•
A main memory file server
can be constructed using
segments because of their read and write properties.
•
The server creates a segment as large as it can.
•
This segment will be used as a simulated disk.
•
The server then formats the segment as a file system,
putting in whatever data structures it needs to keep track of
the files.
•
After that, it is open for business, accepting and processing
requests from clients.MEMORY MODEL
•
Amoeba has an extremely simple memory model.
•
A process can have any number of segments.
•
They can be located wherever it wants in the process’s
virtual address space.
•
The virtual address spaces in Amoeba are constructed from
segments.
•
Segments are not swapped or paged, so a process must be
entirely memory resident to run.
•
Although the hardware MMU is used, each segment is
stored contiguously in memory.
Cont….•
This design was done for three reasons: Performance,
Simplicity, Economics.
•
Having a process entirely in memory all
the time makes RPC
go faster.
•
This design has allowed Amoeba
to achieve extremely high
transfer rates for large RPC’s
•
Not having paging or swapping makes the system
considerably simpler and makes the kernel smaller and more
feasible.
•
Memory is becoming so cheap that within a few years, all
Amoeba machines will probably have tens of megabytes of it.MAPPED
SEGMENTS
•
When a process is started, it must have at least one
segment.
•
Once it is running, a process can create additional
segments and map them into its address space at any
unused virtual address.S
D
T
S
D
T
Process virtual address space
Memory segments
A process with three segments mapped into its virtual address space.UNMAPPED
SEGMENTS
•
A process can also unmap segments.
•
A process can specify a range of virtual addresses and
request that the range be unmapped.
•
When a segment is unmapped a capability is returned, so
the segment may still be accessed, or even be remapped .COMMUNICATIONS IN
AMOEBACOMMUNICATION IN
AMOEBA
•
Remote procedure call (RPC)
•
Group communicationREMOTE PROCEDURE CALL
•
POINT-TO-POINT COMMUNICATION
With client sending a message followed by
server sending a reply
•
REQUEST/REPLY MESSAGE EXCHANGE
Each standard server defines a procedural
interface that clients can call•
FINDING SERVER’S ADDRESS
Addressing is done by allowing

More Related Content

What's hot

Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2daniyalqureshi712
 
Parallel processing
Parallel processingParallel processing
Parallel processing
Shivalik college of engineering
 
Parallel processing
Parallel processingParallel processing
Parallel processing
Syed Zaid Irshad
 
1 introduction
1 introduction1 introduction
1 introduction
Dr. Loganathan R
 
Computer architecture
Computer architecture Computer architecture
Computer architecture Ashish Kumar
 
Dynamic loading
Dynamic loadingDynamic loading
Dynamic loading
A. S. M. Shafi
 
Epc 3.ppt
Epc 3.pptEpc 3.ppt
Epc 3.ppt
CasmoletJ
 
Assembly final 2
Assembly final 2Assembly final 2
Assembly final 2
JAMIL AHMED SHAH
 
Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2
Ismail Mukiibi
 
Unit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationUnit IV Memory and I/O Organization
Unit IV Memory and I/O Organization
Balaji Vignesh
 
Driver development – memory management
Driver development – memory managementDriver development – memory management
Driver development – memory management
Vandana Salve
 
Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler
Sarwan ali
 
Parallel Processing (Part 2)
Parallel Processing (Part 2)Parallel Processing (Part 2)
Parallel Processing (Part 2)
Ajeng Savitri
 
Parallel computing
Parallel computingParallel computing
Parallel computing
Vinay Gupta
 
Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
Ajeng Savitri
 
04 cache memory
04 cache memory04 cache memory
04 cache memory
dilip kumar
 

What's hot (19)

Parallel Processing Presentation2
Parallel Processing Presentation2Parallel Processing Presentation2
Parallel Processing Presentation2
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
1 introduction
1 introduction1 introduction
1 introduction
 
Computer architecture
Computer architecture Computer architecture
Computer architecture
 
Lecture5
Lecture5Lecture5
Lecture5
 
Mimd
MimdMimd
Mimd
 
Dynamic loading
Dynamic loadingDynamic loading
Dynamic loading
 
Epc 3.ppt
Epc 3.pptEpc 3.ppt
Epc 3.ppt
 
Assembly final 2
Assembly final 2Assembly final 2
Assembly final 2
 
Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2
 
Unit IV Memory and I/O Organization
Unit IV Memory and I/O OrganizationUnit IV Memory and I/O Organization
Unit IV Memory and I/O Organization
 
Lecture4
Lecture4Lecture4
Lecture4
 
Driver development – memory management
Driver development – memory managementDriver development – memory management
Driver development – memory management
 
Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler Chip Multithreading Systems Need a New Operating System Scheduler
Chip Multithreading Systems Need a New Operating System Scheduler
 
Parallel Processing (Part 2)
Parallel Processing (Part 2)Parallel Processing (Part 2)
Parallel Processing (Part 2)
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Parallel Processing
Parallel ProcessingParallel Processing
Parallel Processing
 
04 cache memory
04 cache memory04 cache memory
04 cache memory
 

Similar to New microsoft office word document

Distributed operating system amoeba case study
Distributed operating system  amoeba case studyDistributed operating system  amoeba case study
Distributed operating system amoeba case study
RamuAryan
 
Symmetric multiprocessing and Microkernel
Symmetric multiprocessing and MicrokernelSymmetric multiprocessing and Microkernel
Symmetric multiprocessing and Microkernel
Manoraj Pannerselum
 
22CS201 COA
22CS201 COA22CS201 COA
22CS201 COA
Kathirvel Ayyaswamy
 
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptxassignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
23mu36
 
OS UNIT1.pptx
OS UNIT1.pptxOS UNIT1.pptx
OS UNIT1.pptx
DHANABALSUBRAMANIAN
 
Ch03-OS OPERATING SYSTEM WILL HELP YOU.pdf
Ch03-OS OPERATING SYSTEM WILL HELP YOU.pdfCh03-OS OPERATING SYSTEM WILL HELP YOU.pdf
Ch03-OS OPERATING SYSTEM WILL HELP YOU.pdf
cVan3
 
4.Process.ppt
4.Process.ppt4.Process.ppt
4.Process.ppt
AkfeteAssefa
 
Distributed Shared Memory
Distributed Shared MemoryDistributed Shared Memory
Distributed Shared Memory
Prakhar Rastogi
 
What is operating system
What is operating systemWhat is operating system
What is operating system
Suvithak
 
Chapter 10
Chapter 10Chapter 10
Os
OsOs
MK Sistem Operasi.pdf
MK Sistem Operasi.pdfMK Sistem Operasi.pdf
MK Sistem Operasi.pdf
wisard1
 
Operating Systems
Operating Systems Operating Systems
Operating Systems
Fahad Shaikh
 
Distributive operating system
Distributive operating systemDistributive operating system
Distributive operating system
Muhammad Adeel Rajput
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processing
Syed Zaid Irshad
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
BishowRajBaral
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
Gd Goenka University
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
infomerlin
 
UNIT-2 OS.pptx
UNIT-2 OS.pptxUNIT-2 OS.pptx
UNIT-2 OS.pptx
ssusera387fd1
 

Similar to New microsoft office word document (20)

Distributed operating system amoeba case study
Distributed operating system  amoeba case studyDistributed operating system  amoeba case study
Distributed operating system amoeba case study
 
Symmetric multiprocessing and Microkernel
Symmetric multiprocessing and MicrokernelSymmetric multiprocessing and Microkernel
Symmetric multiprocessing and Microkernel
 
22CS201 COA
22CS201 COA22CS201 COA
22CS201 COA
 
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptxassignment_presentaion_jhvvnvhjhbhjhvjh.pptx
assignment_presentaion_jhvvnvhjhbhjhvjh.pptx
 
OS UNIT1.pptx
OS UNIT1.pptxOS UNIT1.pptx
OS UNIT1.pptx
 
Ch03-OS OPERATING SYSTEM WILL HELP YOU.pdf
Ch03-OS OPERATING SYSTEM WILL HELP YOU.pdfCh03-OS OPERATING SYSTEM WILL HELP YOU.pdf
Ch03-OS OPERATING SYSTEM WILL HELP YOU.pdf
 
4.Process.ppt
4.Process.ppt4.Process.ppt
4.Process.ppt
 
Distributed Shared Memory
Distributed Shared MemoryDistributed Shared Memory
Distributed Shared Memory
 
What is operating system
What is operating systemWhat is operating system
What is operating system
 
Chapter 10
Chapter 10Chapter 10
Chapter 10
 
Os
OsOs
Os
 
Os
OsOs
Os
 
MK Sistem Operasi.pdf
MK Sistem Operasi.pdfMK Sistem Operasi.pdf
MK Sistem Operasi.pdf
 
Operating Systems
Operating Systems Operating Systems
Operating Systems
 
Distributive operating system
Distributive operating systemDistributive operating system
Distributive operating system
 
Parallel & Distributed processing
Parallel & Distributed processingParallel & Distributed processing
Parallel & Distributed processing
 
Cluster Computing
Cluster ComputingCluster Computing
Cluster Computing
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
 
UNIT-2 OS.pptx
UNIT-2 OS.pptxUNIT-2 OS.pptx
UNIT-2 OS.pptx
 

Recently uploaded

zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 

Recently uploaded (20)

zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 

New microsoft office word document

  • 1. Overview of AMOEBA Introduction:  What is amoeba? The Amoeba distributed operating system project is a research effort aimed at understanding how to connect computers together in a seem less way.  What is a distributed OS? In this, users effectively log into the system as a whole, and not to a specific machine. When a program is run, the system, not the user, decides the best place to run it. Introduction to Amoeba Introduction to Amoeba: Amoeba is an OS that performs all the standard functions of any OS, but it performs them with a collection of machines. One of the main goals of the Amoeba development team was to design a transparent distributed system that allows users to log into the system as a whole. When a user logs into an Amoeba system, it seems like a powerful, singleprocessor, time-sharing system. Research goals: The first goal of the design team was to make Amoeba give its users the illusion of interacting with a single system, even though the system was distributed. In addition to managing the Amoeba network, an Amoeba system can also act as a router to connect several other networks together. This is all accomplished with a (newly developed) Performance network protocol called FLIP (Fast Local Internet Protocol). Features Amoeba is also a parallel system. On an Amoeba system, a single program or command can use multiple processors to increase performance.
  • 2. Special development tools have been developed for an Amoeba environment that take advantage of the inherent parallelism. When a user logs into the Amoeba system that they can access the entire system, and are not limited to only operations on their home machine. The Amoeba architecture is designed as a collection of micro-kernels. Amoeba implements a standard distributed client / server model, where user processes and applications (the clients) communicate with servers that perform the kernel operations. An Amoeba system consists of four principle components: user workstations, pool processors, specialized servers, and gateways. The Amoeba System Architecture: The workstations allow the users to gain access to the Amoeba system. There is typically one workstation per user, and the workstations are all diskless, so they act as intelligent terminals. Amoeba supports X-windows and UNIX emulation, so X-window terminals are often used to facilitate interaction with UNIX systems The amoeba system software The pool processors are unique with Amoeba This is a group of CPUs that can be dynamically allocated as needed by the system, and are returned to the pool when processing is complete.Servers &Communication At the heart of the Amoeba system are several specialized servers that carry out and synchronize the fundamental operations of the kernel.
  • 3. The Bullet Server, the Directory Server, the Replication server and the Run server are different servers. Remote Procedure call and Group communication are two different kinds of communication procedures in amoeba. The Amoeba microkernel The Amoeba microkernel is used on all terminals (with an on-board processor), processors, and servers The microkernel: a. manages processes and threads b. provides low-level memory management support c. supports inter process communication (point-to-point and group) d. handles low-level I/O. The Amoeba Servers: OS functionality not provided by the microkernel is performed by Amoeba servers To use a server, the client calls a stub procedure which marshalls parameters, sends the message, and blocks until the result comes back Server Basics Amoeba uses capabilities Every OS data structure is an object, managed by a server To perform an operation on an object, a client performs an RPC with the appropriate server, specifying the object, the operation to be performed and any parameters needed. The operation is transparent (client does not know where server is, nor how the operation is performed) Capabilities: To create an object the client performs an RPC with the server Server creates the object and returns a capability To use the object in the future, the client must present the correct capability The check field is used to protect the capability against forgery
  • 4. Object protection: When an object is created, server generates random check field, which it stores both in the capability and in its own tables The rights bits in the capability are set to on The server sends the owner capability back to the client Creating a capability with restricted rights Client can send this new capability to another process of restricted capability. Process Management in Amoeba: Processes. Process management. Process descriptor. Library procedures. Threads. Synchronization between threads. PROCESSES
  • 5. A Process is an object in amoeba. Process creation in amoeba is different from unix. In amoeba it is possible to create a new process on a specified processor with the intended memory image starting at the beginning. In this one aspect a process creation is similar to MS-DOS. • A process can be in two states. 1. Running 2.StunnedPROCESS MANAGEMENT • Process management is handled at 3 levels in amoeba. 1. The lowest level are the process servers, which are kernel threads running on every machine. 2. We have a set of library procedures that provide a more convenient interface for user programs. 3.
  • 6. Finally, the simplest way to create a new process is to use the run server, which does the most of the work of determining where to run the new process.PROCESS DESCRIPTOR • Some of the process management calls use a data structure called process descriptor to provide information about the process to be run. 1. First field, host descriptor tells which CPU architecture the process can run on. 2. Second field contains a capability for communicating the exit status to the owner. 3. Third field memory map contains a descriptor for each segment in process’ address space. 4. Finally the process descriptor also contains a thread descriptor for each thread in the process. Process descriptor
  • 7. Architecture = 386 Capability for exit status Segment Descriptors Th1 PC1 SP1 Th2 PC2 SP2 Th3 PC3 SP3 Program counters Text Shared Data Private Data Stacks SegmentsLIBRARY PROCEDURES • Low level process interface consists of library procedures. 1. Exec:
  • 8. It’s function is to do RPC with the specified process server asking to run the process. 2. Getload : It returns the information about the CPU speed, current load and the amount of memory free at the moment. 3. Stun: The parent can suspend a process by stunning it.THREADS • Amoeba supports a simple threads model. • Glocal variables.SYNCHRONIZATION BETWEEN THREADS • Three methods are provided for threads to synchronize. 1. Signals. 2. Mutexes. 3.
  • 9. Semaphores.SYNCHRONIZATION METHODS • Signals are asynchronous interrupts sent from one thread to another thread in the same process. • Mutex is like a binary semaphore . It can be in one of the two states , locked or unlocked. • Semaphores are slower than mutexes but there are times when they are needed.• All threads are managed by the kernel. The advantage of this design is that when a thread does RPC, the kernel can block the thread and schedule another one in the same process if one is ready. • Thread scheduling is done using priorities, with kernel threads getting higher priority than user threads.MEM0RY MANAGEMENTMEMORY MANAGEMENT •
  • 10. Entirely in physical memory . • Segments contiguous in address space . • Segments are objects. • Any process with capability to segment could read/write it (with proper permissions) . • Shared memory communications (need not be on same machine. • Main memory file server .SEGMENTS • A segment is a contigous block of memory that can contain code or data. • Each segment has a capability that permits its holder to perform operations on int, such as reading and writing. • A segment is somewhat like an in-core file, with similar properties. • Segments cannot be swapped or paged.SEGMENTS Cont……….
  • 11. • When a segment is created it is given an initial value. This size may change during the process execution. • The segment may also given initial value either from another segment or from a file. • Processes have several calls available to them for managing segments. • Most important among these is the ability to create, read and write segments. • When a segment is created, the caller gets back a capability for it. • This capability is used for all other calls involving the segment.SEGMENT Cont….. • A main memory file server can be constructed using segments because of their read and write properties. • The server creates a segment as large as it can.
  • 12. • This segment will be used as a simulated disk. • The server then formats the segment as a file system, putting in whatever data structures it needs to keep track of the files. • After that, it is open for business, accepting and processing requests from clients.MEMORY MODEL • Amoeba has an extremely simple memory model. • A process can have any number of segments. • They can be located wherever it wants in the process’s virtual address space. • The virtual address spaces in Amoeba are constructed from segments. • Segments are not swapped or paged, so a process must be entirely memory resident to run. • Although the hardware MMU is used, each segment is stored contiguously in memory.
  • 13. Cont….• This design was done for three reasons: Performance, Simplicity, Economics. • Having a process entirely in memory all the time makes RPC go faster. • This design has allowed Amoeba to achieve extremely high transfer rates for large RPC’s • Not having paging or swapping makes the system considerably simpler and makes the kernel smaller and more feasible. • Memory is becoming so cheap that within a few years, all Amoeba machines will probably have tens of megabytes of it.MAPPED SEGMENTS • When a process is started, it must have at least one segment. • Once it is running, a process can create additional segments and map them into its address space at any
  • 14. unused virtual address.S D T S D T Process virtual address space Memory segments A process with three segments mapped into its virtual address space.UNMAPPED SEGMENTS • A process can also unmap segments. • A process can specify a range of virtual addresses and request that the range be unmapped. • When a segment is unmapped a capability is returned, so the segment may still be accessed, or even be remapped .COMMUNICATIONS IN AMOEBACOMMUNICATION IN AMOEBA • Remote procedure call (RPC) • Group communicationREMOTE PROCEDURE CALL •
  • 15. POINT-TO-POINT COMMUNICATION With client sending a message followed by server sending a reply • REQUEST/REPLY MESSAGE EXCHANGE Each standard server defines a procedural interface that clients can call• FINDING SERVER’S ADDRESS Addressing is done by allowing