Usecase idea.

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
User avatar
pvc
Member
Member
Posts: 201
Joined: Mon Jan 15, 2018 2:27 pm

Usecase idea.

Post by pvc »

I just had an idea of an OS that treats users in sligtly different way than other OSes do. It's a modification of mainframe <-> terminal model. Imagine one powerful computer in the house shared between family members. Not how it is done now, over the network, but directly. Each user has it's own display, keyboard mouse and free USB port. These devices being connected directly to the computer without any network latency or overhead. This way a family could make use of high core count CPU based machine much more efficiently. There could be some extra hardware needed. Like long distance USB, HDMI or DP transceivers. What do you think about such model?

Sorry If I don't make much sense, but I am a little bit drunk today 8) But I also didn't want to forget this idea by tomorrow.
User avatar
bloodline
Member
Member
Posts: 264
Joined: Tue Sep 15, 2020 8:07 am
Location: London, UK

Re: Usecase idea.

Post by bloodline »

pvc wrote:I just had an idea of an OS that treats users in sligtly different way than other OSes do. It's a modification of mainframe <-> terminal model. Imagine one powerful computer in the house shared between family members. Not how it is done now, over the network, but directly. Each user has it's own display, keyboard mouse and free USB port. These devices being connected directly to the computer without any network latency or overhead. This way a family could make use of high core count CPU based machine much more efficiently. There could be some extra hardware needed. Like long distance USB, HDMI or DP transceivers. What do you think about such model?

Sorry If I don't make much sense, but I am a little bit drunk today 8) But I also didn't want to forget this idea by tomorrow.
Just use Ethernet/Wifi and build a high performance network display/event protocol on UDP.
CuriOS: A single address space GUI based operating system built upon a fairly pure Microkernel/Nanokernel. Download latest bootable x86 Disk Image: https://github.com/h5n1xp/CuriOS/blob/main/disk.img.zip
Discord:https://discord.gg/zn2vV2Su
User avatar
pvc
Member
Member
Posts: 201
Joined: Mon Jan 15, 2018 2:27 pm

Re: Usecase idea.

Post by pvc »

That's why I said "Not how it is done now, over the network, but directly." I imagine, streaming 5x HD displays over your typical house network wouldn't be so easy. Even 10Gbps link would easily become overwhelmed.
Octocontrabass
Member
Member
Posts: 5568
Joined: Mon Mar 25, 2013 7:01 pm

Re: Usecase idea.

Post by Octocontrabass »

PeterX
Member
Member
Posts: 590
Joined: Fri Nov 22, 2019 5:46 am

Re: Usecase idea.

Post by PeterX »

pvc wrote:I just had an idea of an OS that treats users in sligtly different way than other OSes do. It's a modification of mainframe <-> terminal model. Imagine one powerful computer in the house shared between family members. Not how it is done now, over the network, but directly. Each user has it's own display, keyboard mouse and free USB port. These devices being connected directly to the computer without any network latency or overhead. This way a family could make use of high core count CPU based machine much more efficiently. There could be some extra hardware needed. Like long distance USB, HDMI or DP transceivers. What do you think about such model?

Sorry If I don't make much sense, but I am a little bit drunk today 8) But I also didn't want to forget this idea by tomorrow.
I don't think it is a bad idea. But I don't know if it is really desirable. It probably depends on what it costs in comparison to the cost of several computers.

And the general trend nowadays goes in the contrary direction (smartphones and internet of things). Which doesn't mean it's a bad idea just because of that.

Also I don't know how well a single computer supports multiple graphics output, for example 4 or more monitors.

Greetings
Peter
User avatar
pvc
Member
Member
Posts: 201
Joined: Mon Jan 15, 2018 2:27 pm

Re: Usecase idea.

Post by pvc »

@PeterX I am using 4 displays right now with cheap RX570. And its manual says it supports 5.
User avatar
pvc
Member
Member
Posts: 201
Joined: Mon Jan 15, 2018 2:27 pm

Re: Usecase idea.

Post by pvc »

@Octocontrabass Ohh, so it has been already done. Ok, I am going to do experimenting with it.
User avatar
eekee
Member
Member
Posts: 891
Joined: Mon May 22, 2017 5:56 am
Location: Kerbin
Discord: eekee
Contact:

Re: Usecase idea.

Post by eekee »

I hope you're having fun with it. :)

X Windows is capable of it. $DISPLAY can contain server:display.screen (e.g. rix:5.0) where each display is entirely isolated from each other display and has its own mouse and keyboard. I'm mainly mentioning it out of my own nostalgia; I really wanted to try it in the late 90s, but XFree86 on Linux didn't seem to be capable of loading drivers for multiple cards, or something. What I really wanted was multi-screen. At the time, it was similar in that each screen was also isolated in terms of display resolution and color, but the mouse pointer would go on all the screens in any given display. There was no Xinerama or anything like that in those days.

Getting off the topic a little...

The first window system for Unix was similar, but its terminals had some processing power of their own. It relied on uploading code to the terminal so each user basically had their own copy of the window system. There was a demo of animations in dragable windows all the way back in 1982! But I'm sure it relied on uploading the animation frames to the terminals. http://doc.cat-v.org/bell_labs/blit/

