search
Log In
34 votes
4.8k views

Which combination of the following features will suffice to characterize an OS as a multi-programmed OS?

  1. More than one program may be loaded into main memory at the same time for execution
  2. If a program waits for certain events such as I/O, another program is immediately scheduled for execution
  3. If the execution of a program terminates, another program is immediately scheduled for execution.
  1. (a)
  2. (a) and (b)
  3. (a) and (c)
  4. (a), (b) and (c)
in Operating System
edited by
4.8k views
1
a should be correct. The word "immediately" in point b raises doubt on option b.If there are n process and all are doing I/O simultaneously,then how will CPU cannot immediately schedule the new process.

Or if one process goto I/O ,then selecting the another process to run ,may take time,it cannot be done immediately.
5

@Rahul

a) alone does not suffice multiprogramming environment, lets suppose you load MM with sufficient number of processes but whenever some process go for i/o, processor waits until that process does not complete its i/o, this scenario does not resemble multiprogramming enviorement

1
You are correct.Thanks.But will it schedule other process immediately?This is concerning me

4 Answers

48 votes
 
Best answer

(A) and  (B) suffice multi programming concept. For  multi programming more than one program should be in memory and if any program goes for Io another can be scheduled to use CPU as shown below:

So ans is (B).


edited by
7
whats the problem with C)
16
Option C is common to all system,it does not add to the defination of Multiprogramming.
28
The word "immediately" able to cancel this option. Because after completion of any process may be some interrupt service routine executed by cpu. So every time this statement will true that after completion of a  program immediately sheduled another program.

It think so, please correct me if i am wrong.
0
Yes you r correct, if there no process in queue then the CPU befomes idel when a process get over. So "immediately" is not the correct word in both B and C. They can use "may" inplace of "immediately".
0
In option (b) & (c) immediately is implying like compulsion. If another program is not readily available then (b) & (c) cannot happen.
14

Ref:

0

C If the execution of a program terminates, another program is immediately scheduled for execution.

@Shaik Masthan

This may not be always true  in Multiprogramming enviorment because if we have n processes n-1 goes to I/O and 1 is running on cpu noone in ready queue as all other in I/O queue ..when that process leave cpu immediate scheduling of new process may not happen right ???

0
we have to use that statement in the context where

" There are always some jobs waiting for execution "

Even though you don't have multi-programed OS, the existed OS, should pick one more process if execution of running process is completed !
0
okkk..means it is true for multiprogramming env ..but need not be included in sufficient condition to declare multiprog env right ?
1st 2 conditions are necc and suffice ..3rd one is neither necc nor succ ?
1

3rd one is neither necc nor succ ?

3$^{rd}$ one is necessary condition for any type o OS, i mean it is Batch,Multiprogramming,Multi Tasking,...

0

WHy we should use this  statement

If the execution of a program terminates, another program is immediately scheduled for execution.

in this context only

" There are always some jobs waiting for execution "  

0

@Shaik Masthan

both option b and c will be true only when we have said that :

"there is always one/more processes in the ready state"?

0
the question is " suffice to characterize an OS as a multi-programmed OS "

 

option B is only correct... with Statement A and option C, we can't guaranteed it should be multi-programmed OS, because Statement C is common for every type of OS.

please refer my previous comments.
11 votes

Based on

The primary reason multiprogramming operating system was developed and the reason they are popular, is that they enable the CPU to be utilized more efficiently. If the operating system can quickly switch the CPU to another task whenever the being worked in requires relatively slow input, output or storage operations, then CPU is not allowed to stand idle.

This mean that more can be accomplished a given amount of time. For example, if a disk drive that task can be delegated to channel and the CPU can be put to work in another program while the data are being read in multiprogramming is thus an effective way the fast-working CPU most busy with computations while slower input, output and storage operation are being carried out.

D will be correct choice

1
the point C in the question totally depends on long term scheduler. so t is common to either multiprogramming OS or normal OS
0
For scheduling the process, the decission is taken by Short Term Sceduler isn't it ?
7 votes
(a) More than one program may be loaded into main memory 
   at the same time for execution. 
True: Only done in a multiprogrammed OS, not in single
       programmed OS

(b) If a program waits for certain events such as I/O, 
   another program is immediately scheduled for execution.
True: Only done in a multiprogrammed OS, not in single
       programmed OS
 
(c) If the execution of program terminates, another program 
   is immediately scheduled for execution. 
False: Done in both Multiprogrammed and single
       programmed OSs

ref: http://www.geeksforgeeks.org/gate-gate-cs-2002-question-46/

0

(c) in uni programming environment after executing a process we need to load a process from secondary storage which violates the given point  ""If the execution of program terminates, another program is immediately scheduled for execution""

0 votes
In batch processing processes halt in between executions and and there is no preemptive scheduling.So option d.
1
  1. More than one program may be loaded into main memory at the same time for execution: I think this point is also common for every os as ready state is in main memory and it may contains all the process require to be executed.
0
@rajatmyname i am also thinking like you so what will be correct option can any one can justify the answer
Answer:

Related questions

19 votes
1 answer
1
1.4k views
We require a four state automaton to recognize the regular expression $(a\mid b)^*abb$ Give an NFA for this purpose Give a DFA for this purpose
asked Sep 16, 2014 in Theory of Computation Kathleen 1.4k views
20 votes
2 answers
2
3.2k views
In $2's$ complement addition, overflow is flagged whenever there is carry from sign bit addition cannot occur when a positive value is added to a negative value is flagged when the carries from sign bit and previous bit match None of the above
asked Sep 16, 2014 in Digital Logic Kathleen 3.2k views
5 votes
3 answers
3
1k views
The functionality of atomic TEST-AND-SET assembly language instruction is given by the following C function int TEST-AND-SET (int *x) { int y; A1: y=*x; A2: *x=1; A3: return y; } Complete the following C functions for implementing code for entering and ... and starvation-free? For the above solution, show by an example that mutual exclusion is not ensured if TEST-AND-SET instruction is not atomic?
asked Feb 28, 2018 in Operating System jothee 1k views
20 votes
3 answers
4
2.5k views
The following solution to the single producer single consumer problem uses semaphores for synchronization. #define BUFFSIZE 100 buffer buf[BUFFSIZE]; int first = last = 0; semaphore b_full = 0; semaphore b_empty = BUFFSIZE void producer() { while(1) { produce an ... $p2$, immediately after $c1$ and immediately before $c2$ so that the program works correctly for multiple producers and consumers.
asked Sep 16, 2014 in Operating System Kathleen 2.5k views
...