So "Big Speech" is a play on Smalltalk. I envision a 64-bit operating system built on a microkernel or exokernel with virtual machine support. In some ways this will probably be similar in design to the GNU Hurd with the kernel being much closer to a hyper-visor than a standard OS kernel. The primary IPC mechanism I plan on using will be a modified version of the Smalltalk message protocol. Standard OS processes and services will probably run in separate virtual machines with a Smalltalk based interpreter. I would like the OS to support Hot Updates where core pieces of both the kernel and OS services can be updated and debugged in place, similar to what is found when working in a Smalltalk image. Why should my system require a reboot after an update, when new code should be able to replace existing code with a remapping of the data and code pointers, or service providers? Sure the update mechanism and new code may be required to provide a translation stage before the OS continues on its way but that has to be better than a full hardware reset and reboot cycle.
Although there are parts of the Smalltalk language syntax that I do not currently like, initially I will be using Smalltalk as a basis for my future system. I hope to evolve the language to improve functionality, capability and readability; although that might just be my technical experience with the "C"-like family of languages talking. I have always loved the concepts and power behind Smalltalk, I just never got to use it professionally in a way that caused me to become fluent enough with its syntax and API. Down the line I imagine being able to work with other languages that compile to my Smalltalkish VM/OS message and byte-code system, opening the door to working with other languages for modifying the system.
In many ways this OS will start out like the original Smalltalk systems developed at Xerox Parc. The original systems were nothing more than some low-level assembly to provide machine IO access, CPU primitives, and an interpreter that loaded and ran the Smalltalk system. I plan on creating a very similar system on modern hardware with a low-level system to maintain ring-0 and resource sharing, with OS system services implemented in a Smalltalk like interpretive environment.
In my next post I plan on talking about my Smalltalk implementation choice, but for now my Smalltalk skills are rusty, so it is time for me to go and play with some tutorials.
Sunday, June 30, 2013
Saturday, June 29, 2013
The Adventure Begins.
Today the long awaited journey finally begins. For more than the past decade I have had ideas percolating in the back of my head. I have no foreknowledge of which, if any, of these ideas will bear fruit. In reality this is a journey I have been looking forward to starting for a long time. There is a significant chance that I will never reach the end; for I have set about to realize a dream that is so large and complex that I may not live long enough to see it fully implemented. That is OK, for it will be an adventure, a learning experience, and I hope I will have fun along the way.
Many of my friends and colleagues seem to think highly of my skills and abilities, as if I was a master at my trade. I am not. I am but a journeyman, however the adventure to complete my masterwork begins now. I suspect that much of the research, sub-projects and work I have set for my self would qualify for use in a masters thesis. I imagine that the culmination of this project would undoubtedly serve as a basis for work on a doctoral dissertation.
I have often thought, and even dreamed, of going back to obtain a master's degree, or even a PhD. At this time I do not feel that I have the money or time to devote to obtaining such a degree. The desire, no need, to work on this project has burdened my thoughts for the past several weeks. Although I may be unable to afford post-graduate studies at a university at this time, that should not stop me from perusing my first love. The minimum amount of research and self-education to start understanding all the parts needed for my project would be similar to Stanford's Systems specialization for Master students. In fact looking at the sample class 240. Topics in Operating Systems and previous syllabuses gives me some good starting points for whitepapers on things I will need to consider.
So today I start on my quest to bring about 'Big Speech', although it should be noted that I have been toying with these ideas for a long time, and have spent much time in the past few weeks with additional preliminary research. I may not create anything truly "new", although I do expect to combine some of what I consider the best existing ideas into a novel form that I hope others may find interesting or useful.
What I start now could not be done without the giants that have come before me. Such names as Alan Turing, Brian Kernighan, Ken Thompson, Dennis Ritchie, Alan Kay, Adele Goldberg, Dan Ingalls, James Gosling, and Linus Torvalds. Although I will never match their stature, they have inspired me, and provided the tools and knowledge I will build on.
Many of my friends and colleagues seem to think highly of my skills and abilities, as if I was a master at my trade. I am not. I am but a journeyman, however the adventure to complete my masterwork begins now. I suspect that much of the research, sub-projects and work I have set for my self would qualify for use in a masters thesis. I imagine that the culmination of this project would undoubtedly serve as a basis for work on a doctoral dissertation.
I have often thought, and even dreamed, of going back to obtain a master's degree, or even a PhD. At this time I do not feel that I have the money or time to devote to obtaining such a degree. The desire, no need, to work on this project has burdened my thoughts for the past several weeks. Although I may be unable to afford post-graduate studies at a university at this time, that should not stop me from perusing my first love. The minimum amount of research and self-education to start understanding all the parts needed for my project would be similar to Stanford's Systems specialization for Master students. In fact looking at the sample class 240. Topics in Operating Systems and previous syllabuses gives me some good starting points for whitepapers on things I will need to consider.
So today I start on my quest to bring about 'Big Speech', although it should be noted that I have been toying with these ideas for a long time, and have spent much time in the past few weeks with additional preliminary research. I may not create anything truly "new", although I do expect to combine some of what I consider the best existing ideas into a novel form that I hope others may find interesting or useful.
What I start now could not be done without the giants that have come before me. Such names as Alan Turing, Brian Kernighan, Ken Thompson, Dennis Ritchie, Alan Kay, Adele Goldberg, Dan Ingalls, James Gosling, and Linus Torvalds. Although I will never match their stature, they have inspired me, and provided the tools and knowledge I will build on.
Subscribe to:
Comments (Atom)