1. What are the
benefits of multithreaded programming?
The benefits of multithreaded
programming can be broken down into four major categories:
• Responsiveness
• Resource sharing
• Economy
• Utilization of
multiprocessor architectures
2.Compare user
threads and kernel threads.
User threads
User threads are supported above the
kernel and are implemented by a thread library at the user level. Thread
creation & scheduling are done in the user space, without kernel
intervention. Therefore they are fast to create and manage blocking system call
will cause the entire process to block
Kernel threads
Kernel threads are supported directly by
the operating system .Thread creation, scheduling and management are done by
the operating system. Therefore they are slower to create & manage compared
to user threads. If the thread performs a blocking system call, the kernel can
schedule another thread in the application for execution.
3.What is the
use of fork and exec system calls?
Fork is a system call by
which a new process is created.Exec is also a system call, which is used after
a fork by one of the two processes to place the process memory space with a new
program.
4.Define thread
cancellation & target thread.
The thread cancellation is
the task of terminating a thread before it has completed. A thread that is to
be cancelled is often referred to as the target thread.For example, if multiple
threads are concurrently searching through a database and one thread returns
the result, the remaining threads might be cancelled.
5.What are the
different ways in which a thread can be cancelled?
Cancellation of a target thread may
occur in two different scenarios:
• Asynchronous
cancellation: One thread immediately terminates the target thread is called
asynchronous cancellation.
• Deferred
cancellation: The target thread can periodically check if it should terminate,
allowing the target thread an opportunity to terminate itself in an orderly
fashion.
No comments:
Post a Comment