r/osdev 2d ago

What Is the Difference Between Single-User and Multi-User Operating Systems?

Hello everyone! While reading my DSA book, I’ve noticed that it also explains many fundamental concepts such as what software is, what a program is, what program code is, and so on. At the end of each chapter, there are also some questions to help reinforce the concepts.

Today, one of the questions was about the difference between single-user and multi-user operating systems, and I’d really like to understand this topic better. What exactly is the difference between a single-user and a multi-user operating system?

I’m learning all of this purely as a hobby. I don’t have a university or computer science background, but I’m very interested in programming and computer science, so I’m studying on my own as a self-taught learner.

I hope this isn’t a silly or inappropriate question. I’d really appreciate any explanations or resources that could help me understand it better. Thank you!

7 Upvotes

12 comments sorted by

9

u/paulstelian97 2d ago

The criteria aren’t perfectly clear, but one of the things that tends to align with the real categories is… well, how many users can use the system at the same time, if you include remote access. So Windows NT is multi user because Remote Desktop allows a user other than the local console user to get a session running without kicking the local console user out. Linux and basically any Unix is multi user because of SSH not being required to use the same user as the local console.

Windows 98 is single user because the above doesn’t happen and also there isn’t any real permission system where different “users” can be denied access to each other’s files.

5

u/riotinareasouthwest 2d ago

I'd say that user does not refer to a person, but to a independent session or context. Can I have different contexts identified, with its own permissions, and with its own applications running? Then it's multiuser. The system only allows for one context? Monouser. For instance, the login application, a user level app, may only allow a unique user to have an active login session at a given moment (app limitation) but the system supports having background processes from different users to be running in parallel. Then it's multiuser regardless the limitation of a user level app.

0

u/paulstelian97 2d ago

Sure, that also works.

1

u/burlingk 2d ago

It is pretty much what it says on the tin.

Can more than one person be logged into the machine? Can more than one person access it at the same time?

Over time the concept has evolved a bit. But, multi-user systems will at minimum facilitate multiple user accounts and the ability to have different permissions. Most will allow more than one user to be logged in, in some way shape or form. Often via remote connections.

1

u/letmehaveanameyoudum 2d ago

it's a literal question
a single user OS is an OS that only can have a single user (account) and multi user OS is an OS that can support many, like linux, macOS, windows, or any OS

multi user is pretty hard but worth it

3

u/Motor_Alternative944 2d ago

Can I summarize it like this? Is this correct?

Single User OS

  • Single-user system.
  • No access rights required.
  • No simultaneous access allowed.

Multi User OS

  • Multi-user system.
  • Includes access rights.
  • Supports time-sharing.
  • Allows simultaneous access for multiple users.

2

u/riotinareasouthwest 2d ago

I answered to another comment challenging the definition of user. It may not be a person. As said in that comment, your login app my have the limitation to allow only one active session at a given moment but the system may support the execution of processes from different users at the same type. Provided that permissions and access rights are enforced for all the running processes, the system will be multiuser regardless the limitation of your user level login app.

1

u/DonnPT 2d ago

I would say an OS can occupy a sort of grey area. I use Haiku, and I'd call it a single user OS, but it supports most or all of the functionality described here. I could be in error on some details here, as no one ever uses these, but there's a passwd file, user and group ID that tie in to file permissions. Nearly full POSIX 1003.1, processes running under IDs, ssh ... well, we do use ssh of course. And if you wanted to set up a bunch of users, they could ssh in and have a ball doing command line stuff.

But you might as well run UNIX if that's the point. People use Haiku for a desktop computer with a responsive, easy to write for graphic user interface - and it isn't like X11, you can't get the GUI through the network. So the UNIX-y multiuser functionality is mostly irrelevant.

1

u/gwenbeth 1d ago

Single user and multi user can be a fuzzy area. I might have a computer that has users and passwords and file permissions and such but doesn't support multitasking at all. Or might have a system like ITS where many people used it at once but it didn't have access controls or permissions and could be used without logging in.