Q1 10 marks
An operating system is running three concurrent processes, P1, P2 and P3 for three different users. Each process requires six units of computing time. Process P1 consists of two threads where each thread blocks after 4 units of time. Process P2 consists of three threads, where each thread blocks after 4 units of time. P3 consists of four threads, where each thread blocks after 2 units of time. Further assume that the processes are entirely resident in primary memory. Suppose that the threads are kernel supported i.e. they are kernel level threads.The kernel implements preemptive priority scheduling of threads with priorities of processes ordered from P1 > P2 > P3. This means the threads of P1 have equal priority among them but have higher priority than all threads of P2 and P3. Similarly, threads of P2 have equal priority among them but have higher priority than all threads of P3. Of the first 9 units of time, how many will be devoted to each of the three processes.
Q. 2 5 marks
CPU is assigned with scheduling activity for some processes where certain parameters are required to met
Which algorithm is best suitable to meet above criteria with elaboration in terms of its relevancy to other algorithms in working parameters.
Q 3 5 marks
Describe four (non-disjoint) classes of thread-unsafe functions.
Q 4 5 marks
Describe the actions taken by a thread library to context switch between user-level threads.
i) Consider the below given information and calculate the average waiting time by applying the FCFS scheduling.
ii) In ________ processor assignment, threads are assigned to a specific processor.
iii) When an executing FIFO thread is interrupted, it is placed in the ______associated with its priority.
iv) _________ needs a way to block when no work to do and must be sure that event notification can surely wake it up.
v) In many real-life operating systems, such as Windows, Linux, or Solaris, ________ are used with explicit calls to locks and condition variables.
vi) On a multiprocessor system, interrupt disable doesn't provide_______.
vii) Threads cooperate in multithreaded programs to ________ resources and access shared data structures.
viii) _________ pthread command is used to determine thread’s own ID.
ix) Explicit reaping is only required for ______ running processes.
x) _________ is performed by parent on terminated child and Parent is given exit status information.