Subject: Re: [RFC PATCH 00/11] an introduction of library operating system for Linux (LibOS)

From: Hajime Tazaki <[email-masked]>
Date: Wed, 25 Mar 2015 00:24:17 +0900

At Tue, 24 Mar 2015 15:32:05 +0100,
Richard Weinberger wrote:
> 
> Am 24.03.2015 um 15:25 schrieb Hajime Tazaki:
> > At Tue, 24 Mar 2015 14:21:49 +0100,
> > Richard Weinberger wrote:
> >>
> >> Am 24.03.2015 um 14:10 schrieb Hajime Tazaki:
> >>  > == More information ==
> >>>
> >>> The crucial difference between UML (user-mode linux) and this approach
> >>> is that we allow multiple network stack instances to co-exist within a
> >>> single process with dlmopen(3) like linking for easy debugging.
> >>
> >> Is this the only difference?
> >> We already have arch/um, why do you need arch/lib/ then?
> >> My point is, can't you merge your arch/lib into the existing arch/um stuff?
> >> From a very rough look your arch/lib seems like a micro UML.
> > 
> > I understand your point.
> > but ptrace(2) based system call interception used by UML
> > makes it depend on the host OS (i.e., linux kernel), while
> > LibOS uses symbol hijacking with weak alias and LD_PRELOAD.
> > 
> > we're really thinking to run this library on other
> > POSIX-like hosts (e.g., osx) though it's not coming yet.
> 
> Yeah, but this does not mean that arch/um and arch/lib can't coexist in arch/um.
> Maybe you can add a "library operation mode" to UML.
> I'll happily help you in that area.

I was thinking that such 'architectural' differences in core
idea (like system call handling, execution model, process
context design, etc) is better to have a different architecture
even if some part of the code is similar.

Isn't it also the same to the other 'hardware-dependent'
architectures' case like between arm and arm64 ?

of course I'm also happy to share the code between us,
especially _pure_ userspace part like (virtual) NIC with
tap or pcap because we also need that part, but we kept such
code at an external codebase (i.e., linux-libos-tools).

> >> BTW: There was already an idea for having UML as regular library.
> >> See: http://user-mode-linux.sourceforge.net/old/projects.html
> >> "UML as a normal userspace library"
> > 
> > thanks, it's new information for me.
> > were there any trial on this idea ?
> 
> IIRC Jeff (the original author of UML) wanted to create a special linker script
> such that you can build UML as shared object.

okay.

thanks.
-- Hajime