Frist - see my blog on just how it Writes to tape.
Now with that understanding your question about jobs wanting a tape drive.
You have different options on how to set up the use of your tape drives.
When you setup a Storage Unit, you tell it how many tape drives to use at once.
For example we are going to say 2 drives.
You also say how many Streams can go to the tape drive at once.
For example we are going to say 10 streams.
So far we have 2 tape drives with 10 streams per drive - so right now we can have 20 active jobs at once.
10 jobs streaming to driveA and 10 jobs streaming to driveB
Now a job streaming to driveA completes. A job that is queued will now go active and stream to driveA so it has 10 streams again.
However - you could be restricting this someplace else as well.
Look at the Policy you can limit the number of jobs a Policy can run at once.
If your policy says 5, and is using your Storage group with 2 drives - even though the storage group will allow 20 jobs to run, you Policy limits you to 5.
So now you are using 1 drive with 5 streams going to the drive. (even thought the storage unit will allow you 15 more jobs if you wanted)
But let us say your policy has no limit set.......
Lets Look at the Schedule - here you say Media Multiplexing is set to 4.
So your storage unit would all 20 jobs
you are saying that any tape drive in use by this policy/schedule is only allowed to send 4 streams to a tape drive at once.
So now you are using 1 drive with 4 streams going to the drive.
However this can still be limited more some place else.
Lets look at the properties of the Master Server.
A) Under Global Attributes you have "Maximum jobs per client" and you have it set to 6.
B) your storage unit is set to 2 drives 10 jobs each for a total of 20 jobs.
C) You have no limit on your policy, and your schedule also says 20 jobs.
D) You have 5 clients in your policy, and each client will kick off 6 jobs for a total of 30 for jobs/streams that need to run.
client 1 will have 6 jobs go active (see A).
client 2 will have 6 jobs go active (see A).
client 3 will have 6 jobs go active (see A).
client 4 will have 2 jobs go active (see B & C)
client 5 will have all jobs queued (see A & B & C)
So that takes us to 20 jobs running. As a job stream finishes, client 4 will have another job go Active.
If at any point client 4 gets 6 jobs active at the same time but you have less then 20 jobs running, client 5 will then have a job go active.
This "maximum jobs per client" is a way to spread the load. If you have a server that might kick off 20 streams, you don't want all 20 running at once as it might bring the server to its knees. So instead of have 1 server beating itself to death and all the other servers waiting, you can have a bunch of servers doing a bit of work and none of them overloaded.
But, there is still one more place you can limit this.
Say by default you do want each server to run 6 streams at once, but you have 1 very very small client, and 6 streams at once on this server would just kill it. You can have the properties set to 6 for Global (see A) but you can limit this one server to just 1 stream at a time.
Again go to the properties of the master server, and look at Client Attributes.
Here you would add the name of your slow client and on the General tab, check Max data streams and set it to 1.
So all other clients would have a max of 6 streams running, and this small client would only run 1 stream at a time.