3k 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)
edited | 3k views
0
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.
+2

@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

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

(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)
+8
Option C is common to all system,it does not add to the defination of Multiprogramming.
+18
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.
+9

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 ?
0

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 "

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 ?
(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
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""

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

1
2