-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VM as OS Concepts #3
Comments
I'm working on a layer diagram to clarify what is a VM/runtime feature and what is buit on top of that. Here are my thoughts so far: VM and runtime
HTTP Utilities
Obviously I need to think some things over. I suggest we use the comments here to stage ideas and use the issue body (if it is in fact editable) for a draft spec that I'll move to the actual repo once we start to feel good about it. Here are some open questions; I don't have answers, but maybe strong opinions. First, I recognize the effectiveness of using off-the-shelf components for getting a proof-of-concept together, but also remember that I'm a minimalist. We should weigh the amount of work required to cut away all the fat, vs. write components from scratch. Maybe my point is that we shouldn't be afraid to, for example, write a scheduler from scratch while using a minimally modified memory manager. Again, how much is in L and how much is compiled C is an open question. |
The idea behind using a stripped down linux kernel and OTS components is that we can replace things with custom ones as we want / need to. There's a lot of moving parts in this -- so I figure we take as many ones that work as we can to sort of get it together and get a dev. environment going. I've written a scheduler before (part of an OS course) and it's really not that difficult. I think we should implement as much in L as possible -- but obviously there will be custom C components. |
You're totally right. Using an OTS kernel, etc. makes sense. Though some components will definitely have to be customized. The scheduler, for example will be pretty custom. Eventually replacing lower and lower level components in the stack... How about a BSD kernel? |
Just some rambling thoughts per our conversation
Web-Based Architectures
VMs
VM as OS
{
souce: Byte array representing source input string
}
and returns a JSONs that looks like:
{
out: standard output channel
err: standard input channel
}
whenever the output buffer size is reached
The byte array source is passed to the aREPL where it’s read, evaluated and when nevessary things are printed back
Tying systems together
L should implement many web-spec. functions as basic language constructs implemented in C and linked against the standard libraries that provide those functions, things like:
scp, sendEmal, get, put, post, update, delete (by no means exhaustive)
as well as all the language features given in the spec
provide a modular way of loading new “sys-tasks” into the language
The text was updated successfully, but these errors were encountered: