Hi Uwe, Some comment inline about clone() in Linux. On Wed, Sep 22, 2021 at 11:39 PM <users-requ...@lists.genode.org> wrote:
> [CAUTION: Non-UBC Email] > > Send users mailing list submissions to > users@lists.genode.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.genode.org/listinfo/users > or, via email, send a message with subject or body 'help' to > users-requ...@lists.genode.org > > You can reach the person managing the list at > users-ow...@lists.genode.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of users digest..." > > > Today's Topics: > > 1. Getting Started with Genode (Sid Agrawal) > 2. Aw: Getting Started with Genode (Uwe) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 22 Sep 2021 16:04:28 -0700 > From: Sid Agrawal <siag...@cs.ubc.ca> > To: users@lists.genode.org > Subject: Getting Started with Genode > Message-ID: > <CA+F2VKa1+d-217PQ+BwjYb= > ssj+etatxjl2nt8e-lr-7tkm...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Hi Genodians, > I am a graduate student at the University of British Columbia with > their Systopia > Lab <http://systopia.cs.ubc.ca/>. My research area is operating systems, > and I would like to use Genode(with seL4) as the OS platform for > demonstrating my research ideas. As with starting with a new platform I > have run into some hurdles. At the end I have given a summary of my > research project, which is still in a nascent stage. > > > - *Running the hello_tutorial*: the hello_tutorial job on qemu does not > finish to completing and times out. Below are my steps on ubuntu > 20.04.1. I > am using the Genode development container > <https://genodians.org/skalk/2020-09-29-docker-devel>, so the tools > should not an issue. I also tried it outside the container. > > git clone git://github.com/genodelabs/genode.git > cd genode > tool/ports/prepare_port sel4 > tool/ports/prepare_port grub2 > tool/create_builddir x86_64 > > cd x86_64/build/ > # Change build/x86_64/etc/build.conf. > # Change kernel to sel4 and add hello_tutorial > diff etc/build.conf.old etc/build.conf > > 20c20 > > < #KERNEL ?= nova > > --- > > > KERNEL ?= sel4 > > 85a86 > > > REPOSITORIES += $(GENODE_DIR)/repos/hello_tutorial > > make > make hello > make run/hello # This times out as shown below. > > [init -> hello_server] creating root component [0m [0m > [init -> hello_client] upgrading quota donation for PD session (0 > bytes, 4 caps) > [0m [0m > [init] child "hello_server" requests resources: cap_quota=3 [0m [0m > [init] child "hello_client" requests resources: ram_quota=0, cap_quota=4 > [0m [0m > Error: Test execution timed out > > > > Any comments on what I am doing wrong would be very helpful. Secondly, what > would be the best way to go about debugging an issue like this. > > > - Summary of my research project > <https://sid-agrawal.ca/index.html#research-projects> on building > "General > Purpose Isolation Mechanisms". > > After sixty years of operating system evolution, we continue to find new > and different isolation mechanisms: threads, processes, containers, virtual > machines, lightweight contexts. Even applications provide isolation > mechanisms: a JVM is a user-level process that provides isolation units > whose API is Java bytecodes; some browsers offer units of isolation between > each browser tab. > > We ask whether we really need to have N different isolation mechanisms or, > instead, we could develop a framework in which all these different > mechanisms represent points on a continuum. If we could do that, then > perhaps A) we could implement such a unified framework, and B) the > framework might allow us to discover new and useful isolation mechanisms > (that could be created seamlessly rather than requiring an entirely new > implementation). > > The project has three main goals: > > > - Develop a theoretical model or framework to unify existing isolation > mechanisms. > - Identify novel points in the model that are useful. > - Implement the model in seL4. > > The Fig below shows how different access and isolation levels of memory can > be used to construct different types of PD. The points along the Y-axis are > building blocks of memory isolation. The points on the X-axis are different > types of PD. A given PD can be constructed using different building > blocks, which > are represented as circles that intersect one or more blocks. Mapping these > concepts to Genode, > > This is an evolving model, as we are still investigating: > > > - If the "Security and Performance Guarantees" across any two types of > PD can be compared. > - Should there be more building blocks on the Y-axis > - What novel types of PD can we come up by combining the different > building blocks > > [image: image] > > > I am excited about building my project with Genode, the composability in > its architecture make it well suited as platform to show unconventional OS > ideas. > > Best, > Sid > sid-agrawal.ca > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: < > http://lists.genode.org/pipermail/users/attachments/20210922/343f70e8/attachment-0001.html > > > > ------------------------------ > > Message: 2 > Date: Thu, 23 Sep 2021 08:39:03 +0200 > From: Uwe <geno...@public-files.de> > To: users@lists.genode.org > Subject: Aw: Getting Started with Genode > Message-ID: > > <trinity-57cbd65a-0583-46f8-8910-68868e08d657-1632379143546@3c-app-gmx-bap45 > > > > Content-Type: text/plain; charset=UTF-8 > > > Gesendet: Donnerstag, 23. September 2021 um 01:04 Uhr > > Von: "Sid Agrawal" <siag...@cs.ubc.ca> > > An: users@lists.genode.org > > Betreff: Getting Started with Genode > > > > Hi Genodians, > > I am a graduate student at the University of British Columbia with > > their Systopia > > Lab <http://systopia.cs.ubc.ca/>. My research area is operating systems, > > and I would like to use Genode(with seL4) as the OS platform for > > demonstrating my research ideas. As with starting with a new platform I > > have run into some hurdles. At the end I have given a summary of my > > research project, which is still in a nascent stage. > > > > > > - *Running the hello_tutorial*: the hello_tutorial job on qemu does > not > > finish to completing and times out. Below are my steps on ubuntu > 20.04.1. I > > am using the Genode development container > > <https://genodians.org/skalk/2020-09-29-docker-devel>, so the tools > > should not an issue. I also tried it outside the container. > > > > git clone git://github.com/genodelabs/genode.git > > cd genode > > tool/ports/prepare_port sel4 > > tool/ports/prepare_port grub2 > > tool/create_builddir x86_64 > > > > cd x86_64/build/ > > # Change build/x86_64/etc/build.conf. > > # Change kernel to sel4 and add hello_tutorial > > diff etc/build.conf.old etc/build.conf > > > > 20c20 > > > > < #KERNEL ?= nova > > > > --- > > > > > KERNEL ?= sel4 > > > > 85a86 > > > > > REPOSITORIES += $(GENODE_DIR)/repos/hello_tutorial > > > > make > > make hello > > make run/hello # This times out as shown below. > > > > [init -> hello_server] creating root component [0m [0m > > [init -> hello_client] upgrading quota donation for PD session (0 > > bytes, 4 caps) > > [0m [0m > > [init] child "hello_server" requests resources: cap_quota=3 [0m [0m > > [init] child "hello_client" requests resources: ram_quota=0, cap_quota=4 > > [0m [0m > > Error: Test execution timed out > > > > > > > > Any comments on what I am doing wrong would be very helpful. Secondly, > what > > would be the best way to go about debugging an issue like this. > > > > > > - Summary of my research project > > <https://sid-agrawal.ca/index.html#research-projects> on building > "General > > Purpose Isolation Mechanisms". > > > > After sixty years of operating system evolution, we continue to find new > > and different isolation mechanisms: threads, processes, containers, > virtual > > machines, lightweight contexts. Even applications provide isolation > > mechanisms: a JVM is a user-level process that provides isolation units > > whose API is Java bytecodes; some browsers offer units of isolation > between > > each browser tab. > > > > We ask whether we really need to have N different isolation mechanisms > or, > > instead, we could develop a framework in which all these different > > mechanisms represent points on a continuum. If we could do that, then > Never a contnuum, because there are discete steps. > Agreed. I think a *spectrum *would be a better word. As I am trying to indicate that there is a range of possibilities(from less isolated to more isolated), but each single possibility is still a distinct point. > > perhaps A) we could implement such a unified framework, and B) the > > framework might allow us to discover new and useful isolation mechanisms > > (that could be created seamlessly rather than requiring an entirely new > > implementation). > > > > The project has three main goals: > > > > > > - Develop a theoretical model or framework to unify existing isolation > > mechanisms. > See the flags of the syscall clone() on linux. The only isolation level > that is > not there is 'interpreter' (You call it VM). > Agreed. clone() is by far the closest existing mechanisms to what I am thinking of. Besides the isolation level of "interpreter"(VM) missing, I think there is one more type of isolation, which clone does not offer. Mainly physical isolation of memory, processor. For instance, I can imagine a scenario where I want a particular process to not share the cache hierarchy with other processes in the system. Such an isolation would provide safety against some cached based side-channel attacks. > - Identify novel points in the model that are useful. > > - Implement the model in seL4. > > > > The Fig below shows how different access and isolation levels of memory > can > > be used to construct different types of PD. The points along the Y-axis > are > > building blocks of memory isolation. The points on the X-axis are > different > > types of PD. A given PD can be constructed using different building > > blocks, which > > are represented as circles that intersect one or more blocks. Mapping > these > > concepts to Genode, > > > > This is an evolving model, as we are still investigating: > > > > > > - If the "Security and Performance Guarantees" across any two types of > > PD can be compared. > > - Should there be more building blocks on the Y-axis > > - What novel types of PD can we come up by combining the different > > building blocks > > > > [image: image] > > > > > > I am excited about building my project with Genode, the composability in > > its architecture make it well suited as platform to show unconventional > OS > > ideas. > > > > Best, > > Sid > > sid-agrawal.ca > > _______________________________________________ > > Genode users mailing list > > users@lists.genode.org > > https://lists.genode.org/listinfo/users > > > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > users mailing list > users@lists.genode.org > https://lists.genode.org/listinfo/users > > ------------------------------ > > End of users Digest, Vol 41, Issue 8 > ************************************ >
_______________________________________________ Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users