5 ms·
The Interim Operating System
- lsnra 11y agoThere are plans to incorporate a GUI or the keyboard focus is exclusive?
- deleted 11y ago[deleted]
- coderjames 11y agoThis looks absolutely awesome. It is the kind of software I thought the RPi was originally going to ship with.
- tempodox 11y agoIf it had something like that out of the box, I'd get an RPi 2 today.
- sternenseemann 11y agoCreating the RPi 2 SD card is really not hard, you can just download the .tgz from the website. I do not think that the RPi ships with a default OS anyways?!
- hga 11y agoFrom the GitHub README: Interim Interim OS is a radical new operating system with a focus on minimalism. It steals conceptually from Lisp machines (language-based kernel) and Plan 9 (everything is a file system). It boots to a JITting Lisp-like REPL and offers the programmer/user the system's resources as filesystems. Interim runs on: Raspberry Pi 2 (Broadcom VideoCore4/ARMv7, Bare Metal) Olimex Olinuxino (Freescale IMX233/ARMv5, Bare Metal) ARM5+ Linux (Hosted) Intel/AMD x64 Linux (Hosted)
- cbd1984 11y ago> Interim OS is a radical new operating system with a focus on minimalism. It steals conceptually from Lisp machines (language-based kernel) These two concepts being so close together ("minimalism" and "Lisp") is practically an oxymoron, as far as Common Belief Structures go. Minimalism is 6502 machine code as written by someone who honestly believes assemblers make code go slower. Don't you know that? /s Meanwhile, this: > It boots to a JITting Lisp-like REPL ... is basically Dalvik/Android. It's what we run on our phones, except our phones use Java, not Lisp, because Lisp Is Slow. Dogma. Can't challenge it. People look at you funny.
- DavidSJ 11y agoPaper here: http://dump.mntmn.com/interim-paper/ http://dump.mntmn.com/interim-paper/ This seems motivated similarly to the OS Alan Kay's Viewpoints Research Institute is working on -- an OS a single person can comprehend.
- ised 11y agoI really enjoyed reading the paper. The author's focus is in the right place (IMO). Technical ability is perhaps common but having the right focus is, sadly, rare. It's the difference between someone who says they could do or did something many years ago versus the the person who actually does it, _now_, when it is sorely needed. Computing today is in dire need of _true_ minimalism, IMHO.
- jwatte 11y agoOne thing seems off in that description: If the end of the list is represented as pointer to pair of nils then the last element of a list cannot contain nil. The traditional LISP representation is simply a nil pointer for end. '() is nil (NULL in C.)
- ericbb 11y agoI don't immediately see why he is not just using NULL for nil but Interim is nonetheless more conventional than it may seem. It does use nil for '() (see [1]) and it evaluates (car nil) to nil and (cdr nil) to nil just like Common Lisp does. The last element of a list may be nil because list elements always appear in car positions whereas it is always the cdr position that one checks to identify the end of the list. If you walk a list without checking for nil, then you will appear to find a list that ends with an unending sequence of nil elements (as is the tradition!). For example, try (third nil) in Common Lisp; you will see a result of nil and no error. [1] https://github.com/mntmn/interim/blob/master/sledge/alloc.c#L301 https://github.com/mntmn/interim/blob/master/sledge/alloc.c#...
- Sodel 11y agoThe is the operating system that I always wanted to make, without having the time or talent to pull it off. Just wonderful.
- qnaal 11y agowhy do you have more pictures of your weird keyboard than screenshots from the device? who photographs lcds honestly
- sklogic 11y agoNitpicking: it's a VPU which runs the bootstrap blob, not the QPU (the latter is well documented and fairly open, unlike the former).
- mntmn 11y agoThanks for that correction, will look into it and correct.
- hermanhermitage 11y agoI think there is enough info to do a jit_vpu_raw.c, which could be a fun project!
- sklogic 11y agoBtw., VPU had been reverse-engineered to a degree, should be sort of possible to roll out your own bootstrap now: https://github.com/hermanhermitage/videocoreiv https://github.com/hermanhermitage/videocoreiv
- mntmn 11y agoHi, author here. Thank you all for the positive feedback. This motivates me a lot to seriously continue this project. I have a port to i386 (bare metal) in the pipeline and a lot of clean-up to do. Also, I'd be glad to hear your ideas for areas of use / improvements, what traps not to fall into et cetera. Cheers!
- eternalban 11y agoJust wanted to express my deep admiration for your work. All the best in completing the work. (Loved the writeup, too.)
- sternenseemann 11y agoyeah, he is kinda awesome indeed :)
- nathell 11y agoRelated, but much much less complete: https://github.com/nathell/lithium https://github.com/nathell/lithium
- mntmn 11y agoCool! I'll check that out. Funny, I also read "An Incremental Approach to Compiler Construction" once.
- sternenseemann 11y agoDo you already support the Raspberry's GPIOs or do you plan to do so?
- mntmn 11y agoSupport is planned!
- sternenseemann 11y agoThat is very nice! I guess that will be a filesystem interface?