You assume incorrectly :)
>that time A2 will give good response time, and then 500msec B1 will
>run, and A2 will starve.
>
>This would work ok with current scheduler. You may avoid this problem,
>somehow, but I do not know how to do that.
The users would be given one normal time-slice at a time, e.g.
<proc1 of user1> runs 1/100th of a second
<proc1 of user2>...
<proc2 of user1>
<proc1 of user2>
<proc1 of user1>
<proc1 of user2>..
if user1 has 2 processes and user2 has one process.