I have the opportunity to to get into Embedded Programming for ARM processors. That will be my job.
Now on the personal side, I love Operating Systems, Compilers etc. In the future I wan to create an OS. I want to know If expereince in Embedded programming helps one understanding OS development too ? or they both exist on opposite ends ?
Well you cant do OS development if you dont understand how to do embedded programming. IMHO, embedded is more or less writing software that interfaces to hardware, and you will be doing this if you write an OS.
I want to have a copyleft OS, the GNU OS as we call it. Today, nearly all tools are form GNU House, ony the kernel is not done (along with a few more applications). Hurd project is nearly dead, people are working on it but it is very-very slow. I want to create Hurd, Hurd is my love, Hurd is my life. I believe in GNU philosophy and it is the most important thing in my life I want to do, except, of course, Martial-Arts ;)
I am jobless now and a few days ago I have been offered a 6 months Training Program, after that I will be doing a job, it will surely be an RTOS running on ARM processor. I will be on the team coding for it. It is going to be written in C++, which is the language I am well versed with.
Chris, it will be better if you can tell me specific questions one needs to ask before making such a decision. I will apreciate them :)
Let me be the first to encourage you in this. For many years I have been of the opinion that Hurd needs what Linux had to start with; one developer who creates a working system for others to build upon. I don't know whether you are that person, but I sure would like to see you try.
Make it so that people can use Hurd like they currently use Linux or BSD, and you will never be jobless again.
To get back to your original question, Embedded Programming is a much better match to Hurd than to many other OS's. Hurd is based on a microkernel, and QNX has shown us how well microkernels work in embedded systems. One could say that an OS is a combination of an embedded system and a human interface...
Your choice of microkernel will be a critical decision. Mach? L4? L4.sec? Eros/Coyotos? Or you could roll your own...
misc.business.product-dev: a Usenet newsgroup
about the Business of Product Development.
you are right my friend :) and here are 3 of the technical reasons:
yes, me too :)
yes, I can take anyone. GPLv3 is my personal taste because of some technical reasons.
IIRC, thats what the training guy told me.
I don't know much about that. I have asked them to send me the contents of the training ans the responsibilities the job entails. The company is far away from my home. I will go the company myself next month and will get the every single information about it.
It will take 2-4 years before any talented Hurd developer agrees with me and before I am skilled enough to handle that kind of complex, difficult and extremely time-consuming thing we call OS development.
ys, it wil be truly copyleft. I will give it away for Free under the conditions of GPLv3.
hmm.. I never thought about this ;)
it will be lessons learned from Hurd-NG, Coytos, L4.sec and some others and also the lessons from BitC, C++ and Haskell. I am not sure I will use any of the present micirkernels because I do not have much experience with it. I can tell you (without any fear that people will joke about me) that i never created any real-life software yet. people usually joke about when I tell them World War 3 is near and it will be between an Obvious power (USA) and non-obvious one (China) and USA is following the footsteps of pre-WW2 germany and Salem Bin-Laden is business partner of George Bush and USA did not attacj Iraq for Terrorism, it was actually planned by owners of different US MNCs. They laugh more when I tell them I found all this using some Patterns like we have 24 Design-Patterns in GoF book. So there are soem patterns that GNU repeatedly and unintenionally did to not to create a GNU system. I have identified very few of them but as soon as I wil explore more I will eat more of them and will analyze and find a way to beat the complexity, impossibility and uncertaintity in Hurd that is keeping it form last 24 years to get released.
I know this will suck my youth, I know this will keep me from meeting to my family members when they need me emotionally and this is the only thing that is left after I knew I can no longer learn and master Martial-Arts because I am already 27.
I think it is merely an indication that there are some people who are thoroughly confused about all sorts of things in life, and who also support the principles of free software (as spearheaded by GNU).
If you are aware of the real problems of the embedded world. YOu are certainly going to have those in mind while designing the OS. But if you go in the dream world of zero latency, no memory spac constraints, infinite mega hertz cpu, your creativity may flourish an gives good to the world. '