Does there exist a purely functional operating system without I/O?

Does there exist a purely functional operating system without I/O?

Other urls found in this thread:

en.wikipedia.org/wiki/Coq
twitter.com/AnonBabble

>without I/O
wouldn't that defy the point of an OS?
or really, any program

Recreation.
You can't spell functional without fun :^)

Why do you keep making these nonsense threads?
Fuck off already

we couldn't know either way because we couldn't interact with it

i'm not sure you understand what "no I/O" would mean

the program might as well do nothing

it would only be able to work on pre-defined data, and it would be unable to output any results, making it worthless

Such an OS would emphasize its own recreational nature. With no I/O, it's unmistakably clear that the sole purpose is having fun writing it, not being "used".

The program could calculate Pi, but never print it, store it on disk, or transmit it over the network.

>worthless
to users, not to the developers, who are having fun conceiving it. That's the point and purpose.

The OS scheduler would have to maintain an idle process that keeps all CPU cores at 100% usage to prevent programs from using CPU temperature as a form of output.

If that's fun to you up you need to kys

storing or transmitting is already output, dummy

It exists.
"If a tree falls in a forest and no one is around to hear it, does it make a sound?"

>reading comprehension
>semantics
never (print it, store it on disk, or transmit it over the network)

in this case, the developer set up an automatic timed chainsaw, then flew far away, so he knows that the tree, in fact, fell

Then you wouldn't know it exists because you can't observe its outputs.

If it takes no input and produces no output, how can you tell it's even running at all? You won't be getting any feedback whatsoever. Where do you even draw the line when it comes to input? If it's unable to even read hardware states then it can't function as an OS in any capacity.

>Then you wouldn't know it exists because you can't observe its outputs.
Developers can deduce the system's function by pure logic. It actually does run. You just need to write correct programs for it. There is no debugger.

For the sake of nitpicking, define I/O as anything outside of the computer, that can be interacted with by humans (screen, sound, peripherals, ...) or other computers (network, serial port).

I'd count CPU temperature as I/O, so the operating system must neither read it (the user could apply nitrogen to the CPU as a form of input) or change it (the user could design a program that puts load on the CPU in morse code patterns). Of course there is no perfect system because of high-frequency emissions.

User programs will have to be compiled into the operating system statically of course.

Users = developers.

But it can have many programs, properly scheduled on multiple cores and so on.

So it's basically a firmware.

Yes, here you go!

loop: nop
b loop

No he doesn't.

it's called a firmware

Firmware typically controls physical hardware.
Take a remote control firmware. It uses buttons as input and an IR LED as output.

True.
A software kernel however could be formally verified and mathematically proven though.
You could write it in something like Coq.
en.wikipedia.org/wiki/Coq

or if you feel like cheating a little, use I/O in the debug build and remove it in the release