Redirected
edited by
1,659 views
0 votes
0 votes

Consider the following statements:

S1: Multiprogramming is used to increase CPU utilization, while time-sharing is used to increase CPU responsiveness in interacting with user.

S2: If a user-level-thread is blocked for I/O operation, then kernel of OS will perform context switching to run another user-level-thread which is not blocked.

S3: Many-to-one is the most efficient model of multi-threading because it allows several threads to be assigned to different processors in a multi-processor computer system.

Which of the following is true?

  1. Only S1 & S2
  2. Only S2 & S3
  3. Only S1 & S3
  4. None of these
edited by

1 Answer

0 votes
0 votes

multiprogramming: basically it suggests that cpu time must never be wasted..so it doesn't directly enforce preemption as in as far is cpu is not idel it lets the process go on..(default case 1 cpu environment)..The main idea is cpu utilisation..,no fixed time slice is enforced here

time sharing: Its multiprogramming + responsiveness, meaning all processes in main memory or in ready queue should respond time to time given a fixed time slice (at least for a period of time).

kernel do not have any info about user threads...and the fact "if one user thread goes in blocked state,the process including all other threads stop" proves it.so kernel has no hand in context switching of user level threads..##kernel threads ate independent on the other hand and can run or be scheduled or get blocked independently.

The many to one model maps many of the user threads to a single kernel thread. This model is quite efficient as the user space manages the thread management.

A disadvantage of the many to one model is that a thread blocking system call blocks the entire process. Also, multiple threads cannot run in parallel as only one thread can access the kernel at a time.

 

so answers are

TRUE

FALSE

FALSE

 

Related questions

1 votes
1 votes
1 answer
3