Plan 9 was an attempt to go a step beyond this by letting the user use the power of their local terminal, connecting to "cpu servers" to run high-power jobs. With a single central file server, every user got their own home directory and profile scripts no matter which machine they were at. I think it was Dennis Ritchie who got into the habbit of carrying around floppy disks with a Plan 9 bootloader. Wherever he was, if he wanted to use a computer he'd put a floppy into a free machine and it would boot Plan 9 over the network. ;) It's not quite the same as multiseat but achieves some of the same goals. Plan 9 system administration is network-wide too, in part because of the single shared filesystem.
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
nexos
Member
Member
Posts: 1081
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: Usecase idea.

Post by nexos »

@pvc, that's what my OS is eventually going to do :) . In my case, I am doing it as a good for colleges which would need many computers usually, but instead they could have in server and monitors, keyboards, and mice.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
User avatar
eekee
Member
Member
Posts: 891
Joined: Mon May 22, 2017 5:56 am
Location: Kerbin
Discord: eekee
Contact:

Re: Usecase idea.

Post by eekee »

nexos wrote:@pvc, that's what my OS is eventually going to do :) . In my case, I am doing it as a good for colleges which would need many computers usually, but instead they could have in server and monitors, keyboards, and mice.
College? You mean 20-30 users at once? Eeeesh! Performance will be horrible! Won't it? I might be making wild assumptions, but I think RAM contention will be an insurmountable obstacle to decent perfomance. Have you done any calculations on that? You'll need a rough system design and knowledge of the relevant hardware latencies and bandwidths to make the calculations. Come to think of it, that would be a good way to start. You can refine your OS design before you write any code. If you find there's no good way to do it, you have useful knowledge and skills to apply to your next OS design.
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
User avatar
Schol-R-LEA
Member
Member
Posts: 1925
Joined: Fri Oct 27, 2006 9:42 am
Location: Athens, GA, USA

Re: Usecase idea.

Post by Schol-R-LEA »

Last edited by Schol-R-LEA on Wed Nov 18, 2020 10:25 am, edited 1 time in total.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
User avatar
bloodline
Member
Member
Posts: 264
Joined: Tue Sep 15, 2020 8:07 am
Location: London, UK

Re: Usecase idea.

Post by bloodline »

pvc wrote:That's why I said "Not how it is done now, over the network, but directly." I imagine, streaming 5x HD displays over your typical house network wouldn't be so easy. Even 10Gbps link would easily become overwhelmed.
Even a high end graphics board isn't going to be able to drive 5+ HD displays and certainly HDMI isn't rated for cable lengths over a metre or so... Ultimately each terminal is going to need to be essentially a fully featured computer... A cheap RaspberryPI and a nice high speed ethernet is the only way forward...
CuriOS: A single address space GUI based operating system built upon a fairly pure Microkernel/Nanokernel. Download latest bootable x86 Disk Image: https://github.com/h5n1xp/CuriOS/blob/main/disk.img.zip
Discord:https://discord.gg/zn2vV2Su
Octocontrabass
Member
Member
Posts: 5568
Joined: Mon Mar 25, 2013 7:01 pm

Re: Usecase idea.

Post by Octocontrabass »

bloodline wrote:Even a high end graphics board isn't going to be able to drive 5+ HD displays
That depends on the card. Here's one designed to drive six displays. (You may be able to drive even more displays by connecting multiple displays to a single DisplayPort output, but the specifications aren't very clear about whether that's supported.)
bloodline wrote:and certainly HDMI isn't rated for cable lengths over a metre or so...
I've found passive HDMI cables up to 30ft/9m that are rated for 60Hz 4k, although that's certainly pushing the limits of the technology. Active cables can be much longer than that, if you're really desperate to spend your money.
nexos
Member
Member
Posts: 1081
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: Usecase idea.

Post by nexos »

eekee wrote:
nexos wrote:@pvc, that's what my OS is eventually going to do :) . In my case, I am doing it as a good for colleges which would need many computers usually, but instead they could have in server and monitors, keyboards, and mice.
College? You mean 20-30 users at once? Eeeesh! Performance will be horrible! Won't it? I might be making wild assumptions, but I think RAM contention will be an insurmountable obstacle to decent perfomance. Have you done any calculations on that? You'll need a rough system design and knowledge of the relevant hardware latencies and bandwidths to make the calculations. Come to think of it, that would be a good way to start. You can refine your OS design before you write any code. If you find there's no good way to do it, you have useful knowledge and skills to apply to your next OS design.
I'm thinking of a server with 100s of CPUs and a couple terabytes of RAM. It could even be a distributed system. It would be cheaper probably (less computers, just a few very pricy computers).
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
User avatar
eekee
Member
Member
Posts: 891
Joined: Mon May 22, 2017 5:56 am
Location: Kerbin
Discord: eekee
Contact:

Re: Usecase idea.

Post by eekee »

nexos wrote:I'm thinking of a server with 100s of CPUs and a couple terabytes of RAM. It could even be a distributed system. It would be cheaper probably (less computers, just a few very pricy computers).
Okay. I know nothing about how such a system handles ram contention, so I'll leave it at that. It's funny you should mention distributed systems. Before the term was defined as narrowly as it is today, Plan 9 was called a distributed system. I realise now I've forgotten all about the details of distributed systems.
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
Post Reply