|
From: Iain S. <iai...@ya...> - 2001-08-29 22:11:09
|
On Wednesday, August 29, 2001, at 08:15 AM, John Morrison wrote: > Iain Shigeoka wrote: >> <random thoughts> >> In that vein, it seems to me that the following toolchain is not going >> to really lead is to the right place: >> >> assembly + C/C++ + Java >> >> Because (assembly + C + file system) is almost assuredly going to lead >> us to Unix or something very similar (mach, hurd, etc). > > Well, I'm not so sure the language has much to do with that. However, I > *do* agree that anything based upon Linux is going to (sort of by > definition, but also in more subtle ways) lead us to UNIX. Yes. I'd just like to see if I can convince you that language does affect what you can do in the same subtle ways that an underlying OS does. In that sense if we think: Assembly + C + Java: I think the C underbelly will always try and force us towards posix and its libraries in subtle ways. In addition, the removal of object orientation at this base level may lead to a schizophrenic os... OTOH, C is probably the simplest language to port and support so the C argument, I think, is the strongest. Assembly + C++ + Java: Here we get object orientation at the expense of a much more complex language. I'd say we could forget ideas of creating our own tool chain if we go this way (we'll be stuck with gcc). I'd really like my OS to have its own tools so I don't like this idea. In addition C++ still forces you to think in a relatively static way, rather than the dynamic Java system. Assembly + bootstrap Java + Java: Java throughout. One language. One set of tools. I think there are very interesting things that can be done if we can move to this state. From a practical standpoint though, I think the whole argument is moot at this point (hence, its a random rant... sorry for wasting everyone's time). IMHO, these are best issues for a 2nd Gen or 3rd Gen try... I mention them mainly so it cooks on everyone's backburners during the current effort. >> So, long term, I think we really need to be thinking of: >> >> (assembly + Java) || (assembly + Java System Version + Java Standard) > > Well, I was hoping that the amount of asm/C++ code could be minimized > (in jjos+decaf -- I do not speak for other efforts). The C++ should > more or less be thought of as microcode -- no user-servicable parts > inside! Agreed. Regardless of language, we should try and get "on top" of a JVM asap. > Well, as I said before, I'm not a big fan of the UNIX model here for a > desktop. I want more of a Genera-type, single address space OS. No > user/kernel split. Having said that however, I'd implement the lowest > level microcode in asm/C++. I completely agree. Actually if we use Java, there is no address space per se. :) Just an object space with limits to "reachability". The jos should be taking care of address space and issues of that sort. I think this makes for some interesting optimization opportunities wrt avoiding a user/kernel space split, address mapping, and virtual memory... >> performance to this point. When I joined, the entire purpose of JOS >> was >> to create a jos within a relatively short period of time. >> Researching a >> jos was only a means to that end and was only supposed to occur as >> needed to get JOS built. > > Yup. "Go ugly early." "Keep It Simple, er, Stupid." > Rapid-prototyping. :) Here here! > >> are actually end users (75% I think). I would wager that most members >> of Linux or FreeBSD are also end users as well. Very few developers >> actually are members of the project. This has been a very important >> reason why these organizations have a very different definition of >> members, contributors, and voters. > > It is really nice to have "customers" (really alpha-testers) who can > help drive requirements, design, and implementation. They are > invaluable. In any suitably complex project, it often turns out that > the things that are so dear to developers are unimportant to the users, > and the users need things the developers didn't anticipate. I completely agree. I don't want a developer OS so much as a user OS (that happens to be friendly to developers as users). And to create such a beast, you need users! -iain _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |