From merimus at gmail.com Wed Jun 10 18:04:45 2009 From: merimus at gmail.com (Brian Makin) Date: Wed, 10 Jun 2009 14:04:45 -0400 Subject: [movitz-devel] Introduction Message-ID: Hello, I'm was looking at movitz and even got it booted under bochs. Is there any development currently going on with this project? I'm currently trying to find my way around the codebase but would like to get involved. From frodef at cs.uit.no Thu Jun 11 07:17:24 2009 From: frodef at cs.uit.no (Frode V. Fjeld) Date: Thu, 11 Jun 2009 09:17:24 +0200 Subject: [movitz-devel] Introduction References: Message-ID: <87vdn3qlx7.fsf@disk.lan> Brian Makin writes: > Hello, I'm was looking at movitz and even got it booted under bochs. > Is there any development currently going on with this project? Hi Brian, I'm sorry to say that there's nothing (that I know of) going on for now. Not that it's abandoned, but I just have no time for hacking these days. > I'm currently trying to find my way around the codebase but would > like to get involved. I'm always happy to answer any questions. In other words, I can be active but pro-active, not so much :) -- Frode V. Fjeld From rvedam at gmail.com Thu Jun 11 14:42:01 2009 From: rvedam at gmail.com (Ram Vedam) Date: Thu, 11 Jun 2009 09:42:01 -0500 Subject: [movitz-devel] Introduction In-Reply-To: References: Message-ID: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> I have been looking different parts of movitz in my free time as well, so that I can see if what sort of low-level graphics api, and looking at how Movitz does parallelization (threads, process isolation, etc.). If any of these sound interesting, keep me posted and I can try my best to help you out. Movitz is a great project but like you, I also don't know where to really begin except explore. (and I've been exploring for a few months now). Ram On Thu, Jun 11, 2009 at 8:17 AM, Andreas Davour wrote: > On Wed, 10 Jun 2009, Brian Makin wrote: > > > Hello, I'm was looking at movitz and even got it booted under bochs. > > Is there any development currently going on with this project? > > > > I'm currently trying to find my way around the codebase but would > > like to get involved. > > Movitz is a very cool project, but there's not much done with it these > days. A couple of us have announced interests in different parts of it, > but things move slowly. Personally I'm very interested in working on the > storage subsystem, but I have very little time to devote to it. > > /Andreas > > -- > A: Because it fouls the order in which people normally read text. > Q: Why is top-posting such a bad thing? > A: Top-posting. > Q: What is the most annoying thing on usenet and in e-mail? > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From merimus at gmail.com Thu Jun 11 16:40:31 2009 From: merimus at gmail.com (Brian Makin) Date: Thu, 11 Jun 2009 12:40:31 -0400 Subject: [movitz-devel] Introduction In-Reply-To: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> Message-ID: <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> Well... It would be nice to get to the point where there is framebuffer nic card keyboard mouse storage/filesystem Getting to the point where you could bootstrap development would be really cool. I am a compsci. Most of my experience is in c/c++ although I did code some scheme for nearly 7 years. I could help out with low level systems stuff with some hand holding. Currently I find myself needing to study up on networking so maybe the ipv4 system? Honestly I've never done much clisp but have always been interested in the language. I'm looking for a project. Do you have any good suggestions? On Jun 11, 2009, at 10:42 AM, Ram Vedam wrote: > I have been looking different parts of movitz in my free time as > well, so that I can see if what sort of low-level graphics api, and > looking at how Movitz does parallelization (threads, process > isolation, etc.). If any of these sound interesting, keep me posted > and I can try my best to help you out. Movitz is a great project > but like you, I also don't know where to really begin except explore. > (and I've been exploring for a few months now). > > Ram > > On Thu, Jun 11, 2009 at 8:17 AM, Andreas Davour > wrote: > On Wed, 10 Jun 2009, Brian Makin wrote: > > > Hello, I'm was looking at movitz and even got it booted under bochs. > > Is there any development currently going on with this project? > > > > I'm currently trying to find my way around the codebase but would > > like to get involved. > > Movitz is a very cool project, but there's not much done with it these > days. A couple of us have announced interests in different parts of > it, > but things move slowly. Personally I'm very interested in working > on the > storage subsystem, but I have very little time to devote to it. > > /Andreas > > -- > A: Because it fouls the order in which people normally read text. > Q: Why is top-posting such a bad thing? > A: Top-posting. > Q: What is the most annoying thing on usenet and in e-mail? > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rvedam at gmail.com Thu Jun 11 17:28:17 2009 From: rvedam at gmail.com (Ram Vedam) Date: Thu, 11 Jun 2009 12:28:17 -0500 Subject: [movitz-devel] Introduction In-Reply-To: <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> Message-ID: <2ead50800906111028w446901afrc9204f863e5298bb@mail.gmail.com> Has anyone had any problems with accessing the Trac wiki? I get an error on the front-page and I'm not sure why its there. It displays the following "dU49bx onthxujgriyf, [url= http://qzjjbikyytsm.com/]qzjjbikyytsm[/url], [link= http://vsfmcdkbabij.com/]vsfmcdkbabij[/link],http://tgbhgpwzmowp.com/" has anyone had this problem? I'm using the Google Chrome web browser, in case you're wondering. Shouldn't be a problem but I thought I put it on there Ram On Thu, Jun 11, 2009 at 11:40 AM, Brian Makin wrote: > > Well... It would be nice to get to the point where there is > framebuffer > nic card > keyboard > mouse > storage/filesystem > > Getting to the point where you could bootstrap development would be really > cool. > > I am a compsci. > Most of my experience is in c/c++ although I did code some scheme for > nearly 7 years. > > I could help out with low level systems stuff with some hand holding. > Currently I find myself needing to study up on networking so maybe the ipv4 > system? > > Honestly I've never done much clisp but have always been interested in the > language. I'm looking for a project. Do you have any good suggestions? > > On Jun 11, 2009, at 10:42 AM, Ram Vedam wrote: > > I have been looking different parts of movitz in my free time as well, so > that I can see if what sort of low-level graphics api, and looking at how > Movitz does parallelization (threads, process isolation, etc.). If any of > these sound interesting, keep me posted and I can try my best to help you > out. Movitz is a great project but like you, I also don't know where to > really begin except explore. > (and I've been exploring for a few months now). > > Ram > > On Thu, Jun 11, 2009 at 8:17 AM, Andreas Davour wrote: > >> On Wed, 10 Jun 2009, Brian Makin wrote: >> >> > Hello, I'm was looking at movitz and even got it booted under bochs. >> > Is there any development currently going on with this project? >> > >> > I'm currently trying to find my way around the codebase but would >> > like to get involved. >> >> Movitz is a very cool project, but there's not much done with it these >> days. A couple of us have announced interests in different parts of it, >> but things move slowly. Personally I'm very interested in working on the >> storage subsystem, but I have very little time to devote to it. >> >> /Andreas >> >> -- >> A: Because it fouls the order in which people normally read text. >> Q: Why is top-posting such a bad thing? >> A: Top-posting. >> Q: What is the most annoying thing on usenet and in e-mail? >> >> _______________________________________________ >> movitz-devel site list >> movitz-devel at common-lisp.net >> http://common-lisp.net/mailman/listinfo/movitz-devel >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjs at fdy2.demon.co.uk Thu Jun 11 18:32:49 2009 From: rjs at fdy2.demon.co.uk (Robert Swindells) Date: Thu, 11 Jun 2009 19:32:49 +0100 (BST) Subject: [movitz-devel] Introduction In-Reply-To: <2ead50800906111028w446901afrc9204f863e5298bb@mail.gmail.com> (message from Ram Vedam on Thu, 11 Jun 2009 12:28:17 -0500) References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <2ead50800906111028w446901afrc9204f863e5298bb@mail.gmail.com> Message-ID: <20090611183249.68027251@fdy2.demon.co.uk> Ram Vedam wrote: >Has anyone had any problems with accessing the Trac wiki? I get an error on >the front-page and I'm not sure why its there. It displays the following >"dU49bx onthxujgriyf, [url= >http://qzjjbikyytsm.com/]qzjjbikyytsm[/url], [link= >http://vsfmcdkbabij.com/]vsfmcdkbabij[/link],http://tgbhgpwzmowp.com/" > >has anyone had this problem? It has been hacked, most wikis seem to suffer from this problem. The LispMachinery wiki gets trashed within a couple of minutes of anyone trying to clean it up. Robert Swindells From rjs at fdy2.demon.co.uk Thu Jun 11 18:27:33 2009 From: rjs at fdy2.demon.co.uk (Robert Swindells) Date: Thu, 11 Jun 2009 19:27:33 +0100 (BST) Subject: [movitz-devel] Introduction In-Reply-To: <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> (message from Brian Makin on Thu, 11 Jun 2009 12:40:31 -0400) References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> Message-ID: <20090611182733.B5079240@fdy2.demon.co.uk> Brian Makin wrote: >Well... It would be nice to get to the point where there is >framebuffer >nic card >keyboard >mouse >storage/filesystem > >Getting to the point where you could bootstrap development would be >really cool. I think development would speed up once you could develop within the system. >I am a compsci. >Most of my experience is in c/c++ although I did code some scheme for >nearly 7 years. > >I could help out with low level systems stuff with some hand holding. >Currently I find myself needing to study up on networking so maybe >the ipv4 system? I am still working on the networking ideas that I had when attempting to mentor a Google Summer of Code project last summer. I ran up against a gap in the Simple Streams implementation and wasn't sure what was needed to get any changes to cross compile correctly. I can put a snapshot somewhere if anyone wants to look at it. The other area I have been looking at is to be able to wrap an ELF header around the image. Robert Swindells -- A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? From merimus at gmail.com Thu Jun 11 18:59:09 2009 From: merimus at gmail.com (Brian Makin) Date: Thu, 11 Jun 2009 14:59:09 -0400 Subject: [movitz-devel] Introduction In-Reply-To: <20090611182733.B5079240@fdy2.demon.co.uk> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> Message-ID: <1B1EE0CF-FFD2-4B54-B1ED-65A6FB8B102E@gmail.com> > So, what do we need to get to this point? Could someone be so kind as to list what each of the pieces needed for this are, what their current state is, and what the next step would be? I'd be glad to help with making that list but I need to at least be able to find my way around the code first :P > I think development would speed up once you could develop within the > system. > >> From rvedam at gmail.com Thu Jun 11 19:21:45 2009 From: rvedam at gmail.com (Ram Vedam) Date: Thu, 11 Jun 2009 14:21:45 -0500 Subject: [movitz-devel] Introduction In-Reply-To: <1B1EE0CF-FFD2-4B54-B1ED-65A6FB8B102E@gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> <1B1EE0CF-FFD2-4B54-B1ED-65A6FB8B102E@gmail.com> Message-ID: <2ead50800906111221j75d38ad7u32b0422813583d28@mail.gmail.com> I agree a list of what needs to be implemented in order to get development within the system would definitely help. It will definitely prioritize my code exploration... Ram On Thu, Jun 11, 2009 at 1:59 PM, Brian Makin wrote: > > > > So, what do we need to get to this point? > Could someone be so kind as to list what each of the pieces needed > for this are, what their current state is, and what the next step > would be? > > I'd be glad to help with making that list but I need to at least be > able to find my way around the code first :P > > > I think development would speed up once you could develop within the > > system. > > > >> > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sabetts at gmail.com Thu Jun 11 20:04:03 2009 From: sabetts at gmail.com (Shawn Betts) Date: Thu, 11 Jun 2009 13:04:03 -0700 Subject: [movitz-devel] Introduction In-Reply-To: <2ead50800906111221j75d38ad7u32b0422813583d28@mail.gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> <1B1EE0CF-FFD2-4B54-B1ED-65A6FB8B102E@gmail.com> <2ead50800906111221j75d38ad7u32b0422813583d28@mail.gmail.com> Message-ID: <62e3e0b30906111304w24b452c5na27867940ea5c3c4@mail.gmail.com> On Thu, Jun 11, 2009 at 12:21 PM, Ram Vedam wrote: > I agree a list of what needs to be implemented in order to get development > within the system would definitely help. It will definitely prioritize my > code exploration... File system support is the big one. If you could read and write files you could have movitz load code on boot up (even if its just interpreted since the compiler isn't ported yet) and save your changes to a file. A pathnames implementation. lisp stream functions including with-open-file, write, etc. Next you'd need an IDE of some kind. My CL clone of gnu emacs, LiCE, was at one point working on movitz and could be made to again. With all that in place you could hobble along inside movitz and hack the good hack. At that point you could interactively fart around with hardware but the Next Big Milestone, I think, would be porting the compiler to movitz. You'd only truely be bootstrapped if you could build new movitz kernels from movitz. -Shawn From sabetts at gmail.com Thu Jun 11 19:52:05 2009 From: sabetts at gmail.com (Shawn Betts) Date: Thu, 11 Jun 2009 12:52:05 -0700 Subject: [movitz-devel] Introduction In-Reply-To: <20090611182733.B5079240@fdy2.demon.co.uk> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> Message-ID: <62e3e0b30906111252k6cb945a7v9bef6f112e6dc4df@mail.gmail.com> On Thu, Jun 11, 2009 at 11:27 AM, Robert Swindells wrote: > > Brian Makin wrote: >>Well... It would be nice to get to the point where there is >>framebuffer >>nic card >>keyboard >>mouse >>storage/filesystem >> >>Getting to the point where you could bootstrap development would be >>really cool. > > I think development would speed up once you could develop within the > system. That's the holy grail right there. -Shawn From rvedam at gmail.com Thu Jun 11 20:33:04 2009 From: rvedam at gmail.com (Ram Vedam) Date: Thu, 11 Jun 2009 15:33:04 -0500 Subject: [movitz-devel] Introduction In-Reply-To: <62e3e0b30906111252k6cb945a7v9bef6f112e6dc4df@mail.gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> <62e3e0b30906111252k6cb945a7v9bef6f112e6dc4df@mail.gmail.com> Message-ID: <2ead50800906111333s4d497a3fj9a983f53f109de08@mail.gmail.com> Does LiCE come with the movitz distribution or is it a separate download? Ram On Thu, Jun 11, 2009 at 2:52 PM, Shawn Betts wrote: > On Thu, Jun 11, 2009 at 11:27 AM, Robert Swindells > wrote: > > > > Brian Makin wrote: > >>Well... It would be nice to get to the point where there is > >>framebuffer > >>nic card > >>keyboard > >>mouse > >>storage/filesystem > >> > >>Getting to the point where you could bootstrap development would be > >>really cool. > > > > I think development would speed up once you could develop within the > > system. > > That's the holy grail right there. > > -Shawn > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sabetts at gmail.com Thu Jun 11 21:09:46 2009 From: sabetts at gmail.com (Shawn Betts) Date: Thu, 11 Jun 2009 14:09:46 -0700 Subject: [movitz-devel] Introduction In-Reply-To: <2ead50800906111333s4d497a3fj9a983f53f109de08@mail.gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> <62e3e0b30906111252k6cb945a7v9bef6f112e6dc4df@mail.gmail.com> <2ead50800906111333s4d497a3fj9a983f53f109de08@mail.gmail.com> Message-ID: <62e3e0b30906111409v72a67aex8c86b18a4ee10b93@mail.gmail.com> On Thu, Jun 11, 2009 at 1:33 PM, Ram Vedam wrote: > Does LiCE come with the movitz distribution or is it a separate download? > Ram It's a completely separate program. -Shawn From rvedam at gmail.com Thu Jun 11 21:15:31 2009 From: rvedam at gmail.com (Ram Vedam) Date: Thu, 11 Jun 2009 16:15:31 -0500 Subject: [movitz-devel] Introduction In-Reply-To: <62e3e0b30906111409v72a67aex8c86b18a4ee10b93@mail.gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> <62e3e0b30906111252k6cb945a7v9bef6f112e6dc4df@mail.gmail.com> <2ead50800906111333s4d497a3fj9a983f53f109de08@mail.gmail.com> <62e3e0b30906111409v72a67aex8c86b18a4ee10b93@mail.gmail.com> Message-ID: <2ead50800906111415u62900be5u8f46cf3f320873f5@mail.gmail.com> I just noticed that on the Movitz website that you have it on there (should have checked the website first before putting my foot in my mouth)... I clicked on the link provided on the Trac wiki and it appears to be broken... Do you have a repo somewhere where one can download it? Ram On Thu, Jun 11, 2009 at 4:09 PM, Shawn Betts wrote: > On Thu, Jun 11, 2009 at 1:33 PM, Ram Vedam wrote: > > Does LiCE come with the movitz distribution or is it a separate download? > > Ram > > It's a completely separate program. > > -Shawn > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From merimus at gmail.com Thu Jun 11 21:47:30 2009 From: merimus at gmail.com (Brian Makin) Date: Thu, 11 Jun 2009 17:47:30 -0400 Subject: [movitz-devel] movitz under qemu Message-ID: <11A742D5-9B33-4E2C-A07C-9775ACEEEB9C@gmail.com> Just booted the qemu... WAY faster. Can anyone give me a quite tutorial on how to build the system? From sabetts at gmail.com Fri Jun 12 07:58:04 2009 From: sabetts at gmail.com (Shawn Betts) Date: Fri, 12 Jun 2009 00:58:04 -0700 Subject: [movitz-devel] Introduction In-Reply-To: <2ead50800906111415u62900be5u8f46cf3f320873f5@mail.gmail.com> References: <2ead50800906110742n5af2d3ecva4b0719082d27f81@mail.gmail.com> <9DEC870D-AF25-4FEB-BB57-10FDFC14A37E@gmail.com> <20090611182733.B5079240@fdy2.demon.co.uk> <62e3e0b30906111252k6cb945a7v9bef6f112e6dc4df@mail.gmail.com> <2ead50800906111333s4d497a3fj9a983f53f109de08@mail.gmail.com> <62e3e0b30906111409v72a67aex8c86b18a4ee10b93@mail.gmail.com> <2ead50800906111415u62900be5u8f46cf3f320873f5@mail.gmail.com> Message-ID: <62e3e0b30906120058u68a870f3vf1182da90b02e79a@mail.gmail.com> On Thu, Jun 11, 2009 at 2:15 PM, Ram Vedam wrote: > I just noticed that on the Movitz website that you have it on there (should > have checked the website first before putting my foot in my mouth)... I > clicked on the link provided on the Trac wiki and it appears to be broken... > Do you have a repo somewhere where one can download it? http://repo.or.cz/w/lice.git -Shawn From merimus at gmail.com Fri Jun 12 13:43:32 2009 From: merimus at gmail.com (Brian Makin) Date: Fri, 12 Jun 2009 09:43:32 -0400 Subject: [movitz-devel] movitz under qemu In-Reply-To: <11A742D5-9B33-4E2C-A07C-9775ACEEEB9C@gmail.com> References: <11A742D5-9B33-4E2C-A07C-9775ACEEEB9C@gmail.com> Message-ID: <0D1A9A59-3442-4642-BD0E-486BBFB73E9B@gmail.com> On Jun 11, 2009, at 5:47 PM, Brian Makin wrote: > Just booted the qemu... WAY faster. > > Can anyone give me a quite tutorial on how to build the system? > Sorry, that last was barely in english. I believe I've got the lo0 image built now :) From rvedam at gmail.com Fri Jun 12 22:11:23 2009 From: rvedam at gmail.com (Ram Vedam) Date: Fri, 12 Jun 2009 17:11:23 -0500 Subject: [movitz-devel] Threading Model and Parallelization Model inside Movitz Message-ID: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> I was wondering if the threading.lisp file inside the losp/ directory represents base threading model that Movitz is planning on supporting... Also, is there an overarching design already in the works or is this an area that still needs to be worked on? Ram -------------- next part -------------- An HTML attachment was scrubbed... URL: From rjs at fdy2.demon.co.uk Fri Jun 12 22:43:04 2009 From: rjs at fdy2.demon.co.uk (Robert Swindells) Date: Fri, 12 Jun 2009 23:43:04 +0100 (BST) Subject: [movitz-devel] Threading Model and Parallelization Model inside Movitz In-Reply-To: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> (message from Ram Vedam on Fri, 12 Jun 2009 17:11:23 -0500) References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> Message-ID: <20090612224304.79A62240@fdy2.demon.co.uk> Ram Vedam wrote: >I was wondering if the threading.lisp file inside the losp/ directory >represents base threading model that Movitz is planning on >supporting... Also, is there an overarching design already in the >works or is this an area that still needs to be worked on? The current threading model has worked well for me. There is a patch written by Shawn Betts that adds lispm style processes on top of these threads, it also worked well for everthing that I did with it. Robert Swindells From frodef at cs.uit.no Fri Jun 12 23:20:55 2009 From: frodef at cs.uit.no (Frode V. Fjeld) Date: Sat, 13 Jun 2009 01:20:55 +0200 Subject: [movitz-devel] Threading Model and Parallelization Model inside Movitz References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> Message-ID: <87my8dqbs8.fsf@disk.lan> Ram Vedam writes: > I was wondering if the threading.lisp file inside the losp/ > directory represents base threading model that Movitz is planning on > supporting... Also, is there an overarching design already in the > works or is this an area that still needs to be worked on? An overarching design (in terms of I/O, processes etc.) needs to be worked on. -- Frode V. Fjeld From merimus at gmail.com Sat Jun 13 00:40:58 2009 From: merimus at gmail.com (Brian Makin) Date: Fri, 12 Jun 2009 20:40:58 -0400 Subject: [movitz-devel] OS decisions In-Reply-To: <87my8dqbs8.fsf@disk.lan> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> Message-ID: Some architecture questions... some of which may not have been decided yet. Do we want to support 32 and 64 bit? SMP? Will there be virtual memory? Memory protection? What kind of file system? or use an existing one? Will it have a console or be gui driven? From sabetts at gmail.com Sat Jun 13 21:35:33 2009 From: sabetts at gmail.com (Shawn Betts) Date: Sat, 13 Jun 2009 14:35:33 -0700 Subject: [movitz-devel] OS decisions In-Reply-To: References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> Message-ID: <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> On Fri, Jun 12, 2009 at 5:40 PM, Brian Makin wrote: > Some architecture questions... some of which may not have been decided > yet. > > Do we want to support 32 and 64 bit? I believe Frode was working on a 64bit port. > SMP? Sure, why not? > Will there be virtual memory? You sorta have to if you want to access all the computer's memory don't you? > Memory protection? In many ways lisp doesn't need memory protection since you don't create pointers out of thin air like in C. That said, it could be useful for security purposes if movitz was a multiuser system. > What kind of file system? or use an existing one? I think an existing one would be fine. > Will it have a console or be gui driven? Both of course! :) -Shawn From merimus at gmail.com Sat Jun 13 23:30:10 2009 From: merimus at gmail.com (Brian Makin) Date: Sat, 13 Jun 2009 19:30:10 -0400 Subject: [movitz-devel] OS decisions In-Reply-To: <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> Message-ID: <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> On Jun 13, 2009, at 5:35 PM, Shawn Betts wrote: > On Fri, Jun 12, 2009 at 5:40 PM, Brian Makin wrote: >> Some architecture questions... some of which may not have been >> decided >> yet. >> >> Do we want to support 32 and 64 bit? > > I believe Frode was working on a 64bit port. > >> SMP? > > Sure, why not? > >> Will there be virtual memory? > > You sorta have to if you want to access all the computer's memory > don't you? > More of a question of paging. You could decide that ram sizes are large enough that we don't need it... >> Memory protection? > > In many ways lisp doesn't need memory protection since you don't > create pointers out of thin air like in C. That said, it could be > useful for security purposes if movitz was a multiuser system. > Protection between user processes probably aren't as important. In a multiuser system you would still want projection between user and kernel space however. >> What kind of file system? or use an existing one? > > I think an existing one would be fine. > >> Will it have a console or be gui driven? > > Both of course! :) > > -Shawn > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel From rjs at fdy2.demon.co.uk Sun Jun 14 00:33:34 2009 From: rjs at fdy2.demon.co.uk (Robert Swindells) Date: Sun, 14 Jun 2009 01:33:34 +0100 (BST) Subject: [movitz-devel] OS decisions In-Reply-To: <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> (message from Brian Makin on Sat, 13 Jun 2009 19:30:10 -0400) References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> Message-ID: <20090614003335.000D8240@fdy2.demon.co.uk> Brian Makin wrote: >On Jun 13, 2009, at 5:35 PM, Shawn Betts wrote: >> On Fri, Jun 12, 2009 at 5:40 PM, Brian Makin wrote: >>> Some architecture questions... some of which may not have been >>> decided >>> yet. >>> >>> Do we want to support 32 and 64 bit? >> >> I believe Frode was working on a 64bit port. >> >>> SMP? >> >> Sure, why not? >> >>> Will there be virtual memory? >> >> You sorta have to if you want to access all the computer's memory >> don't you? >> >More of a question of paging. You could decide that ram sizes are >large enough that we don't need it... I think you could leave this until it is needed. >>> Memory protection? >> >> In many ways lisp doesn't need memory protection since you don't >> create pointers out of thin air like in C. That said, it could be >> useful for security purposes if movitz was a multiuser system. >> >Protection between user processes probably aren't as important. In a >multiuser system you would still want projection between user and >kernel space however. In my view the easiest way to get a multiuser system would be to make Movitz run virtualized on top of Xen, you then just run one DomU per user. >> What kind of file system? or use an existing one? > > I think an existing one would be fine. One option is to port LMFS from the MIT sources to Common Lisp. Robert Swindells From merimus at gmail.com Sun Jun 14 00:41:44 2009 From: merimus at gmail.com (Brian Makin) Date: Sat, 13 Jun 2009 20:41:44 -0400 Subject: [movitz-devel] OS decisions In-Reply-To: <2ead50800906131657j53792e10u7de4457a110b6832@mail.gmail.com> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <2ead50800906131657j53792e10u7de4457a110b6832@mail.gmail.com> Message-ID: <5D887B61-616F-469A-ADAA-69B9415A4C5F@gmail.com> On Jun 13, 2009, at 7:57 PM, Ram Vedam wrote: > Is Movitz or should Movitz be geared towards becoming a multiuser > system? I think it would be a good idea... and if that is the > eventual goal, then memory protection is a very good idea. Though > wouldn't you need memory protection for process isolation to work > correctly? Unless I'm missing something here... Process isolation isn't quite as important when you can't write into random memory locations so easily. If you have one lisp process running and I have another... how can I do something bad to you? From merimus at gmail.com Sun Jun 14 00:50:34 2009 From: merimus at gmail.com (Brian Makin) Date: Sat, 13 Jun 2009 20:50:34 -0400 Subject: [movitz-devel] OS decisions In-Reply-To: <20090614003335.000D8240@fdy2.demon.co.uk> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <20090614003335.000D8240@fdy2.demon.co.uk> Message-ID: > >> More of a question of paging. You could decide that ram sizes are >> large enough that we don't need it... > > I think you could leave this until it is needed. > Agreed... but if we eventually want the ability it's better to keep it in mind. > > >>> What kind of file system? or use an existing one? >> >> I think an existing one would be fine. > > One option is to port LMFS from the MIT sources to Common Lisp. > > Robert Swindells Other than versioning LMFS doesn't look too different from modern FS. I'm just kind of thrashing around trying to find a place I can effectively contribute :) From rvedam at gmail.com Sat Jun 13 23:57:43 2009 From: rvedam at gmail.com (Ram Vedam) Date: Sat, 13 Jun 2009 18:57:43 -0500 Subject: [movitz-devel] OS decisions In-Reply-To: <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> Message-ID: <2ead50800906131657j53792e10u7de4457a110b6832@mail.gmail.com> Is Movitz or should Movitz be geared towards becoming a multiuser system? I think it would be a good idea... and if that is the eventual goal, then memory protection is a very good idea. Though wouldn't you need memory protection for process isolation to work correctly? Unless I'm missing something here... Ram On Sat, Jun 13, 2009 at 6:30 PM, Brian Makin wrote: > > On Jun 13, 2009, at 5:35 PM, Shawn Betts wrote: > > > On Fri, Jun 12, 2009 at 5:40 PM, Brian Makin wrote: > >> Some architecture questions... some of which may not have been > >> decided > >> yet. > >> > >> Do we want to support 32 and 64 bit? > > > > I believe Frode was working on a 64bit port. > > > >> SMP? > > > > Sure, why not? > > > >> Will there be virtual memory? > > > > You sorta have to if you want to access all the computer's memory > > don't you? > > > > More of a question of paging. You could decide that ram sizes are > large enough that we don't need it... > > >> Memory protection? > > > > In many ways lisp doesn't need memory protection since you don't > > create pointers out of thin air like in C. That said, it could be > > useful for security purposes if movitz was a multiuser system. > > > > Protection between user processes probably aren't as important. In a > multiuser system you would still want projection between user and > kernel space however. > > >> What kind of file system? or use an existing one? > > > > I think an existing one would be fine. > > > >> Will it have a console or be gui driven? > > > > Both of course! :) > > > > -Shawn > > > > _______________________________________________ > > movitz-devel site list > > movitz-devel at common-lisp.net > > http://common-lisp.net/mailman/listinfo/movitz-devel > > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sabetts at gmail.com Sun Jun 14 01:41:57 2009 From: sabetts at gmail.com (Shawn Betts) Date: Sat, 13 Jun 2009 18:41:57 -0700 Subject: [movitz-devel] OS decisions In-Reply-To: <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> Message-ID: <62e3e0b30906131841gb130b13iad9c7edddcfaa810@mail.gmail.com> > Protection between user processes probably aren't as important. ?In a > multiuser system you would still want projection between user and kernel > space however. What is user and kernel space in a lisp OS and why do you need protection? -Shawn From merimus at gmail.com Sun Jun 14 01:58:40 2009 From: merimus at gmail.com (Brian Makin) Date: Sat, 13 Jun 2009 21:58:40 -0400 Subject: [movitz-devel] OS decisions In-Reply-To: <62e3e0b30906131841gb130b13iad9c7edddcfaa810@mail.gmail.com> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <62e3e0b30906131841gb130b13iad9c7edddcfaa810@mail.gmail.com> Message-ID: Well, if you don't have some protection between a user and the base system then any user would be able to do nasty things to other people on the system. Grab their passwords, kill their processes, intercept their network traffic etc... Genera for example was single user only. On top of that it didn't even try to protect the user from themselves. If you overwrote the scheduler with minesweeper... so be it. You could make a multiuser system without that sort of protection but then a hostile (or careless) user could cause havoc. On Jun 13, 2009, at 9:41 PM, Shawn Betts wrote: >> Protection between user processes probably aren't as important. In a >> multiuser system you would still want projection between user and >> kernel >> space however. > > What is user and kernel space in a lisp OS and why do you need > protection? > > -Shawn > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel From sabetts at gmail.com Sun Jun 14 02:12:18 2009 From: sabetts at gmail.com (Shawn Betts) Date: Sat, 13 Jun 2009 19:12:18 -0700 Subject: [movitz-devel] OS decisions In-Reply-To: References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <62e3e0b30906131841gb130b13iad9c7edddcfaa810@mail.gmail.com> Message-ID: <62e3e0b30906131912q60559feej26879b4aad8567b3@mail.gmail.com> On Sat, Jun 13, 2009 at 6:58 PM, Brian Makin wrote: > > Well, if you don't have some protection between a user and the base system > then any user would be able to do nasty things to other people on the > system. > > Grab their passwords, kill their processes, intercept their network traffic > etc... > > Genera for example was single user only. ?On top of that it didn't even try > to protect the user from themselves. ?If you overwrote the scheduler with > minesweeper... so be it. But how do you define kernel and user space? If I get "access" to the scheduler and make a tweak so it calls a special function I just wrote, how would that function be tagged as being crucial to the system? Would you be able to have a process-wait-function if you seperated "kernel" and "user" spaces? > You could make a multiuser system without that sort of protection but then a > hostile (or careless) user could cause havoc. I don't think anyone is questioning that. I'm trying to imagine how it would work. How would you seperate all the objects floating around in memory? From merimus at gmail.com Sun Jun 14 02:40:39 2009 From: merimus at gmail.com (Brian Makin) Date: Sat, 13 Jun 2009 22:40:39 -0400 Subject: [movitz-devel] OS decisions In-Reply-To: <62e3e0b30906131912q60559feej26879b4aad8567b3@mail.gmail.com> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <62e3e0b30906131841gb130b13iad9c7edddcfaa810@mail.gmail.com> <62e3e0b30906131912q60559feej26879b4aad8567b3@mail.gmail.com> Message-ID: Well, we could certainly put some functions in a protected memory space. It would require some system support so that you couldn't simply override the func. Perhaps a better way would be like this. A particular context (looks like the lisp term would be environment) could have permissions. The read/write/execute model would probably work. You could execute a function, read the source, or write(change) the function. Thinking more on this... it is an interesting question. Lets use a function movitz:network:tx_packet I would imagine that an unprivileged user would not be able to redefine that function within that context. ie: change the systems tx_packet function. When the symbol is looked up it's permission is gotten from the environment in which it is defined. Does the concept of having permissions on an environment even make sense? On Jun 13, 2009, at 10:12 PM, Shawn Betts wrote: > On Sat, Jun 13, 2009 at 6:58 PM, Brian Makin wrote: >> >> Well, if you don't have some protection between a user and the base >> system >> then any user would be able to do nasty things to other people on the >> system. >> >> Grab their passwords, kill their processes, intercept their network >> traffic >> etc... >> >> Genera for example was single user only. On top of that it didn't >> even try >> to protect the user from themselves. If you overwrote the >> scheduler with >> minesweeper... so be it. > > But how do you define kernel and user space? If I get "access" to the > scheduler and make a tweak so it calls a special function I just > wrote, how would that function be tagged as being crucial to the > system? Would you be able to have a process-wait-function if you > seperated "kernel" and "user" spaces? > >> You could make a multiuser system without that sort of protection >> but then a >> hostile (or careless) user could cause havoc. > > I don't think anyone is questioning that. I'm trying to imagine how it > would work. How would you seperate all the objects floating around in > memory? > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel From _deepfire at feelingofgreen.ru Sun Jun 14 09:51:30 2009 From: _deepfire at feelingofgreen.ru (Samium Gromoff) Date: Sun, 14 Jun 2009 13:51:30 +0400 (MSD) Subject: [movitz-devel] OS decisions In-Reply-To: <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> References: <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> Message-ID: <20090614.135130.468378201881924691._deepfire@feelingofgreen.ru> From: Shawn Betts >> Memory protection? > > In many ways lisp doesn't need memory protection since you don't > create pointers out of thin air like in C. That said, it could be > useful for security purposes if movitz was a multiuser system. The thing is, it's impossible to prevent the user from accessing arbitrary functions in CL -- and things like SB-SYS:SAP-REF-* precisely allow arbitrary pointer dereference. Another issue is unsafely compiled code with violated declarations. This could literally explode an unprotected memory system. > -Shawn regards, Samium Gromoff From rjs at fdy2.demon.co.uk Sun Jun 14 17:08:24 2009 From: rjs at fdy2.demon.co.uk (Robert Swindells) Date: Sun, 14 Jun 2009 18:08:24 +0100 (BST) Subject: [movitz-devel] OS decisions In-Reply-To: (message from Brian Makin on Sat, 13 Jun 2009 20:50:34 -0400) References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <20090614003335.000D8240@fdy2.demon.co.uk> Message-ID: <20090614170824.6A150240@fdy2.demon.co.uk> Brian Makin wrote: >>>> What kind of file system? or use an existing one? >>> >>> I think an existing one would be fine. >> >> One option is to port LMFS from the MIT sources to Common Lisp. >> >> Robert Swindells >Other than versioning LMFS doesn't look too different from modern FS. Except that it is written in Lisp and designed to work in a single address space. It won't be as efficent but can probably be made to do something useful much faster than starting from scratch to copy another filesystem. >I'm just kind of thrashing around trying to find a place I can >effectively contribute :) There are plenty of places to contribute. What kind of thing do you want to work on ? Something at a high or low level ? High Level: Pick up code from SBCL or CMUCL for the top level file and io functions. Do same for Simple Streams to add device-read and device-write, don't need the helper functions read-octets and write-octets though. Low Level: Modern PCs don't use the 8259 interrupt controller, they use the LAPIC and use ACPI to work out which interrupts are generated by which device. Someone could start looking at parsing the ACPI tables within Movitz. The interrupt handling sequence might benefit from some changes too, I guess you could install a closure as the handler but it could be simpler to pass some object as an argument to the handler function. Robert Swindells -- A: Because it fouls the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail? From merimus at gmail.com Sun Jun 14 22:55:06 2009 From: merimus at gmail.com (Brian Makin) Date: Sun, 14 Jun 2009 18:55:06 -0400 Subject: [movitz-devel] OS decisions In-Reply-To: <20090614170824.6A150240@fdy2.demon.co.uk> References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <20090614003335.000D8240@fdy2.demon.co.uk> <20090614170824.6A150240@fdy2.demon.co.uk> Message-ID: <315A240F-3DC8-4AD1-BAA9-53B3475C06DA@gmail.com> It's probably best if I stick to lisp code... and the easier stuff for the time being. Anyone feel goon natured enough to help me get my feet wet in my first OOS project? On Jun 14, 2009, at 1:08 PM, Robert Swindells wrote: > > Brian Makin wrote: >>>>> What kind of file system? or use an existing one? >>>> >>>> I think an existing one would be fine. >>> >>> One option is to port LMFS from the MIT sources to Common Lisp. >>> >>> Robert Swindells > >> Other than versioning LMFS doesn't look too different from modern FS. > > Except that it is written in Lisp and designed to work in a single > address space. > > It won't be as efficent but can probably be made to do something > useful much faster than starting from scratch to copy another > filesystem. > >> I'm just kind of thrashing around trying to find a place I can >> effectively contribute :) > > There are plenty of places to contribute. What kind of thing do you > want to work on ? Something at a high or low level ? > > High Level: > > Pick up code from SBCL or CMUCL for the top level file and io > functions. > > Do same for Simple Streams to add device-read and device-write, don't > need the helper functions read-octets and write-octets though. > > Low Level: > > Modern PCs don't use the 8259 interrupt controller, they use the LAPIC > and use ACPI to work out which interrupts are generated by which > device. Someone could start looking at parsing the ACPI tables within > Movitz. > > The interrupt handling sequence might benefit from some changes too, I > guess you could install a closure as the handler but it could be > simpler to pass some object as an argument to the handler function. > > Robert Swindells > -- > A: Because it fouls the order in which people normally read text. > Q: Why is top-posting such a bad thing? > A: Top-posting. > Q: What is the most annoying thing on usenet and in e-mail? > From frodef at cs.uit.no Mon Jun 15 09:50:48 2009 From: frodef at cs.uit.no (Frode V. Fjeld) Date: Mon, 15 Jun 2009 11:50:48 +0200 Subject: [movitz-devel] OS decisions References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <20090614003335.000D8240@fdy2.demon.co.uk> <20090614170824.6A150240@fdy2.demon.co.uk> Message-ID: <87fxe1rfk7.fsf@disk.lan> Robert Swindells writes: > The interrupt handling sequence might benefit from some changes too, > I guess you could install a closure as the handler but it could be > simpler to pass some object as an argument to the handler function. As of now there's two mechanisms for setting up interrupt handlers. The lower-level one is pretty much exactly the setting of the vector in the CPU's handler table (I forget the name). They are now all being set to the default interrupt trampoline, which implements the second configuration level: The calling of any lisp function, as specified by the "exception-handler" accessor. > to pass some object as an argument to the handler function. I don't quite understand what you mean by this? -- Frode V. Fjeld From frodef at cs.uit.no Mon Jun 15 10:01:30 2009 From: frodef at cs.uit.no (Frode V. Fjeld) Date: Mon, 15 Jun 2009 12:01:30 +0200 Subject: [movitz-devel] OS decisions References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <2ead50800906131657j53792e10u7de4457a110b6832@mail.gmail.com> <5D887B61-616F-469A-ADAA-69B9415A4C5F@gmail.com> Message-ID: <87bpoprf2d.fsf@disk.lan> Brian Makin writes: > Process isolation isn't quite as important when you can't write into > random memory locations so easily. If you have one lisp process > running and I have another... how can I do something bad to you? It boils down to what is your design goals, doesn't it? Thinking historically about this, I believe that memory protection (or even multi-user systems in general) came about because machines were so huge and costly that sharing them between people (and even organizations) was inevitable. But this pattern is very nearly inverted now, in that each person now has (exclusive) access to several machines. That's not to say that hw protection isn't nice to have (and for some applications even necessary), but remember also that there tends to an inherent cost in terms of performance, system/code/programming complexity, and general barriers to information flow. So perhaps it would be more beneficial to focus on removing the communication barriers between machines than how to add barriers inside them? (Not to imply that these are conflicting desing goals, other than wrt. time and effort.) -- Frode V. Fjeld From frodef at cs.uit.no Mon Jun 15 10:26:06 2009 From: frodef at cs.uit.no (Frode V. Fjeld) Date: Mon, 15 Jun 2009 12:26:06 +0200 Subject: [movitz-devel] OS decisions References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> Message-ID: <877hzdrdxd.fsf@disk.lan> Brian Makin writes: > Some architecture questions... some of which may not have been > decided yet. > > Do we want to support 32 and 64 bit? I think 64-bit is definitely the way to go, because the increased word size is beneficial to lisp, and the increased address space (same thing obviously) is beneficial to OS hacking. > SMP? Of course. > Will there be virtual memory? I think "virtual memory" is these more-or-less separate things: 1. Swapping: A way to increase the memory size by means of secondary storage. 2. Circumventing the problems that come from the (too) limited address space. 3. Aid the loading of static (non-position-independent) code. By offering the exact same (virtual) address space to each program, addresses can be hard-coded into the (compiled) program's file image, making loading/linking a no-op. Some thoughts on each poing wrt. Movitz: 1. Primary storage (DRAM) is dirt cheap now. 2. 64-bit more or less makes this a non-issue. 3. This is not so interesting for dynamic systems. > Memory protection? > What kind of file system? or use an existing one? > Will it have a console or be gui driven? In my personal vision for Movitz, these design questions belong to the architectural layer above Movitz. That is, I've tried so far to make everything agnostic to these things, allowing for a big solution space for systems built atop Movitz. So for example, there is no explicit SMP support, but everything is designed so that introducing SMP should not break anything (there's no issues like "the big central interpreter lock" or somesuch). This is to explain why I've kept my focus somewhat low-level, and haven't built much higher-level stuff that would probably have attracted more attention (and perhaps code contributions.. I guess this is part of the Worse is Better argument: start with the shiny veneer and the hull will get filled much more quickly than if you start with a boring core.. :) -- Frode V. Fjeld From rjs at fdy2.demon.co.uk Mon Jun 15 12:59:41 2009 From: rjs at fdy2.demon.co.uk (Robert Swindells) Date: Mon, 15 Jun 2009 13:59:41 +0100 (BST) Subject: [movitz-devel] OS decisions In-Reply-To: <87fxe1rfk7.fsf@disk.lan> (frodef@cs.uit.no) References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <20090614003335.000D8240@fdy2.demon.co.uk> <20090614170824.6A150240@fdy2.demon.co.uk> <87fxe1rfk7.fsf@disk.lan> Message-ID: <20090615125941.A2B88240@fdy2.demon.co.uk> Frode V. Fjeld wrote: >Robert Swindells writes: > >> The interrupt handling sequence might benefit from some changes too, >> I guess you could install a closure as the handler but it could be >> simpler to pass some object as an argument to the handler function. >As of now there's two mechanisms for setting up interrupt >handlers. The lower-level one is pretty much exactly the setting of >the vector in the CPU's handler table (I forget the name). They are >now all being set to the default interrupt trampoline, which >implements the second configuration level: The calling of any lisp >function, as specified by the "exception-handler" accessor. I know, but the trampoline only passes vector number and stack frame to the handler. The trampoline also doesn't allow for multiple devices sharing an interrupt. It would probably be a good idea to move the code to clear interrupts below the level of the interrupt handlers, maybe test for non-nil return value from the handler(s) before clearing it. >> to pass some object as an argument to the handler function. > >I don't quite understand what you mean by this? Most operating systems pass some object to interrupt handlers rather than having to use global data. It simplifies the code when you have multiple instances of a particular device. Robert Swindells From frodef at cs.uit.no Mon Jun 15 13:25:36 2009 From: frodef at cs.uit.no (Frode V. Fjeld) Date: Mon, 15 Jun 2009 15:25:36 +0200 Subject: [movitz-devel] OS decisions References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <20090614003335.000D8240@fdy2.demon.co.uk> <20090614170824.6A150240@fdy2.demon.co.uk> <87fxe1rfk7.fsf@disk.lan> <20090615125941.A2B88240@fdy2.demon.co.uk> Message-ID: <873aa1r5m7.fsf@disk.lan> Robert Swindells writes: > The trampoline also doesn't allow for multiple devices sharing an > interrupt. How would this be allowed for? My very vague idea of how shared interrupts work is that upon an interrupt each handler is called in turn, and each must poll its device to see if it requires service. But for all I know there's something more sophisticated going on? > Most operating systems pass some object to interrupt handlers rather > than having to use global data. It simplifies the code when you have > multiple instances of a particular device. Oh, I see. As you mentioned my reasoning is/was that we have closures for this (or conversely, "user objects" are a poor man's closures), but adding a "user object" would be trivial, of course. It could even be added just like so: (defun set-exception-handler-with-user-object (vector handler user-object) (setf (exception-handler vector) (lambda (frame stack) (funcall handler frame stack user-object)))) :-) -- Frode V. Fjeld From rjs at fdy2.demon.co.uk Mon Jun 15 13:56:00 2009 From: rjs at fdy2.demon.co.uk (Robert Swindells) Date: Mon, 15 Jun 2009 14:56:00 +0100 (BST) Subject: [movitz-devel] OS decisions In-Reply-To: <873aa1r5m7.fsf@disk.lan> (frodef@cs.uit.no) References: <2ead50800906121511y1eedc4a7hfdba1312fddc5a9e@mail.gmail.com> <87my8dqbs8.fsf@disk.lan> <62e3e0b30906131435m7005ac89h868b6bf621469cf3@mail.gmail.com> <67B924DB-C033-42C2-A2B8-4C40F11BCCDF@gmail.com> <20090614003335.000D8240@fdy2.demon.co.uk> <20090614170824.6A150240@fdy2.demon.co.uk> <87fxe1rfk7.fsf@disk.lan> <20090615125941.A2B88240@fdy2.demon.co.uk> <873aa1r5m7.fsf@disk.lan> Message-ID: <20090615135600.46377240@fdy2.demon.co.uk> Frode V. Fjeld wrote: >Robert Swindells writes: >> The trampoline also doesn't allow for multiple devices sharing an >> interrupt. >How would this be allowed for? Maybe make the elements of the exception-handlers array be lists of handlers and make the trampoline try each one until it sees a non-nil return value. >My very vague idea of how shared interrupts work is that upon an >interrupt each handler is called in turn, and each must poll its >device to see if it requires service. But for all I know there's >something more sophisticated going on? That is how it works. Robert Swindells