Is there an OS out there that is small enough to exist and be used exclusively in L3 cache?

Is there an OS out there that is small enough to exist and be used exclusively in L3 cache?
No RAM or storage attached.

Attached: CacheHierarchy.jpg?version=1&modificationDate=1326170957303&api=v2.jpg (739x385, 79K)

Other urls found in this thread:

lwn.net/Articles/444336/
twitter.com/NSFWRedditImage

Probably not any modern
Besides what a fucking retarded idea
99.9% of time will not be spent running code in the kernel

Between L1, L2 and L3 cache, you have like ~ 50MB to work with.
That's enough for a tinyOS with basic features.

The next top-end Threadripper has 64mb of L3

Someone did an x86 port of UNIX V7, perhaps look into it

Freedos.

what's next? keeping all your shit in RAM and have your computer up 24/24?

well the OpenBSD installation iso is few megabytes, but it's really stripped and not for daily use

Just wait for Rome with 256MB shared L3$.

If you have enough RAM what's the point of storage other than backups and media?

That's dumb
You don't want your os in cache
You want your program in cache.
For every intensive computing tasks a 128MB of cache would be enough for minimum cache misses.
Don't forget that there are algorithms that predict data usage and prefetch them... So having everything in cacge doesn't affect performance.

>and prefetch them
Believe it or not, CPUs are good enough to predict cache usage on their own that prefetch instructions are actually detrimental
lwn.net/Articles/444336/

>You want your program in cache.
Actually, you want your DATA in the cache.

Actually, you want your DATA and INSTRUCTIONS to be in DATA and INSTRUCTION-cache

Data is part of your program

Your data is part of my program

You want both the instructions and the data in the cache as immediately available as possible, although it doesn't really make a performance impact these days (post 90s) with async IO

Loading instructions to the instruction cache is trivial. Cache prediction and speculative prefetching for data is not.

Do you even know what you are talking about?

Do you? With old CPUs you easily lose a lot of time with the CPU waiting for RAM to respond, this is heavily alleviated with modern CPUs

I assumed you were talking about async file/socket io

Parallel memory accesses are not considerd to be async IO, you are confusing two different things

Doesnt minx?

The cache is transparent to the CPU, you can't manually put anything there.

Maybe the microkernel but definitely not the whole OS.
In fact *good* microkernels (i.e. not Mach) could fit into instruction cache even 15 years ago so that's not anything unusual.