Page 1 of 1

What is the smallest amount of memory a OS has used?

Posted: Mon Jan 02, 2017 10:21 am
by NunoLava1998
I want to know the smallest amount of memory whatever OS has to use.

Mine needs 16.77747 MB (not MiB) of RAM to function, as my IDT is stored around 16.77746 MB. There is a lot of unused space.

Re: What is the smallest amount of memory a OS has used?

Posted: Mon Jan 02, 2017 10:29 am
by hgoel
:|
I could write an OS that uses 1 byte of memory, it'd be a single opcode: 0xF4
Now is that useful? No. An OS is ideally supposed to be able to use all of the memory on the system while satisfying the needs of applications running under it, as such, the smallest amount of memory used is a useless metric. You use enough memory to work well on the platform you're targeting, which varies from platform to platform.

Or in other words, less memory used != useful OS

Re: What is the smallest amount of memory a OS has used?

Posted: Mon Jan 02, 2017 5:35 pm
by Love4Boobies
I think he means the kernel's memory footprint, not how much of the system's memory is utilized. But the answer to that question doesn't hide too much useful information. Operating systems come in many flavours and run on many types of machines, as they are part of solutions to all sorts of different problems. An OS running on a smart card (e.g., on a credit card or on your mobile phone's SIM card) has different requirements and constraints than an OS running on a mainframe or on a sensor network. Sometimes, budget is a constrained and machines are small, sometimes there is emphasis on real-time tasks, other times on I/O, sometimes performance takes precedence, sometimes security takes precedence, etc. A design is a collection of trade-offs and you have to figure which ones to make in order to solve your problem. If you have no goal (e.g., "I want to make an OS") then you'll end up with a hodgepodge---something for which there is always a better alternative.

Re: What is the smallest amount of memory a OS has used?

Posted: Mon Jan 02, 2017 8:05 pm
by Brendan
Hi,
NunoLava1998 wrote:Mine needs 16.77747 MB (not MiB) of RAM to function, as my IDT is stored around 16.77746 MB. There is a lot of unused space.
If my computer happens to have 1 TiB of RAM but the firmware knows that a 64 KiB area at "16.77746 MB" is faulty and reports that area as unusable in the memory map; then 1 TiB of RAM is not enough to run your OS. However; if my computer happens to have 4 MiB of RAM where 3 MiB is at 0x0000000 and the other MiB is at "16.77746 MB", then maybe that is enough to run your OS.

To determine how much RAM your OS actually needs, find the minimum value of x that satisfies "1 TiB < x < 4 MiB".


Cheers,

Brendan

Re: What is the smallest amount of memory a OS has used?

Posted: Tue Jan 03, 2017 12:11 am
by SpyderTL
What is the smallest amount of memory a "modern" OS has "required"?

MS-DOS was 16-bit, and was pretty happy with 1 MB of RAM, but it had no graphics, no sound, no threads, and no internet support.

Windows 3.x had all of this, and required up to 3 MB of RAM, depending on version and CPU.

You may find some OS out there that has better functionality and lower system requirements, but probably not by much.

Re: What is the smallest amount of memory a OS has used?

Posted: Tue Jan 03, 2017 4:57 pm
by Sik
SpyderTL wrote:MS-DOS was 16-bit, and was pretty happy with 1 MB of RAM, but it had no graphics, no sound, no threads, and no internet support.
The original 1.0 release had to be able to run on machines with only 64KB of RAM (ouch). Actually looking at the way the BIOS and DOS do things, they were seriously trying to squeeze as much as possible from just about every byte.

Re: What is the smallest amount of memory a OS has used?

Posted: Wed Jan 04, 2017 3:21 pm
by Schol-R-LEA
There are so many variables in an open-ended question like this that it cannot be meaningfully answered. What constitutes a working operating system? Do operating systems that don't have a true memory-resident kernel (such as MS-DOS) count, and if not, why not? What about embedded systems - does it have to be a general-purpose OS to count, or does anything that drives the hardware's functions qualify? Which services does the hardware platform provide in hardware, which can be in firmware, and which need to be in the kernel? If implementing a given service (done entirely in software) requires more code in one instruction set than in another (which is not at all uncommon), is the smaller implementation 'better' than the other, or does it even matter?

There have been operating systems as small as 1K in the past (e.g., the KIM-1 monitor), and many systems have run with nothing that could be called an operating system at all - including most early mainframes, in the days before batch processing was developed. You can't really compare these systems to a modern one in any real way, though.

So the answer is 'mu' - the question itself is faulty.

Re: What is the smallest amount of memory a OS has used?

Posted: Tue Jan 10, 2017 2:58 am
by Solar
SpyderTL wrote:MS-DOS was 16-bit, and was pretty happy with 1 MB of RAM, but it had no graphics, no sound, no threads, and no internet support.
PC DOS 1.0 (the IBM-branded version of MS-DOS) took up about 12kByte of memory.

The ZX-81 (contemporary to IBM-PC's and MS-/PC-DOS) ran a text interface and BASIC interpreter off a 8kByte ROM chip and 1kByte of RAM.
Windows 3.x had all of this, and required up to 3 MB of RAM, depending on version and CPU.

You may find some OS out there that has better functionality and lower system requirements, but probably not by much.
LOL...

AmigaOS 1.x ran off 256kByte of RAM and a 256kByte ROM. 32bit, GUI, 8bit color, 4x8bit stereo sound, preemptive multitasking. (That's about contemporary to Windows 1.0 by the way.)

Re: What is the smallest amount of memory a OS has used?

Posted: Tue Jan 10, 2017 9:48 am
by bauen1
256 bytes of code (actually 3 bytes are unused) and a few other bytes of temporary variables, the WOZ monitor for the apple-i (6502)
:P