Slightly less than the number of processor in the system.
First of all there is difference between program and a task. There may be multiple tasks running related to one program at the same time. so if the processor is busy in multiple tasks related to one program then it is multitasking. But if the multiple tasks which the processor is executing concurrently are related to different independent programs then the concept is know as multiprogramming.
The principal disadvantge of too much multiprogramming is the overhead of excesssive context-switching. If the context-switch rate is too high, the overhead can actually overwhelm the benefit of multiprogramming.
multiprogramming
processor speed does not matter.
THE multiprogramming system was created in 1968.
A hard real-time system guarantees that critical tasks complete on time. This goal requires that all delays in the system be bounded from the retrieval of the stored data to the time that it takes the operating system to finish any request made of it. A soft real time system where a critical real-time task gets priority over other tasks and retains that priority until it completes. As in hard real time systems kernel delays need to be bounded
timesharing is logical extention of multiprogramming.
Advantages of multiprogramming operating system:i) It increases CPU utilization.ii) It decreases total read time needed to execute a job.iii) It maximizes the total job throughput of a computer.Disadvantages of multiprogramming operating system:i) It is fairly sophisticated and more complexii) A multiprogramming operating system must keep track of all kinds of jobs it is concurrently running.
is it possible to do multiprogramming with only one partition
depends on quad processor type: For example Quad Processor Q8400 VID Voltage Range: 0.8500V-1.3625V
Time-sharing is an approach to interactive computing in which a single computer is used to provide apparently simultaneous interactive general-purpose computing to multiple users by sharing processor time. So basically, time sharing is for multi-user computer systems. Multiprogramming is A form of processing in which a computer holds more than one program in memory and works on them in round-robin fashion that is, by sharing out the processor's time so that each program receives some attention some of the time. This way of working is in contrast to using the processor to run one program at a time.