Font size
WorksheetsQuiz on Processes in Distributed System
Total questions: 60
Worksheet time: 35mins
What is the main role of processes in distributed systems?
D. Mimicking interfaces
C. Providing a building block for managing tasks
B. Handling external events
A. Managing multiple threads efficiently
What is the purpose of thread context switching in distributed systems?
D. To handle external events
A. To save the state of the current process
B. To manage multiple threads within a process
C. To efficiently switch between threads
What is the benefit of using threads in a distributed system to avoid needless blocking?
A. Avoiding idle CPU time
C. Avoiding process switching
D. Handling external events
B. Exploiting parallelism
What is the main trade-off of threads sharing the same address space in a distributed system?
A. Increased efficiency
B. Reduced errors
C. Potential data corruption
D. Improved performance
What is the Thread-Level Parallelism (TLP) range for a typical web browser?
D. 2.5 - 3.0
C. 1.5 - 2.5
B. 1.0 - 1.5
A. 0.5 - 1.0
What is the purpose of virtualization in distributed systems?
A. Enhancing hardware performance
D. Increasing network latency
B. Simplifying code migration
C. Isolating components
What is the main principle of virtualization?
B. Abstracting physical resources
C. Enhancing portability
A. Mimicking hardware interfaces
D. Simplifying code migration
What is the benefit of using a dispatcher/worker model in server environments?
D. Reducing parallelism
B. Handling blocking system calls
C. Increasing network latency
A. Maximizing idle time
What are the three key types of cloud services typically offered by cloud providers?
A) Infrastructure-as-a-Service, Platform-as-a-Service, Software-as-a-Service
B) Data-as-a-Service, Network-as-a-Service, Application-as-a-Service
D) Platform-as-a-Service, Software-as-a-Service, Network-as-a-Service
C) Storage-as-a-Service, Security-as-a-Service, Database-as-a-Service
Which type of server handles one request at a time before moving on to the next request?
A) Concurrent Server
B) Stateless Server
C) Iterative Server
D) Stateful Server
What is the primary limitation of an iterative server?
C) High resource consumption
B) Lack of security features
D) Slow response time
A) Inability to handle multiple requests simultaneously
In the context of server clusters, what is the purpose of TCP handoff?
A) To establish secure connections
B) To distribute the load evenly among servers
C) To handle urgent data requests
D) To improve server performance
What is the key consideration when spreading servers across the Internet?
A) Load balancing
C) Administrative challenges
D) Network latency
B) Data encryption
What is the purpose of the object adapter in object servers?
D) To improve server scalability
C) To handle urgent requests
B) To implement a specific activation policy
A) To manage client connections
What is the significance of using load balancing in distributed systems?
A. Maximizing server utilization
C. Minimizing network latency
D. Reducing server security risks
B. Enhancing data encryption
What is the primary purpose of a stateless server in a distributed system?
C) Storing client session data
B) Managing multiple requests simultaneously
D) Ensuring data consistency
A) Handling each request independently
Why is fault tolerance important in distributed systems?
A. To increase network latency
D. To reduce server performance
B. To handle unexpected failures
C. To limit data encryption
What is the primary purpose of using a dispatcher/worker model in server environments?
A. Maximizing parallelism
B. Handling non-blocking system calls
C. Minimizing network latency
D. Improving server scalability
What is the main advantage of utilizing load balancing in distributed systems?
A. Enhancing server security
B. Minimizing data encryption
C. Maximizing server utilization
D. Reducing network latency
What is the basic idea behind threads in a distributed system?
Threads are physical processors
Threads are software processors that execute a series of instructions
Threads are used for blocking I/O operations
Threads are used for process switching
What is the minimal collection of values stored in registers and memory used for the execution of a series of instructions in a thread context?
Processor context
Thread context
MMU register values
Process context
Why are threads used in a multithreaded process?
To avoid process switching
To structure large applications as a collection of processes
To avoid blocking I/O operations
To exploit parallelism
What is a direct cost of a context switch?
Executing code of the handler
Accessing block D
Messing up the cache
Actual switch and executing code of the handler
What is the main issue when deciding whether an OS kernel should provide threads?
Performance gain vs. increased complexity
Complexity of the kernel
Support for user-level threads
Efficiency of thread operations
What is the principle operation of user and kernel threads combined?
Kernel schedules another kernel thread with a runnable user thread
User thread does system call, kernel thread blocks
User thread calls a blocking user-level operation
Kernel thread remains idle when no user threads to schedule
How does a multithreaded web client hide network latencies?
By reacting to next request while previous one is being replied
By avoiding process switching
By exploiting parallelism
By switching CPU to another thread
What is the principle of virtualization based on?
Isolation of components
Ease of portability
Hardware changes
Mimicking interfaces
What is the main reason for using containers in distributed systems?
Load distribution
Privacy and security
Flexibility in code migration
Performance of migrating virtual machines
What is the main problem when migrating code in heterogeneous systems?
Hardware compatibility
Lack of virtualization
Data transfer speed
Dependency on local hardware and OS
What is the difference between weak and strong mobility in code migration?
Weak mobility moves code and data segment, strong mobility moves entire object
Weak mobility moves only code segment, strong mobility moves code and data segment
Weak mobility moves code and data segment, strong mobility moves execution state
Weak mobility moves execution state, strong mobility moves code and data segment
What is the common approach for request dispatching in server clusters?
Moving the entire object
TCP handoff
Stopping the current virtual machine
Use of DNS
What is the purpose of a cache in a Content Delivery Network (CDN)?
To reduce administrative problems
To store passive data only
To hold application code and data
To improve server performance
What is the main reason for migrating code in distributed systems?
Performance of migrating virtual machines
Privacy and security
Load distribution
Flexibility in code migration
What is the primary purpose of using load balancing in server clusters?
Ensuring data privacy
Improving server performance
Enhancing network security
Optimizing resource utilization
What is the common approach for request dispatching in server clusters?
Moving the entire object
TCP handoff
Stopping the current virtual machine
Use of DNS
What is the main challenge when migrating code in heterogeneous systems?
Hardware compatibility
Lack of virtualization
Data transfer speed
Dependency on local hardware and OS
What distinguishes weak mobility from strong mobility in code migration?
Weak mobility moves code and data segment, strong mobility moves entire object
Weak mobility moves only code segment, strong mobility moves code and data segment
Weak mobility moves code and data segment, strong mobility moves execution state
Weak mobility moves execution state, strong mobility moves code and data segment
What is the key factor to consider when migrating code in heterogeneous systems?
Hardware compatibility
Lack of virtualization
Data transfer speed
Dependency on local hardware and OS
What is the fundamental concept behind virtualization in code migration?
Isolation of components
Ease of portability
Hardware changes
Mimicking interfaces
When deciding whether an OS kernel should provide threads, what is the primary consideration?
Performance gain vs. increased complexity
Complexity of the kernel
Support for user-level threads
Efficiency of thread operations
Why is load balancing essential in a corporate network setup?
Ensuring data privacy
Improving server performance
Enhancing network security
Optimizing resource utilization
The process context in a distributed system primarily contains:
Source code and compiled binaries of the program
The execution state such as registers, program counter, and memory mapping
Only the variables and constants used in the program
Network configuration details for inter-process communication
Why is context switching considered “costly” in distributed systems?
Because it requires rewriting the program code before each execution
Because it permanently deletes the process context each time
Because it involves saving and restoring process state, which consumes CPU cycles
Because it requires communication with remote servers on every switch
Which statement correctly describes user-level threads?
They are managed in user space and are faster to create but block if one thread blocks
They allow true parallelism on multicore systems
They are managed by the OS kernel and provide full preemption
They require hardware virtualization support
Why does multithreading improve responsiveness at the client side?
Because it requires rewriting the program code before each execution
Because it involves saving and restoring process state, which consumes CPU cycles
Because it permanently deletes the process context each time
Because it requires communication with remote servers on every switch
A server that handles thousands of client requests simultaneously most likely relies on:
Single-threaded event loops only
Forking a new process per request
Multithreading with thread pools
Static scheduling of one request at a time
Which of the following is TRUE about containers compared to virtual machines?
Containers run their own OS kernel separate from the host
Containers are slower to start but provide stronger isolation
Containers cannot run multiple applications at once
Containers share the host kernel, making them more lightweight
Which statement best describes strong mobility?
Code and current execution state are transferred, allowing continuation
Code is moved but starts execution from the beginning
Code migration is restricted to homogeneous environments only
Code migration is always faster than VM migration
Which scenario best illustrates code migration in a distributed system?
Copying a user’s entire virtual machine image to a new server
Sending executable code to a remote server to run close to the data
Backing up files from one server to another
Moving a database from HDD to SSD storage
What is the main challenge of maintaining stateful servers across the Internet?
They cannot handle more than one client
They always lose state when restarted
They cannot be migrated to the cloud
They need to synchronize state consistently across failures and network partitions
Why does VM migration sometimes cause downtime in cloud systems?
Because the VM must recompile its source code during migration
Because memory pages and process states must be copied and synchronized
Because the VM cannot operate on heterogeneous hardware
Because containers are always faster and require no migration
Threads managed entirely in user space are called (a) threads.
The technique of running multiple isolated operating systems on one machine is called (a) .
Moving an entire virtual machine across hosts is known as VM (a) .
Servers that keep session information are called (a) servers.
Containers share the host’s (a) .
The brief interruption experienced during VM migration is (a) time
Context switching is most problematic in (a) -sensitive systems.
A web server that handles many requests without keeping session data is (a) .
Migrating code to IoT devices reduces (a) overhead.
