I'm intrigued but your site gives me little to go on, I feel like I'm missing a big "what this is" page
This episode of Signals & Threads discusses Mirage, it may be helpful! https://signalsandthreads.com/what-is-an-operating-system/
Mirage – A programming framework for building type-safe, modular systems
31–40 of 92 posts
Re: Mirage – A programming framework for building type-safe, modular systems
#32I'm really sold on the idea: Instead of a full-blown OS, you compile your application with a thin layer of support libraries that provide the OS features that your application needs (network, I/O) and that talks to a hypervisor. I mean, if your application runs in a virtualized environment, there's little need to SSH into the system in the first place (except for debugging purposes). Thus, why bother with a full-blow…
Isn’t this the same idea behind unikernels?
MirageOS represents a significant shift in cloud and network computing, focusing on building highly specialized, secure, and efficient unikernels that streamline application deployment by shedding unnecessary components. It also puts extra focus on security, with most of the stack — including TCP and TLS — being rewritten in a type-safe language (OCaml).
Currently, MirageOS is expanding to include bare-metal and embedded systems, aiming to bring the same level of security and efficiency to this domain. The move towards embedded systems is a natural progression for MirageOS, given our emphasis on minimalism and security in environments where resources are limited and reliability is crucial. See for instance what is happening with SpaceOS: https://tarides.com/blog/2023-07-31-ocaml-in-space-welcome-s...
Re: Mirage – A programming framework for building type-safe, modular systems
#33Earlier quoted context omitted.
Isn’t this the same idea behind unikernels?
Mirage is a unikernel. The catch here is Ocaml. You can design your unikernel "bare metal" in any way you want and make it do nothing but the essentials you need ... and design it in any language you want as long as that language is OCaml.
http://unikernel.org/projects/
I have especially had hopes for the UniK [1] project, as it was/is written in Go AFAIK. I see now it incorporates work from the Mirage project as well. Not sure what is the status of this project anymore though.
Re: Mirage – A programming framework for building type-safe, modular systems
#34The FAQ mentions that this can run in QEMU. Are there cloud providers that support hosting a custom ISO? I feel like that would be hard to secure.
Re: Mirage – A programming framework for building type-safe, modular systems
#35I'm really sold on the idea: Instead of a full-blown OS, you compile your application with a thin layer of support libraries that provide the OS features that your application needs (network, I/O) and that talks to a hypervisor. I mean, if your application runs in a virtualized environment, there's little need to SSH into the system in the first place (except for debugging purposes). Thus, why bother with a full-blow…
You mean you are sold on the idea of going back to the 80s. We used to have an operating system with every game released[1].
Re: Mirage – A programming framework for building type-safe, modular systems
#36I'm really sold on the idea: Instead of a full-blown OS, you compile your application with a thin layer of support libraries that provide the OS features that your application needs (network, I/O) and that talks to a hypervisor. I mean, if your application runs in a virtualized environment, there's little need to SSH into the system in the first place (except for debugging purposes). Thus, why bother with a full-blow…
A big milestone was binary releases and deployment instructions, see https://robur.coop/Projects/Reproducible_builds
see more at https://blog.robur.coop https://hannes.robur.coop https://blog.osau.re/ https://reyn.ir/archive.html
If you're curious how/what to integrate MirageOS into your infrastructure, please reach out (best via email).
Re: Mirage – A programming framework for building type-safe, modular systems
#37Is that similar to Firecracker?
https://dev.l1x.be/posts/2020/11/22/getting-started-with-fir...
Re: Mirage – A programming framework for building type-safe, modular systems
#38I'm really sold on the idea: Instead of a full-blown OS, you compile your application with a thin layer of support libraries that provide the OS features that your application needs (network, I/O) and that talks to a hypervisor. I mean, if your application runs in a virtualized environment, there's little need to SSH into the system in the first place (except for debugging purposes). Thus, why bother with a full-blow…
> I'm really sold on the idea: Instead of a full-blown OS, You mean you are sold on the idea of going back to the 80s. We used to have an operating system with every game released[1]. 1. https://youtu.be/kZRE7HIO3vk?t=1114
Re: Mirage – A programming framework for building type-safe, modular systems
#39Re: Mirage – A programming framework for building type-safe, modular systems
#40I'm really sold on the idea: Instead of a full-blown OS, you compile your application with a thin layer of support libraries that provide the OS features that your application needs (network, I/O) and that talks to a hypervisor. I mean, if your application runs in a virtualized environment, there's little need to SSH into the system in the first place (except for debugging purposes). Thus, why bother with a full-blow…
> I'm really sold on the idea: Instead of a full-blown OS, You mean you are sold on the idea of going back to the 80s. We used to have an operating system with every game released[1]. 1. https://youtu.be/kZRE7HIO3vk?t=1114
For example, how do you write to a block device? You make a hypercall with a "handle", offset into the block device, the number of blocks to write and a pointer to memory to be written. There's no pretending it's a spinny disk with sectors and heads or what have you.
https://github.com/Solo5/solo5/blob/bf29b8af11feec9dbc2e74cc...