tag:blogger.com,1999:blog-11788780.post1166041080757727673..comments2023-12-29T13:22:33.104-08:00Comments on JJinuxLand: ERNOS: Erlang Networked Operating Systemjjinuxhttp://www.blogger.com/profile/03270879497119114175noreply@blogger.comBlogger48125tag:blogger.com,1999:blog-11788780.post-5647118135111913802010-04-01T18:07:36.213-07:002010-04-01T18:07:36.213-07:00Hey, Josef, it's simple--I think Erlang leads ...Hey, Josef, it's simple--I think Erlang leads to safer, more robust code than C. Hence, it's an interesting idea to start with a microkernel and write as much of the OS as possible in Erlang. Starting with Minix 3 isn't all that important--it's just that Minix 3 has many of the same goals that I would have, and I've already read the source code for the original Minix. Of course, to be realistic, I think this is an interesting project, but I definitely don't have enough free time right now to attempt it.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-26773993563438334442010-03-19T06:13:04.047-07:002010-03-19T06:13:04.047-07:00My thoughts after reading through this, yes I know...My thoughts after reading through this, yes I know it's three years after.. why build a new brand os? Erlang is still distributed and VM so, just build an os straight off. Linux could be use as base as could Windows Server 2008 Core?<br />It simplifies things, and it's possible to start of directly. And about all this troubles with security and so forth, if we ever would develop a thing like this, it would advance Erlang quite alot in security I think =)<br /><br />Nice post.Josef Johanssonhttps://www.blogger.com/profile/13824159947497512239noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-63853230611868487132009-12-16T03:46:54.136-08:002009-12-16T03:46:54.136-08:00Thanks for the tip. I have a hard time getting ex...Thanks for the tip. I have a hard time getting excited about Dragonfly BSD :-/jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-87783229837874341502009-12-15T01:47:45.241-08:002009-12-15T01:47:45.241-08:00It might not be lightweight enough but the Dragonf...It might not be lightweight enough but the Dragonfly BSD kernel includes SMP and message passing capabilitiesAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-4117081039814708402009-03-06T16:15:00.000-08:002009-03-06T16:15:00.000-08:00$0.02 i'll 2nd the "look at the capability OSs tha...$0.02 i'll 2nd the "look at the capability OSs that are already out there" motion since i think using "security" and "ACLs" in the same sentence is asking for trouble :-)Raoul Dukehttps://www.blogger.com/profile/07354740962526930549noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-63901648155034866362009-02-09T11:37:00.000-08:002009-02-09T11:37:00.000-08:00By the way, I've been keeping my eye on Reia, whic...By the way, I've been keeping my eye on Reia, which is a new language for the Erlang VM. I like it a lot so far.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-8416636636828590142009-02-09T02:20:00.000-08:002009-02-09T02:20:00.000-08:00It should be taooferlang.blogspot.comIt should be taooferlang.blogspot.comGleberhttps://www.blogger.com/profile/05323172130245055213noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-11689492459923410112009-02-09T00:46:00.000-08:002009-02-09T00:46:00.000-08:00Your software sounds good, but taooferlang.blogpos...Your software sounds good, but taooferlang.blogpost.com doesn't look like a legitimate site. Maybe you misspelled it.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-46419970734839128292009-02-04T06:10:00.000-08:002009-02-04T06:10:00.000-08:00I encourage you to have a look at my blog (taoofer...I encourage you to have a look at my blog (taooferlang.blogpost.com) as you ideas about userland OS is what I was striving to achive with X Erlang. Everything in Erlang except bare minimum. Even scheduler is in Erlang. C routines talk to underlying OS exclusively through APR library which makes the system portable to dozens of OSes. Exactly single executable file, nothing else is needed to bootstrap the system, etc.Maxim Kharchenkohttps://www.blogger.com/profile/14817460239103044233noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-74195974838528338522009-01-17T16:30:00.000-08:002009-01-17T16:30:00.000-08:00I don't know much about pids in Erlang, but my gue...I don't know much about pids in Erlang, but my guess is that to make a secure system in Erlang, you would need some system of permissions that would say which pids could talk to which other pids.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-90670269461441487682009-01-17T13:23:00.000-08:002009-01-17T13:23:00.000-08:00Bob Ippolito said correctly that "acquiring such r...Bob Ippolito said correctly that "acquiring such references isn't exactly easy, but they're predictable in current versions of the VM"? and Michael Melanson claimed that "what he means is that the means to acquire the PID of another process are limited...."<BR/><BR/>No. That is the ideal case. It is also true that pids (in the current erlang runtime) are sometimes guessable with a bit of work.<BR/><BR/>This means that you cannot build real security within the current erlang runtime that relies on processes only communicating with other processes if they have been explicitly provided with the necessary pids. Erlang would have to be improved, making local pids unguessable, for this to be practical.Justin Sheehyhttps://www.blogger.com/profile/16779655885724193555noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-4730049619599986102009-01-01T00:47:00.000-08:002009-01-01T00:47:00.000-08:00Dude, that was the best comment ever!I've been pla...Dude, that was the best comment ever!<BR/><BR/>I've been playing with NetBSD and Haskell lately. They too satisfy my urge for really clean, really small code, although NetBSD isn't a microkernel.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-4412978846088244632008-12-31T19:36:00.000-08:002008-12-31T19:36:00.000-08:00Nice idea 'cept Minix 3 doesn't have virtual memor...Nice idea 'cept Minix 3 doesn't have virtual memory support (chmem'ng everything can be a pain, requires root if i recall), the erlang tar file wont extract properly due to Minix tar long file name issues, even if that issue were to be resolved I'm not 100% sure Erlang would compile properly unless gcc where a dependency since Minix uses amsterdam compiler kit by default, even if that were the case and Erlang were supported, why base this new initiative off an os that has basically zero nic/audio/graphic support from drivers? Don't get me wrong I love a microkernel idea but Minix 3 is going to get you neglected from the start...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-84779469630420172302008-09-19T19:44:00.000-07:002008-09-19T19:44:00.000-07:00Neat!Neat!jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-39509927187396341882008-09-19T11:34:00.000-07:002008-09-19T11:34:00.000-07:00"Unlike object-oriented systems today that have ma..."Unlike object-oriented systems today that have many objects and few threads, unify the concepts of objects, threads, and modules into something I call a "cell"... That means every object has its own thread."<BR/><BR/>See AOS / Active Oberon / Bluebottle.<BR/><BR/>"Don't throw out virtual memory! If everything is in memory, you're going to need really smart virtual memory."<BR/><BR/>Persistence was also a feature of KeyKOS which is in the EROS / Coyotos family (also known for capability-based security).Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-11788780.post-70093814905377764842008-04-19T00:36:00.000-07:002008-04-19T00:36:00.000-07:00Cool! Thanks for your comments!(I guess I should ...Cool! Thanks for your comments!<BR/><BR/>(I guess I should come clean and admit that I don't know my @ss from a hot rock, and I have no free time to actually accomplish anything of such scale. *sigh* If only I were a wicked sharp systems programmer with a ton of free time!)jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-9452239307411423542008-04-18T14:37:00.000-07:002008-04-18T14:37:00.000-07:00>> Instead of using MINIX, I would recommend using...>> Instead of using MINIX, I would recommend using L4. It's advantages include:<BR/><BR/>>Interesting. I was checking out L4 recently. Of course, when you say, "Freedom from POSIX semantics", I'm guessing that'll make it really hard to port Erlang OTP. Remember the cool thing about Minix + Erlang is that it's something simple I can do today.<BR/><BR/>I've been thinking of doing this as well, you might want to look at OKL4 at http://wiki.ok-labs.com/<BR/>The good thing about this version of L4 is that they have a Linux environment called Whombat that let's you easily port porgrams that will compile under a 2.4 kernel. I've successfully ported scsh over, so I'm sure with a little work OTP shouldn't be a problem, (in fact if any one is interested in collaborating...) The good thing about L4 is that it has fast message passing, light weight and no so light weight threads, and super fast context switching all ready for you. These are things Joe Armstrong has said are essential to build a good concurrent system.<BR/>( http://www.se-radio.net/podcast/2008-03/episode-89-joe-armstrong-erlang )<BR/><BR/>The hurdles are:<BR/>1) OKL4 is not SMP aware :(<BR/>2) No DMA network support so you have to do a lot of work to get, say an e1000 or tg3 driver to work.<BR/>3) the current release runs under QEMU but doesn't work under VMware.<BR/><BR/>Once you get it ported into Wombat, then you can begin the work to get it running as a real Iguana service. But, as I said above the current version of OKL4 cannot take advantage of multicore CPUS (yet).<BR/>Still I think L4 will eventually be the perfect platform for an "Erlang Machine"l0r3zzhttps://www.blogger.com/profile/16900969687069050307noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-54246413029498424202007-11-16T00:32:00.000-08:002007-11-16T00:32:00.000-08:00> Requiring a microkernel to check the access cont...> Requiring a microkernel to check the access controls of each and every message passed is exactly the sort of wrong thinking that relegated Mach to oblivion. Well-meaning in principle, a nightmare on performance in practice.<BR/><BR/>Good point. Thanks.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-46797512060124532882007-11-16T00:30:00.000-08:002007-11-16T00:30:00.000-08:00> It seems to me that it's better to have the mess...> It seems to me that it's better to have the messaging mechanism step in and provide access controls on all messages...<BR/><BR/>Requiring a microkernel to check the access controls of each and every message passed is exactly the sort of wrong thinking that relegated Mach to oblivion. Well-meaning in principle, a nightmare on performance in practice.Mark Abenehttps://www.blogger.com/profile/17306657174384851426noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-49567578749096071872007-10-11T04:55:00.000-07:002007-10-11T04:55:00.000-07:00> Instead of using MINIX, I would recommend using ...> Instead of using MINIX, I would recommend using L4. It's advantages include:<BR/><BR/>Interesting. I was checking out L4 recently. Of course, when you say, "Freedom from POSIX semantics", I'm guessing that'll make it really hard to port Erlang OTP. Remember the cool thing about Minix + Erlang is that it's something simple I can do today. The trick is to start moving parts of Minix into Erlang. If I start with L4, it's a much harder battle to get going, right?jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-31241402576344934902007-10-11T03:05:00.000-07:002007-10-11T03:05:00.000-07:00Instead of using MINIX, I would recommend using L4...Instead of using MINIX, I would recommend using L4. It's advantages include:<BR/><BR/>*Freedom from POSIX semantics<BR/>*Available on architectures other than x86 (ARM, MIPS, IA64, PPC)<BR/>*A lot more mature, and actually used in shipping products (Qualcomm chipsets)<BR/>*Still open sourceTomhttps://www.blogger.com/profile/02531199245217162120noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-29200447098926687262007-04-04T19:47:00.000-07:002007-04-04T19:47:00.000-07:00> To answer questions about security in an Erlang ...> To answer questions about security in an Erlang system, it is possible (and very straightforward!) to implement security mechanisms beacuse processes can only communicate with processes they know the PID of<BR/><BR/>What about Bob's comment that, "Acquiring such references isn't exactly easy, but they're predictable in current versions of the VM"?<BR/><BR/>It seems to me that it's better to have the messaging mechanism step in and provide access controls on all messages. It reminds me of UNIX process groups.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-25277201033559728072007-03-19T12:03:00.000-07:002007-03-19T12:03:00.000-07:00Thanks, Bob.Thanks, Bob.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-36275350090654269832007-03-19T11:59:00.000-07:002007-03-19T11:59:00.000-07:00Regexes are pretty much unicode aware. Remember, l...Regexes are pretty much unicode aware. Remember, lists of integers.Unknownhttps://www.blogger.com/profile/07207353943202074101noreply@blogger.comtag:blogger.com,1999:blog-11788780.post-9455855178170427072007-03-19T11:16:00.000-07:002007-03-19T11:16:00.000-07:00At least lists of integers is better than having U...At least lists of integers is better than having UTF-8 and not knowing where the character boundaries are. However, I was hoping for more intimate knowledge of Unicode, such as a Unicode-aware regex library.<BR/><BR/>Anyway, I'm sure it can be worked out. The security infrastructure is probably a harder problem.jjinuxhttps://www.blogger.com/profile/03270879497119114175noreply@blogger.com