Hacker News new | past | comments | ask | show | jobs | submit | halation_effect's comments login

You can use 9pfs or build upon the block device.


Yes you're right, it's a simple network-like protocol allowing you to mount a path on the host OS to the Unikraft unikernel VM similar to a container volume. In addition, Unikraft's abstract APIs[0] allow for more block devices such as EXT{2..4}, etc. which you mount in a similar way. Alternatively, you can put your filesystem into a CPIO format and mount it as initram and load it into RAM (great for performance and read-only file systems, like webservers).

[0]: https://unikraft.org/docs/concepts/architecture/


Ah, I see. It looks like this is actually relatively simple but hidden away in code you'd never see until you start using Unikraft.

This is something that strikes me as an obvious question about a unikernel so I'd like to see a bigger callout in the docs.


We also have support for EXT2/EXT4 but it's not open source yet.



Systems research is more relevant than ever. You should take a look over the papers published at conferences such as SOSP, OSDI, EuroSys and HotOS. You'll see quite a lot of papers from industry giants. Lots of research OSs are also gaining traction[1][2][3]. I'd say that we're moving towards specialization right now, with a specific OS architecture for your usecase. OS research is far more than Linux right now.

[1] http://www.barrelfish.org/ [2] https://unikraft.org/ [3] https://mars-research.github.io/redleaf


I recommend Unikraft[1][2][3] as an alternative. It is under active development.

[1] https://unikraft.org/

[2] https://github.com/unikra ft/unikraft

[3] https://dl.acm.org/doi/10.1145/3447786.3456248


From the paper:

"MirageOS [40] is an OCaml-specific unikernel focusing on type-safety, so does not support mainstream applications, and its performance, as shown in our evaluation, is sub-par with respect to other unikernel projects"


You could try fuzzing. But, if you do not include a modular OS feature(e.g network stack), the unikernel would not compile since it's missing symbols.


Yes, that's right. If you do not include a module that could potentially be used, you'd be missing that symbol and it would not compile.


Ah good point, thanks


Couldn't you make a real time unikernel? Basically you should be able to modify an existing unikernel implementation to make it real time.


> Basically you should be able to modify an existing unikernel implementation to make it real time.

It's very very difficult to hack in real time properties after the fact. Most successful versions of this end up hacking in a virtualization layer to run the code that wasn't designed to be real time in the first place rather than trying to make that code play nice cooperatively with a real time system.

RTLinux is a good example which uses Linux to bootstrap a microkernel which then virtualizes the Linux kernel that booted it.


What kind of guarantees, mechanisms and instrumentation can unikernels provide in this space for real-time execution of code for mission critical systems?


I think it should be able to provide the same guarantees as a RTOS if you implement them. But then, would you call it a unikernel still or a RTOS?


You can and there are a few use-cases we've looked at - v2v && autonomous driving.


At John Deere they compile various "applications" into their home-grown JDOS (or rather for a given controller, they compile several apps and the OS into a single 'executable'). I.e., the OS is a library, which I think is the definition of a unikernel, although perhaps not since there are often several apps on a controller?


Typically unikernels have a single application in them because then you can fully specialize the entire image to the needs of that single application. Having said that, it is entirely possible to place multiple applications in one unikernel, each in its own thread; we have done a few of these in the past.



Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: