Supporting multiple uswes on a single PC base unit
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Supporting multiple uswes on a single PC base unit
I wonder whether anybody has toyed with the idea of writing a multi user OS for the PC. Modern base units ought to be easily capable of supporting at least two users. I am not asking whether there is a demand for such a thing (although it might be cheaper than two complete systems), but just whether it could be done just for the hell of it. Apart from pairing off keyboards with monitors, to form "dumb terminals", I can't see any obvious problems.
The continuous image of a connected set is connected.
Re: Supporting multiple uswes on a single PC base unit
Hi,
Cheers,
Brendan
It is entirely possible to have 2 or more users using the same PC at the same time (without virtual machines). I'd also be tempted to say that all the problems are obvious (e.g. video driver/s that allow the OS to support multiple monitors).mathematician wrote:I wonder whether anybody has toyed with the idea of writing a multi user OS for the PC. Modern base units ought to be easily capable of supporting at least two users. I am not asking whether there is a demand for such a thing (although it might be cheaper than two complete systems), but just whether it could be done just for the hell of it. Apart from pairing off keyboards with monitors, to form "dumb terminals", I can't see any obvious problems.
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Re: Supporting multiple uswes on a single PC base unit
My first thought would be to have multiple drivers servicing multiple "terminals", rather than having one driver trying to cope with several terminals.Brendan wrote:It is entirely possible to have 2 or more users using the same PC at the same time (without virtual machines). I'd also be tempted to say that all the problems are obvious (e.g. video driver/s that allow the OS to support multiple monitors).
The continuous image of a connected set is connected.
Re: Supporting multiple uswes on a single PC base unit
Just come up with an interesting idea that, while the computer control all the displays and input devices.
Each user would have their own dedicated input and display.
Next, generalize it so that users just works on their own "application window", which can be put on any display.
Now the users would want to communicate, and they may grant access (read-only or rw) of such display/window to other user.
Now generalize this so that users across network could share displays.
Opps you now re-invented VNC
Each user would have their own dedicated input and display.
Next, generalize it so that users just works on their own "application window", which can be put on any display.
Now the users would want to communicate, and they may grant access (read-only or rw) of such display/window to other user.
Now generalize this so that users across network could share displays.
Opps you now re-invented VNC
-
- Member
- Posts: 5572
- Joined: Mon Mar 25, 2013 7:01 pm
Re: Supporting multiple uswes on a single PC base unit
What do you do when both monitors are connected to the same video card?mathematician wrote:My first thought would be to have multiple drivers servicing multiple "terminals", rather than having one driver trying to cope with several terminals.
Re: Supporting multiple uswes on a single PC base unit
Connect a vt52/vt100/vtWhatever to the serial port and run a login shell, or connect a Xterm via the network. It's no different to what you're suggesting, it's a question of which bus is used. At uni in the early nineties there were hundreds of us connected to mainframes this way. These mainframes(?) were Sequent Symmetry machines built with multiple 80386 or 80486 processors and they ran BSD if I'm not mistaken.
Every universe of discourse has its logical structure --- S. K. Langer.
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Re: Supporting multiple uswes on a single PC base unit
That presupposes that the operating system would only be pushing out text, which is not necessarily so. In any case, I haven't got any ancient terminals available to test it on.bwat wrote:Connect a vt52/vt100/vtWhatever to the serial port and run a login shell, or connect a Xterm via the network. It's no different to what you're suggesting, it's a question of which bus is used. At uni in the early nineties there were hundreds of us connected to mainframes this way. These mainframes(?) were Sequent Symmetry machines built with multiple 80386 or 80486 processors and they ran BSD if I'm not mistaken.
The continuous image of a connected set is connected.
Re: Supporting multiple uswes on a single PC base unit
I'm editing cause I guess you've understood Xterm to be an application and not an X-terminal which was a thin-client thingy that gave you a graphical interface.mathematician wrote: That presupposes that the operating system would only be pushing out text, which is not necessarily so.
Every universe of discourse has its logical structure --- S. K. Langer.
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
-
- Member
- Posts: 510
- Joined: Wed Mar 09, 2011 3:55 am
Re: Supporting multiple uswes on a single PC base unit
That's how I'd interpret it. I've only ever heard hardware X-terminals referred to by the full phrase "X-terminal", whereas "xterm" is the name of the standard terminal emulator for X.bwat wrote:I'm editing cause I guess you've understood Xterm to be an application and not an X-terminal which was a thin-client thingy that gave you a graphical interface.
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Re: Supporting multiple uswes on a single PC base unit
Quite interesting.Brynet-Inc wrote:http://en.wikipedia.org/wiki/Multiseat_configuration
The continuous image of a connected set is connected.
Re: Supporting multiple uswes on a single PC base unit
Windows Multipoint Server does this. Servicing different users on each monitor is actually much easier than joining them to form a large desktop, as you don't have to deal with the same window being visible on displays with conflicting color formats and connected to different adapters.
Obviously, it's not the user interface's job to manage and load drivers for various devices. A driver will handle any number of devices which it supports, and each of these might in turn cause some number of interfaces to be presented to applications. The UI and the graphics subsystem will probably care about what monitors are connected to the same adapter, but it doesn't matter if different adapters are handled by the same driver or different drivers.My first thought would be to have multiple drivers servicing multiple "terminals", rather than having one driver trying to cope with several terminals.
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Re: Supporting multiple users on a single PC base unit
Well, if you have a single driver trying to manage multiple terminals, you must somehow arrange for it to have multiple copies of its internal static variables. With multiple drivers that problem is solved automatically. If the boot loader was any good at its job, only the static data would be loaded multiple times, and the code only once.Gigasoft wrote:Windows Multipoint Server does this. Servicing different users on each monitor is actually much easier than joining them to form a large desktop, as you don't have to deal with the same window being visible on displays with conflicting color formats and connected to different adapters.
Obviously, it's not the user interface's job to manage and load drivers for various devices. A driver will handle any number of devices which it supports, and each of these might in turn cause some number of interfaces to be presented to applications. The UI and the graphics subsystem will probably care about what monitors are connected to the same adapter, but it doesn't matter if different adapters are handled by the same driver or different drivers.My first thought would be to have multiple drivers servicing multiple "terminals", rather than having one driver trying to cope with several terminals.
The continuous image of a connected set is connected.
Re: Supporting multiple users on a single PC base unit
Hi,
Some diagrams!
Single user, single monitor:
Single user, multiple monitor, single video card:
Single user, multiple monitor, multiple video card:
Multiple user, multiple monitor, multiple video card:
Multiple user, multiple monitor, single video card:
Multiple user, single monitor, single video card (split screen?):
Of course more bizarre setups could be possible - e.g. 3 users sharing 4 monitors (with 1.33 monitors each). Mostly; each video card would provide an interface for each (real or virtual) monitor, and you only really need a flexible way to map "monitor interfaces" (and keyboard, mouse, joystick, touchscreen) to virtual consoles.
Cheers,
Brendan
Some diagrams!
Single user, single monitor:
Code: Select all
_________ ________ _________ _____ _______
| | | | | | | | | |
| Monitor |----| Video |----| Virtual |----| GUI |----| App/s |
|_________| | Driver | | Console | |_____| |_______|
|________| |_________|
Code: Select all
_________
| | ________ _________ _____ _______
| Monitor |----| | | | | | | |
|_________| | Video |----| Virtual |----| GUI |----| App/s |
_________ | Driver | | Console | |_____| |_______|
| |----|________| |_________|
| Monitor |
|_________|
Code: Select all
________
_________ | |
| | | Video | _________ _____ _______
| Monitor |----| Driver |----| | | | | |
|_________| |________| | Virtual |----| GUI |----| App/s |
_________ ________ | Console | |_____| |_______|
| |----| |----|_________|
| Monitor | | Video |
|_________| | Driver |
|________|
Code: Select all
_________ ________ _________ _____ _______
| | | | | | | | | |
| Monitor |----| Video |----| Virtual |----| GUI |----| App/s |
|_________| | Driver | | Console | |_____| |_______|
|________| |_________|
_________ ________ _________ _____ _______
| | | | | | | | | |
| Monitor |----| Video |----| Virtual |----| GUI |----| App/s |
|_________| | Driver | | Console | |_____| |_______|
|________| |_________|
Code: Select all
_________ _________ _____ _______
| | | | | | | |
| Monitor | ________ | Virtual |----| GUI |----| App/s |
|_________|----| |----| Console | |_____| |_______|
| Video | |_________|
_________ | Driver | _________ _____ _______
| |----|________|----| | | | | |
| Monitor | | Virtual |----| GUI |----| App/s |
|_________| | Console | |_____| |_______|
|_________|
Code: Select all
_________ _____ _______
| | | | | |
_________ ________ | Virtual |----| GUI |----| App/s |
| | | |----| Console | |_____| |_______|
| Monitor |----| Video | |_________|
|_________| | Driver | _________ _____ _______
|________|----| | | | | |
| Virtual |----| GUI |----| App/s |
| Console | |_____| |_______|
|_________|
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
Re: Supporting multiple users on a single PC base unit
Except that it doesn't make sense. The OS doesn't even know how many monitor outputs there are, only the video driver knows. Once the video driver "detects" a monitor output, what driver should be loaded and what would be the purpose of such a driver? Should it load more copies of itself? Which one would be responsible for managing VRAM and issuing commands to the card? What would the others be doing?mathematician wrote:Well, if you have a single driver trying to manage multiple terminals, you must somehow arrange for it to have multiple copies of its internal static variables. With multiple drivers that problem is solved automatically. If the boot loader was any good at its job, only the static data would be loaded multiple times, and the code only once.