Rump Kernels, Just Components

Video thumbnail (Frame 0) Video thumbnail (Frame 1905) Video thumbnail (Frame 4860) Video thumbnail (Frame 6169) Video thumbnail (Frame 13115) Video thumbnail (Frame 14068) Video thumbnail (Frame 17702) Video thumbnail (Frame 26342) Video thumbnail (Frame 31423) Video thumbnail (Frame 32547) Video thumbnail (Frame 39369) Video thumbnail (Frame 42708) Video thumbnail (Frame 44219) Video thumbnail (Frame 53299) Video thumbnail (Frame 54315) Video thumbnail (Frame 56367) Video thumbnail (Frame 57508) Video thumbnail (Frame 60719) Video thumbnail (Frame 61622) Video thumbnail (Frame 63961) Video thumbnail (Frame 65429) Video thumbnail (Frame 67380) Video thumbnail (Frame 70316)
Video in TIB AV-Portal: Rump Kernels, Just Components

Formal Metadata

Rump Kernels, Just Components
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
The talk will concentrate more on anecdotes from the "drivers first" development approach. Technical details for how rump kernels work will be provided as links. Rump kernels are NetBSD kernel drivers running on top of a set of high-level hypercalls. The term "drivers" is used in the broad sense, and includes for example file system, TCP/IP and system call drivers. The hypercall interface makes virtually no assumptions about the host, apart from it being able to execute code and access I/O functions required by the drivers (e.g. NIC-like devices for the networking stack). The original motivation for rump kernels was being able to debug NetBSD kernel drivers in a nice, non-monolithic kernel environment (i.e. userspace processes). This motivation dictated that drivers running in the non-monolithic environment had to be unmodified with respect to the NetBSD kernel version under the hammer. The implication was that instead of modifying drivers to work in userspace, NetBSD was modified to allow the drivers to run anywhere. The result of work begun in 2007 is that NetBSD kernel drivers from any snapshot or release of NetBSD now run more or less anywhere: in userspace on most operating systems, in a web browser, on top of the Xen hypervisor, or in the Linux kernel. The only component required for running NetBSD kernel drivers in a given environment is the rump kernel hypercall implementation. This implementation generally speaking 1000 lines of code (figure includes comments and whitespace and rudimentary I/O access routines)
Kernel (computing) Computer animation Meeting/Interview Physical law Energy level Right angle
Point (geometry) Code Equaliser (mathematics) View (database) Device driver Word Kernel (computing) Causality Meeting/Interview Personal digital assistant Logic Universe (mathematics) Device driver Right angle Multimedia Software testing Quicksort
Point (geometry) Server (computing) Service (economics) State of matter View (database) Connectivity (graph theory) Set (mathematics) Parameter (computer programming) Likelihood function Neuroinformatik Number Revision control Propagator Root Meeting/Interview Semiconductor memory File system Energy level Router (computing) Metropolitan area network Physical system Multiplication Interface (computing) Binary code Basis <Mathematik> Cartesian coordinate system Equivalence relation Arithmetic mean Message passing Kernel (computing) Integrated development environment Telecommunication Device driver Right angle Operating system Library (computing)
Kernel (computing) Process (computing) Virtual memory Computer animation Meeting/Interview Computer programming Library (computing)
Existence Game controller Greatest element Beta function Code Multiplication sign View (database) Execution unit Virtual machine 1 (number) Set (mathematics) Student's t-test Mereology Information privacy Mathematics Virtual memory Meeting/Interview Different (Kate Ryan album) Core dump Physical system Area Focus (optics) Interface (computing) Software developer Limit (category theory) Data mining Word Kernel (computing) Process (computing) Personal digital assistant Video game Summierbarkeit Table (information) Family Annihilator (ring theory)
Predictability Slide rule State of matter Direction (geometry) Multiplication sign Physical law Memory management Number Mathematics Kernel (computing) Computer animation Term (mathematics) Semiconductor memory Synchronization Hybrid computer Device driver Universe (mathematics) Right angle Figurate number Resource allocation Mathematical optimization Computer architecture
Point (geometry) Trail Functional (mathematics) State of matter View (database) Virtual machine Mereology Product (business) Semiconductor memory Computer programming Data structure Computing platform Physical system Electric generator Interface (computing) Closed set Maxima and minima Cartesian coordinate system Particle system Process (computing) Kernel (computing) Computer animation Personal digital assistant Network topology Video game Right angle Library (computing) Spacetime
Latent heat Kernel (computing) Computer animation Core dump Phase transition Formal grammar File system Energy level Device driver Right angle Theory Position operator
Scripting language Group action Computer animation Term (mathematics) Virtual machine Quicksort
Server (computing) Functional (mathematics) Multiplication sign View (database) Source code Execution unit Device driver Parameter (computer programming) Mereology Field (computer science) Subset Usability Damping Metropolitan area network Physical system Scripting language Standard deviation Graph (mathematics) Information Software developer Variance Bit Line (geometry) Computer animation Quantum Website Video game Resultant
Direction (geometry) Execution unit Constructor (object-oriented programming) Mereology Cartesian coordinate system Roundness (object) Computer animation Hooking Personal digital assistant Computer programming Software testing Quicksort Fiber (mathematics) Physical system
Slide rule Computer animation Device driver Spacetime Library (computing)
Computer animation State of matter Multiplication sign Energy level Line (geometry) Lattice (order) Complete metric space Table (information) Physical system Spacetime Number Stability theory
Point (geometry) Component-based software engineering Computer animation Internetworking Software developer Execution unit
Computer animation Open source Meeting/Interview Speech synthesis Reading (process)
Presentation of a group Computer animation State of matter Multiplication sign Feedback Projective plane Event horizon Demoscene
Degree (graph theory) Area Email Group action Prototype Graph (mathematics) Computer animation Information View (database) Electronic mailing list Encryption 1 (number)
Computer animation
the other is the and this
is is the kind of is and so
on and so on so we can use of the 1st level we
need but he and his face in front of the according to the law for the use of the that's key the and so the right the morning is loud enough to do things with so some of these data is kind of fun and that probably talking about from kernels this by morning the reason I worth of or that room was indeed that's my called so you might find this this topic
universities without the you can be a multimedia too much more than half an hour on a book about motivation this will be very introductory tall I hope it will be to elementary but since this is the very small room if you have questions during my talk I suggest you ask them right away so I can't right here on the right right take a little while the try not
to go into the technical details about you know how it is how it is that people who write much code or doesn't way to work that way yeah so test questions and then I'll start talking at some point of view my remember what has something to yes so remember I thought I'd start saying what they want with them so that we can be sort of I'm to 2 was the approach of actually actually we start by telling what they are so you'll you'll grant kernel acts in case you don't have a terrible idea so our kernel is a driver container now that's the only the writers but the word writers kind of you know more some people have different ideas of what the drivers so I take his word writer in pretty much the broadest the broadest possible way to mean something which states something that produces somehow about OK that's not very useful the use of examples of logic and bribery of driver assistance equal and there's a writer and it would to face cause drivers driver and so forth and
so and from kernels are precisely only run writers furthermore white rises there and if I knew the kernel right this as will soon see as has its roots in what the motivation for me originally was and what they is the unmodified so I wouldn't start with the with the the thermal and all that writers somewhere and then run the memory for the best the idea was that they say of and now you can say any version of this source for and run the writer's stance and from uh
from Germany runs in that well that's quite a bold claim and 2 months actually it everywhere but not the most sensible and 1 so during the start coming up with the example of a microphone and so on parameters probably running number but they're saying when which is which is which is kind of environments which would be something like a driver for me you know them not to do of lights inside or we is use quite the the operating system was by I hope I hope that the features of the the computer and all at least they're running more and more interest in the that have been kind of the the of this house and I say I assume the principal approach we most most people here which is the state by the very great phrase interconnections agnostic so I assumed and this is an assumption please propagate other means or what I assume that when most people create the system they have an idea of what they want the system to look like you know how the request review router how how how things are linked together on we together will there be some message passing or or what was the communication after figuring that out then then comes the on the other and the system should also do something so that the writers multi it's completely opposite and writers man on the basis that the use of 2 this problem in Poland oriented which you can read the phrase which is this fancy way of saying then 1st you build them you get a set of libraries each component so we assume that the the get so where the likelihood of the view of the problem of blood and you know what that means file system like right respect of 1 services networking like what is in that we were the writers that and so forth yeah I will be shown the there always on the actual device drivers today and summary you want the an from kernels integrates we ought to the application level so earlier I said this is simple and there is a driver so it provides API and the ABI equivalent interfaces so you can run they the binary against it lot of course it's not the to running application little binaries you can you actually have complete freedom to blood into that's any point in so actually the 1st way items from the Lost right moving all right the do was in a and servers so instead of actually the optimal policies and all idea that the years later on now this this this little restriction but the magic right so you had little on the top the metal so that's you what you can do with the right and not more the more important thing I think is what cannot is so you cannot
execute program which treaties and around kernel has has no knowledge of the devices like the what is so we wanted to know you have run Firefox we want them to be around and what you can run by folks against around the so instead of running the process you know you you can use it in the library like fashion there's absolutely no
knowledge of virtual memory so the other virtual memory when you run around
animals you don't is no knowledge of beta protection no faithful and the not not not being in that area around the time of the previous instructions of this which would mean that if you try to execute code in ROM kernel this privileged instructions that will be in this table and of course they're running the and then 1 of the very very he he that there's no procedural knowledge no great creation of everyday use from the whole lot of words from this and it's completely out of college students the rest and we restrict our running the sum the requirements but it's also problem unstable yeah so I'm the problem we have lots of them can because this and also I will also receive the hurricane so it allows to solve mind send the problems really well and then can be you know was problems solving 100 % of the problems in the yeah yeah but when you have something I don't I'm so old now great so this this system the existence the original focus my original motivation to do economic so I want to run the writers you use it and actually right in the face of uncertainty at the time and not only very boring the we have this different set of views like interfaces for which it's it's only nice to write what and writers and then we have this this kernel at the inn where
it's what's it the to write policies and the then the different we can use the change of the and 15 different ones you pay people will tell you well you use of tools you have I don't think virtual machines the is easier than using a machine of part of the fact that all of are so much that to and cancel or or if you can relate to the concept of being able to do what writers you use a few of them you so much so much but of course you know what I have to use the only right and right because a situation where I 1st stage arrive at more than in the face of course to a lot of that process then you might development then for the back and then engage in this more more about this now this is what you want what the people I actually want to and about what a lot of the probability that this happens all the time and so so I thought it was the only was and writer the that's word then of course but it is private and the things you have just run that was not alone in allocating the use of what like that the that would the case of the walking and so on and the then of course the next logical step with this OK so now I have achieved for these other things you just policies and reduces about what those changes what goes on development the 1st of all this so eventually this kind of societal or supporting more rises and figuring out what they needed somehow converge and I mean the problem of course so some years so this was developing are being able to run in the privacy users based on their so then I started getting questions like OK so now you have this TCP IP stack running the based who we run it somewhere else to and then example of fighter writing unit to yes you could but you need to do this and this and this and this and this because of the through some discussions with people like the idea what you want so eventually I thought well the development of the problem and these are not solved so families system C seems generally useful so 1 this cognitive reusable writers there seems to be useful and that of the that's the last 1 I here talking about this today know some of the kind of the criteria for reusable writers and journalists is different proponents of 1 that hasn't been fully solved the whole hopefully I'll be able to explain that performance is OK but there's some things you need to understand so that you can do things over there we run so if we really is in his life he knew he sees the limitations the on thermal cannot we see that they have actually now turned into the bank so instead of having this bothered virtual into the race we observe in which you create a process you all around going from anywhere you run we don't need virtual memory which is kind for and you have a virtual memory of that love you don't need to reach the bottom of the non-use privileged instructions which means you know the police and you can write anywhere and of course the use of PostScript you can directly control core you an easy control of so there's no added later text of the the wording of the questions for mining who who understand my final word in this but all have the so get to get into a small amount of data people he said and so on and so forth what makes it worth that
would have been the 1st of all you have to be able to extract the writers of from the mainly because of our activities according to some as the solubility and on the early so that you wouldn't want to do this but this is what it's actually quite easy but there's there's a there's a small number of the kinds of changes you need to make predictions of the driver you are orthogonal to all the other and the and the the In feisty directions we like that of will this you normally the entire capable to collect right on on I call this the kernel our victory in this in the winter of we have because the kind of says that OK in the private the we might go think so whatever you want yeah and the yeah what was the person who so we use the term the protestant writer uses the law because what we actually been pretty on television and that that's is the memory of the right and he certainly at the architecture of which you can clog time writers of this day so yeah that's that's because of the and this is the which makes of whom work is of all is something that we don't have allocate memory just after the right of access we already know that of the of the universe title fight so they're not know kind of like the sense in the virtually any same of the known as the optimization of the last thing I want to take this thing and this way and so you can see the yeah I'll allocation and there there is a lot of succeeds in the light of the because there there are add up the work of the following from the in the the so high quality generally the long term yes I want to say that the world is very small and I also want to say that I actually want to mental states for the title of this slide
and I have to say on this figure of currently and some of the most of the it of the preceding yeah so so I don't like the kind of the law of silence realize that really whose it's height of there's these these switching from from rock all like for example to memory allocation and also 1 important 1 is this is the realization the around the posters so synchronization has to happen like and explore as the wire hybrid because the
wrong thing kind of Italy so and if we what the state and then we need to inform the host state now my background is in a guess about the little light falls on 1 side of your so this knowledge which platforms to the height of the trees so 1st of all I the if you want to if possible even even those we show up don't run in it's a very severe actually only machine and the thing is if you have a lot of resources have some knowledge of the instructions of memory but that's that's the only only only essentially you may be right yeah so so you do some examples of people in this region is 1 way of saying you just days and it's this and just which which which means jobs I have 1 point this is discussing just the minimum of the running where it be possible to compile them got so I that the what white all this is because of the job was invited by the and that is we 88 deposits requirement that the people of the same stuff on our wanted into variable to take just use program and yeah the value of the growth that's why I consider the job right the life well but they're not all that close to kind of ball and so that's right and then from there and from the external now that we're not looking at and then that actually kind of a more interesting thing was we will use the space in the experiment the you know about high-level systems the provide a lot of interfaces to there it so when we ran this on a on a real system so then I tried the people who need it 1 of the right and again and borrowing some some parts from the structure in center of like then you will some days of work a well then what actually needs then the interesting and it just this so that's the only since we have contacted me granted over a 1 on this kernels at interfaces will moving directly as of blood to run an application and in case you haven't heard at the station on of using library it so when we started thinking well since since the the from girls already pretty much provide the whole set of new and also what it we just take many years really see the bulk of the track bottle behind behind who the function calls into running and we actually got applications directly the book generation and the answer is yes also this was a way in view of the the the and the know but unintelligible I'll go into
details about the final devices products in have basic needs so instead of going to be convinced that the particles in the years to to to to
specific drivers in that way you gave some more lexically you come examples of we were being more or less persistent position on the available in the year after all this is actually meeting the BCI right formal specific reason for well the need for that reason because drivers are kind of you have moreover all these facilities provide a very high level and this the community they work on the course announcements that you so that kind thing and then if you take BCI drivers that the final level of the level of the BCI drivers behind all are actually happened right there's there's other things you see the only thing I actually want to the work that each I'm very proud of that but when I did the 1st thing I wanted to run them in the the items that the kernel also and interface when I started looking at of the the visual being there is this the have been originally you lost so what we see is the use of all internetworking phase of the war all right at the core of the kernel to the file system theories were in the hands of the fights in the amount of work so well and
the light on this 1 is also anyway this an yeah so I all I do
some sort of thing that you have make works readable and this
sort of thing so what I can
In the hope so this is some machine so what happens if I want to do building these from private news of this so the have get the bill scripts and I hope that the groups we use the term very warm the
quantum OK so now but this is
just the build script but then I have money I want you to parameters don't and I think all of you who are
marriages units in dealing with this may be a bit faster produce this out the you need to work in very good obviously that runs a distraction from the people are so so of these is that this is now taking the necessary some sort of and if the source of problem were 15 from from the view of the and here in the like I said you know in the variance of the source of what some of these we haven't some modifications and it depends on the server where the name we sometimes use the doesn't feel those you know the kind of thing so I just eventually I don't know that that it's easier to recommended source she actually this is the development data in the form of the month the update they want you lottery we while the other reason that that I like the blow away your entire source you start from scratch approach to development so what the other the result of their so it's easier for me to this run to which the every so what's happening now this is a if the unevenness in this in with the necessary tools build around there and there's a few you use of want to do than it used to be a lot like that makes it can noticed and so forth so maybe self is able to be compiled on any system so this we users that same functionality and use the necessary tool that and the idea the this history review training the problems it of course it doesn't feel we'll be higher a subset of tools that you feel of the standard in the for example builds a cross-compiler on this and now we don't don't think so the right on in the bible there is is on the part the we the attention of the problem was OK so after the tools of fields and goes into actually building the drivers it's not very interesting to look at what but they are really far yeah there there's no new information about an and so some of the people that are much time that more and the quality of the generated it wrong but you can see there's there's a bunch of writers which are on the line graph of course and will be the key but you can see this this we discuss these data in this part of the brain and random what everything that was of all you will be concerned with the 109 that were get a life is present you need to pressured and you can read from a single man go off all this I my usability and the little in the UK not many of you in this time of year In the 1st of all if you just think and not the not on the all the time and it is difficult to find a very that's necessary to run right but because you want me to years story as it provided in site and the only way to update you find function that I want to see in the top of this because the writer uses something like a but then you have to rely and that's the the 3rd part in so you need to figure out the the of you know the uh the the features that runs along we the people that I this finding the ultimate
this unit you will need to work in some parts of the world the only thing that you do not know for this the songs of ideas and actually works on the system and we but this directive there's been and then on the other side of the kind of some in found this is kind of work on the
test because it doesn't ruin part of the axis is just this is sort of a region because of our system where you get the would you know like how we use I also to based around the within the and it's the best program thank you for example at the the this means what there's a fiber hook construct of the EU or things like part you who were we keep it in the 2nd round on the basis of concurrent from and then the interesting cases of course it is the 1 in case you can call it all machine-level only unary operations and various you and needed the present performance the I said that went into useful if needed
at the end of the you know you have a few slides left in the very poor so this in that you pull out called aspect of vol . promises to get some anecdotes and the the hills and so I think this
is the reason why things are library art and was very easy I wanted to develop the drivers in user space but I want to do anything and now everyone of both know that you know
you can anyway so in the body here of the all you have been there or do we need lots signal you know come provide you know and the use of operating system when I was too lazy to and actually now of all these architectural laziness really currently what's what did from another unique that state around anywhere they integrate very nice they tend to run completion so all these things are kind of and well then then a 2nd and so I'm not sure if this is more or less important than the previous 1 what's the the days and this might seem to contradict the but I think of architectural level you should be lazy what you see in especially for working medical system this the is the worst thing ever and working in I would not be because there is not time they did something like that comes to light and preparing the data the system will be on the you want you what you want right in the name of that kind of following the lines by the UK it should be possible as possible what but not anything other than that I had hyperbolic space is very small the face and I want to be very small and simple interface but of
course small and stable on the same thing so at the expense of making it simple I want to make a small so there you stupid mistakes there were some balls actually without getting the is in more than 1 table and this is again something that the a very important meeting these constraints and so the number uh usually say that you want have to
use reaction that we have a problem then will be on the internet and having were so that might be more so the the the idea or on very strongly
this nobody for whatever reason prices rise because of the already read because on a lot of things that I've been doing the heavy-tailed still like the magic at some point you always software developers I think it was used by right then this is not what we were convinced that the be what most of my interest in the experiences of being the police components together because they're all the whole the they all come from the way we use is the rover and that so and this we have to reach the biggest and most of so what what was the creator of this next unit because someone has already invested in in these these making work later little models of
of such high what about something like this last year this is then they they then they from the 1st reading then the so the of which was the theme of use crime the all throughout the
years I spent working on this is the automated this and all the other that I even the goal of the year if I had read with to automate for this of the of the speech from the text in the article I find of the so so OK well the use of open-source called Open Source thoughts always in in in the in the in the in the joining
doing this project a few interested the we don't want the learned from these tried out feedback they
can be used to be that the in the of feature of so I don't have to figure out another way of contributing to just were only used to using the automatic available in the and then there's kind of the horror of these events like the the forms in the eyes of the understanding of the state of the things that you or for example of the scene of the theaters private to time almost initially used in on the other hand available for use in the rapid it's not there yet so everyone act the present of the experience of we a here are some some to
leads you are those and other features of the information in the millions of mailing list if you have any questions which you don't get a chance to ask you remind me the final citizens of the winning candidates for the
coming year then the graph of questions the to what degree the prone was the In view of Is there something that be from you know all of the other ones in there that Britain was used in the kind of thing brighter this with the the year and you don't want to knowledge is the city was actually don't you know was about the prototypes for people to be and part the course I the only the and then I kind of encryption that yeah the group work right in front of the the work of course you want to add on your private area you something which you can name was not known that this is and to be honest there's not that much approach it's just this doesn't work and 2 of this and it only needs to the to 2000 will be and the and and and and and to
and and the rest of the body