digitalmars.D - Titan
- Trevor Parscal (10/10) Oct 12 2005 So, I am starting this project.. Titan... Its a kernel in D.. I hope it ...
- Kyle Furlong (2/15) Oct 12 2005 Sounds exciting, I would like to help.
- Kyle Furlong (5/26) Oct 12 2005 Take a look: http://unununium.org/
- Trevor Parscal (9/35) Oct 13 2005 Very cool project - I really do think they are on the right track, as ma...
- pragma (10/36) Oct 13 2005 *Especially* the bit about orthogonal persistence. Even if not implemen...
- James Dunne (26/72) Oct 13 2005 Concerns about serializing objects to memory/disk in relation to
- Trevor Parscal (17/89) Oct 13 2005 I think that Titan should indeed do away with the "old" way of doing thi...
- Ameer Armaly (4/110) Oct 13 2005 Hmm... as long as you can point out to the program that it's a *network*...
- Trevor Parscal (19/58) Oct 13 2005 I am still working on the concpet, of course, but I would say that I am ...
- James Dunne (18/92) Oct 14 2005 On the matter of combining network paths with local drive paths...
- Trevor Parscal (19/35) Oct 14 2005 *snip*
- JT (3/16) Oct 13 2005 Right on, I hope to help out.
- a.c.edwards (4/14) Oct 13 2005 I'd love to help but please be warned: I am not a seasoned programmer. N...
- clayasaurus (4/17) Oct 13 2005 Hope you realize what you are getting yourself into. Goodluck.
- Trevor Parscal (9/10) Oct 13 2005 *snip*
- Matthias Spycher (4/17) Oct 13 2005 Recommend you also take a look at the l4 microkernel.
- Peri Hankey (17/30) Oct 14 2005 I may have mentioned this before: it's worth taking a look at the Xen
- Peri Hankey (6/19) Oct 14 2005 Sorry - typo in previous message - should have read: ... some
So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.com
Oct 12 2005
Trevor Parscal wrote:So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.
Oct 12 2005
Kyle Furlong wrote:Trevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.
Oct 12 2005
In article <diktru$1kpn$1 digitaldaemon.com>, Kyle Furlong says...Kyle Furlong wrote:Very cool project - I really do think they are on the right track, as many of those ideas are consistent with many of my own. They have some very interesting perspectives, and are also perhaps the ONLY people I have ever seen to not try and credit the original GUI to Mac.. They got it right, it was XEROX Parc, and Mac ripped them off... Thanks for the link Kyle.. Good reading.. Thanks, Trevor ParscalTrevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.
Oct 13 2005
In article <diktru$1kpn$1 digitaldaemon.com>, Kyle Furlong says...Kyle Furlong wrote:*Especially* the bit about orthogonal persistence. Even if not implemented in the way the '111' guys suggest, its a powerful concept. From the abstract, I gather that would mean that 'on-disk' and 'in-memory' becomes almost totally transparent, with the OS performing any needed translation between mediums. Barring concerns of most forms of direct-serialization being largely non-portable mediums for binary storage, it sounds like a winner. Trevor, any concepts for characterizing Titan outside of using exokernels? - EricAnderton at yahooTrevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.
Oct 13 2005
pragma wrote:In article <diktru$1kpn$1 digitaldaemon.com>, Kyle Furlong says...Concerns about serializing objects to memory/disk in relation to endianness issues is no worse than how it is now, without orthogonal persistence. Serialization of objects over the network can easily be accomplished with automatic-endian-converting stream classes for transferring data between different endian'd machines. I don't think this is a problem when switching the clear memory vs. disk barrier to a transparent combined storage medium. In fact, that is a cool concept! A disk devoted entirely to storage... makes me want to write up a revision logging library for disk storage. Think how cool that would be - the entire OS has revision capabilities on everything storable. "Application deployment and updatings/versionings have never been easier!" The only barrier here is how far you're willing to take this concept. i.e. completely do away with specialized file formats? or provide backward compatibility with said formats? In an exokernel design, one could write thousands of libraries to handle each individual file format (much like it is now with linux libraries...there's a libSomething for most every type of widely-used standard file format; mp3, xml, mpg, avi, etc.). Anyways... what is the scope of your operating system, Trevor? Do you wish to completely revolutionize computing and do away with unnecessary (or maybe necessary) evils of the "old way"? Personally, I wouldn't like to move to a new OS and not be able to play my MP3s ;). Once you get the exokernel up, I'd love to take a swing at developing some OS libraries.Kyle Furlong wrote:*Especially* the bit about orthogonal persistence. Even if not implemented in the way the '111' guys suggest, its a powerful concept. From the abstract, I gather that would mean that 'on-disk' and 'in-memory' becomes almost totally transparent, with the OS performing any needed translation between mediums. Barring concerns of most forms of direct-serialization being largely non-portable mediums for binary storage, it sounds like a winner. Trevor, any concepts for characterizing Titan outside of using exokernels? - EricAnderton at yahooTrevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.
Oct 13 2005
In article <dim8c4$2ge7$1 digitaldaemon.com>, James Dunne says...pragma wrote:I think that Titan should indeed do away with the "old" way of doing things.. But, I think also that playing MP3's is going to be easier on Titan, not impossible, due to its design. I think format handlers has long been the domain of the App.. Moving that to an OSlib is quite an idea.. Such as, there would be a common way to get meta information about a file. This can include ID3 tags, but to me, this is more allong the lines of versioning and such as well. YES, we should design a file system that can do versioning natively, meta information seamlessly, and be immune to interal and external fragmentation (Journaling Files Systems) ... I want to also make the way you access files on disks the same as the way you access network resources, so this meta information needs to be flexible enough to carry HTTP headers for instance. Good ideas... And yes, I would love your help. Thanks, Trevor ParscalIn article <diktru$1kpn$1 digitaldaemon.com>, Kyle Furlong says...Concerns about serializing objects to memory/disk in relation to endianness issues is no worse than how it is now, without orthogonal persistence. Serialization of objects over the network can easily be accomplished with automatic-endian-converting stream classes for transferring data between different endian'd machines. I don't think this is a problem when switching the clear memory vs. disk barrier to a transparent combined storage medium. In fact, that is a cool concept! A disk devoted entirely to storage... makes me want to write up a revision logging library for disk storage. Think how cool that would be - the entire OS has revision capabilities on everything storable. "Application deployment and updatings/versionings have never been easier!" The only barrier here is how far you're willing to take this concept. i.e. completely do away with specialized file formats? or provide backward compatibility with said formats? In an exokernel design, one could write thousands of libraries to handle each individual file format (much like it is now with linux libraries...there's a libSomething for most every type of widely-used standard file format; mp3, xml, mpg, avi, etc.). Anyways... what is the scope of your operating system, Trevor? Do you wish to completely revolutionize computing and do away with unnecessary (or maybe necessary) evils of the "old way"? Personally, I wouldn't like to move to a new OS and not be able to play my MP3s ;). Once you get the exokernel up, I'd love to take a swing at developing some OS libraries.Kyle Furlong wrote:*Especially* the bit about orthogonal persistence. Even if not implemented in the way the '111' guys suggest, its a powerful concept. From the abstract, I gather that would mean that 'on-disk' and 'in-memory' becomes almost totally transparent, with the OS performing any needed translation between mediums. Barring concerns of most forms of direct-serialization being largely non-portable mediums for binary storage, it sounds like a winner. Trevor, any concepts for characterizing Titan outside of using exokernels? - EricAnderton at yahooTrevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.
Oct 13 2005
"Trevor Parscal" <Trevor_member pathlink.com> wrote in message news:dimanu$2is7$1 digitaldaemon.com...In article <dim8c4$2ge7$1 digitaldaemon.com>, James Dunne says...Hmm... as long as you can point out to the program that it's a *network* resource, I figure (for what it's worth) that it would be pretty useful.pragma wrote:I think that Titan should indeed do away with the "old" way of doing things.. But, I think also that playing MP3's is going to be easier on Titan, not impossible, due to its design. I think format handlers has long been the domain of the App.. Moving that to an OSlib is quite an idea.. Such as, there would be a common way to get meta information about a file. This can include ID3 tags, but to me, this is more allong the lines of versioning and such as well. YES, we should design a file system that can do versioning natively, meta information seamlessly, and be immune to interal and external fragmentation (Journaling Files Systems) ... I want to also make the way you access files on disks the same as the way you access network resources, so this meta information needs to be flexible enough to carry HTTP headers for instance.In article <diktru$1kpn$1 digitaldaemon.com>, Kyle Furlong says...Concerns about serializing objects to memory/disk in relation to endianness issues is no worse than how it is now, without orthogonal persistence. Serialization of objects over the network can easily be accomplished with automatic-endian-converting stream classes for transferring data between different endian'd machines. I don't think this is a problem when switching the clear memory vs. disk barrier to a transparent combined storage medium. In fact, that is a cool concept! A disk devoted entirely to storage... makes me want to write up a revision logging library for disk storage. Think how cool that would be - the entire OS has revision capabilities on everything storable. "Application deployment and updatings/versionings have never been easier!" The only barrier here is how far you're willing to take this concept. i.e. completely do away with specialized file formats? or provide backward compatibility with said formats? In an exokernel design, one could write thousands of libraries to handle each individual file format (much like it is now with linux libraries...there's a libSomething for most every type of widely-used standard file format; mp3, xml, mpg, avi, etc.). Anyways... what is the scope of your operating system, Trevor? Do you wish to completely revolutionize computing and do away with unnecessary (or maybe necessary) evils of the "old way"? Personally, I wouldn't like to move to a new OS and not be able to play my MP3s ;). Once you get the exokernel up, I'd love to take a swing at developing some OS libraries.Kyle Furlong wrote:*Especially* the bit about orthogonal persistence. Even if not implemented in the way the '111' guys suggest, its a powerful concept. From the abstract, I gather that would mean that 'on-disk' and 'in-memory' becomes almost totally transparent, with the OS performing any needed translation between mediums. Barring concerns of most forms of direct-serialization being largely non-portable mediums for binary storage, it sounds like a winner. Trevor, any concepts for characterizing Titan outside of using exokernels? - EricAnderton at yahooTrevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.Good ideas... And yes, I would love your help. Thanks, Trevor Parscal
Oct 13 2005
In article <dim7gl$2fj0$1 digitaldaemon.com>, pragma says...In article <diktru$1kpn$1 digitaldaemon.com>, Kyle Furlong says...I am still working on the concpet, of course, but I would say that I am not trying to just leave it at exokernel, and stop designing.. I just think that an exokernel design pretty much gives use the modularity we would need to get things done like garbage collection libraries, multi-format execution very easily.. Some of the latest ideas include... - Exokernel Design (multiple OS layers can run simultaniously) - MultiFormat Execution (OMF, ELF, COFF, PE, etc..) - Garbage Collection (libraries accessable to apps in different flavors) - Trasparent Memory (the the app, memory is memory, no matter where it's at) - Transparent Data (to an app, a network path or local drive path act the same) - Modern Hardware Only (don't waste time supporting ainchient machines) I am working together a presentation of sorts to outline these concepts, but, I am still researching them, so it's not quite done... Any ideas are very much welcome, and all offers to help are being added to a list, you will not be forgotten... Thanks, Trevor ParscalKyle Furlong wrote:*Especially* the bit about orthogonal persistence. Even if not implemented in the way the '111' guys suggest, its a powerful concept. From the abstract, I gather that would mean that 'on-disk' and 'in-memory' becomes almost totally transparent, with the OS performing any needed translation between mediums. Barring concerns of most forms of direct-serialization being largely non-portable mediums for binary storage, it sounds like a winner. Trevor, any concepts for characterizing Titan outside of using exokernels? - EricAnderton at yahooTrevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.
Oct 13 2005
Trevor Parscal wrote:In article <dim7gl$2fj0$1 digitaldaemon.com>, pragma says...On the matter of combining network paths with local drive paths... Are you thinking of using URIs and using resource indicators like http://, fish://, file://, smb://, etc? Reminiscient of KDE. Yes, it is a good idea to write a set of stream handlers to handle all different types/sources of streams. However, build in a VERY ROBUST system which can gracefully handle connection failures. Don't simply assume the resource is existing. I also really think file extensions should be done away with. File types should be meta information with the option of backward compatible meta tags which contain the file extension (if moved over from 'old-style' file system). Also, a database of existing and commonly supported file extensions should contain maps to the new meta information format. Also, I think an important concept is to allow the USER to get the most work done (on a desktop system). Don't let the process scheduler give higher priority to non-user tasks. The UI should be fast, responsive, and should NOT lag behind the user.In article <diktru$1kpn$1 digitaldaemon.com>, Kyle Furlong says...Kyle Furlong wrote:*Especially* the bit about orthogonal persistence. Even if not implemented in the way the '111' guys suggest, its a powerful concept.Trevor Parscal wrote:Take a look: http://unununium.org/ Maybe some ideas from this project could affect the architecture of Titan. Particularly interesting to me was the idea of orthogonal persistence.So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSounds exciting, I would like to help.From the abstract, I gather that would mean that 'on-disk' and 'in-memory'becomes almost totally transparent, with the OS performing any needed translation between mediums. Barring concerns of most forms of direct-serialization being largely non-portable mediums for binary storage, it sounds like a winner. Trevor, any concepts for characterizing Titan outside of using exokernels? - EricAnderton at yahooI am still working on the concpet, of course, but I would say that I am not trying to just leave it at exokernel, and stop designing.. I just think that an exokernel design pretty much gives use the modularity we would need to get things done like garbage collection libraries, multi-format execution very easily.. Some of the latest ideas include... - Exokernel Design (multiple OS layers can run simultaniously) - MultiFormat Execution (OMF, ELF, COFF, PE, etc..) - Garbage Collection (libraries accessable to apps in different flavors) - Trasparent Memory (the the app, memory is memory, no matter where it's at) - Transparent Data (to an app, a network path or local drive path act the same) - Modern Hardware Only (don't waste time supporting ainchient machines) I am working together a presentation of sorts to outline these concepts, but, I am still researching them, so it's not quite done... Any ideas are very much welcome, and all offers to help are being added to a list, you will not be forgotten... Thanks, Trevor Parscal
Oct 14 2005
In article <diorv7$dtj$1 digitaldaemon.com>, James Dunne says... *snip*Are you thinking of using URIs and using resource indicators like http://, fish://, file://, smb://, etc? Reminiscient of KDE. Yes, it is a good idea to write a set of stream handlers to handle all different types/sources of streams. However, build in a VERY ROBUST system which can gracefully handle connection failures. Don't simply assume the resource is existing.*snip* I completely agree - you are very right - I like your thinking... I believe that abstractions all too often become synonomous with NOT ROBUST... which is sad. *snip*I also really think file extensions should be done away with. File types should be meta information with the option of backward compatible meta tags which contain the file extension (if moved over from 'old-style' file system). Also, a database of existing and commonly supported file extensions should contain maps to the new meta information format.*snip* I totally agree. The file system we use should have a very flexible meta-data system for files, so that we can store the file format information in there.Also, I think an important concept is to allow the USER to get the most work done (on a desktop system). Don't let the process scheduler give higher priority to non-user tasks. The UI should be fast, responsive, and should NOT lag behind the user.I totally agree - again. I think the kernel should be designed to be a User OS kernel, but, I am open to the idea, and hope to eventually do something meaningful with, a Server OS on the kernel too... Priorities for processing is something that should be really flexible with the kernel.. I am writing some basic source code as we speak... I look forward to input on what I put together... Your ideas are most helpfull - as there is sooo much to think about... Thanks, Trevor Parscal
Oct 14 2005
Right on, I hope to help out. But I hate the Titans - GO COLTS! :D Trevor Parscal wrote:So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.com
Oct 13 2005
I'd love to help but please be warned: I am not a seasoned programmer. Not sure how I can help but if there is a way, please let me know. Andrew In article <dikc63$9qa$1 digitaldaemon.com>, Trevor Parscal says...So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.com
Oct 13 2005
Trevor Parscal wrote:So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comHope you realize what you are getting yourself into. Goodluck. Here's an article that may be useful: http://www.osnews.com/story.php?news_id=1482
Oct 13 2005
In article <dimit2$30bq$1 digitaldaemon.com>, clayasaurus says... *snip*Hope you realize what you are getting yourself into. Goodluck.*snip* Yeah, really.. Its a really big undertaking - that is for sure... I just hope I can get something to boot, and we can go from there :) BTW, Titan is on DSource now... Feel free to continue discussion there.. http://www.dsource.org/forums/viewtopic.php?t=1034 Thanks, Trevor Parscal
Oct 13 2005
Recommend you also take a look at the l4 microkernel. http://l4ka.org/ Matthias Trevor Parscal wrote:So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.com
Oct 13 2005
Trevor Parscal wrote:So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comI may have mentioned this before: it's worth taking a look at the Xen project - they have a thin layer that sits under virtualised operating systems (you have to modify the system to coexist with Xen). All actual operating systems sit abopve this layer, and some can have privileged access to others, while others get mediated virtual access. Xen is at http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ The effect is that you can have a reasonable development environment, get your OS working at the virtual interface, and then go to the bare metal when you're ready to spend 200 years writing device drivers. And of course, you'll need a language machine- new release 0.2.0, new examples, surprising letter to Jonathan Swift (the original inventor of generative grammatical engines?) etc. :) Good luck Peri -- http://languagemachine.sourceforge.net - The language machine
Oct 14 2005
Trevor Parscal wrote:So, I am starting this project.. Titan... Its a kernel in D.. I hope it to be very high performance, with garbage collection, and be able to execute several common executable formats. If you are interested in helping, let me know... I put in a request for a dsource project page.. I look forward to working with some others on this.. Its a bit large for me to do alone... Thanks, Trevor Parscal trevorparscal hotmail.comSorry - typo in previous message - should have read: ... some (virtualised operating systems) can get privileged access to hardware, while others get virtualised access. -- http://languagemachine.sourceforge.net - The language machine
Oct 14 2005