Page 1 of 1

New programmer with a few concerns

Posted: Sat Mar 22, 2014 1:39 pm
by mdaniels247
Hi, I am a new programmer. Next year I will be going to college to study Computer Engineering; and after college I hope to develop mobile operating systems. I am currently learning HTML, which is a web developing language, and I hope to move on to C++ and other software languages and database languages. I am aware that this process will take a lot of time and a lot of studying. Just today I was reading about operating systems on the OSDev Wiki and had to do further research on kernels and system calls just to understand the overview. I have a few concerns concerning programming. About how long would it take for me to learn C++ and the intricacies of operating systems? After that, how long would it take for me to create my own mobile operating system? And besides OSDev, do you have any other tips, advice, or resources to help me with my language-learning, operating-system creating, etc.? All responses are greatly appreciated, and thank you all so much!

-- mdaniels247

Re: New programmer with a few concerns

Posted: Sat Mar 22, 2014 1:56 pm
by bwat
Start writing C code. Forget HTML and focus on C. Get a copy of "C The Programming Language" by K&R and read it and type in all the programs. They actually have some OS code in the book. It isn't a big book either, my edition is only 270 pages. When you've finished that start reading the code for existing operating systems. That's how pretty much everyone else does it.

Edit: I forgot to say good luck!

Re: New programmer with a few concerns

Posted: Sat Mar 22, 2014 2:47 pm
by DavidCooper
mdaniels247 wrote:After that, how long would it take for me to create my own mobile operating system?
The difficulty with that would be finding a phone which is sufficiently well documented to be able to write an OS for it. Has anyone here managed to do it yet? Big companies share information to get the hardware and software working together, but they don't tend to make it so easy for the rest of us. They can also throw several hundred people at any problem and pay them to work at it full time, while everything we write is likely to become out of date long before it's finished, with the device it's designed to run on relegated to museums. A phone with PC architecture would change all that though, allowing even beginners to write simple OSes that can run on it, while some of the people here could probably use theirs to access the Internet via WIFI with little or no modification. Maybe that'll happen some day.

Re: New programmer with a few concerns

Posted: Sat Mar 22, 2014 3:04 pm
by bwat
DavidCooper wrote:
mdaniels247 wrote:After that, how long would it take for me to create my own mobile operating system?
The difficulty with that would be finding a phone which is sufficiently well documented to be able to write an OS for it. Has anyone here managed to do it yet? Big companies share information to get the hardware and software working together, but they don't tend to make it so easy for the rest of us. They can also throw several hundred people at any problem and pay them to work at it full time, while everything we write is likely to become out of date long before it's finished, with the device it's designed to run on relegated to museums. A phone with PC architecture would change all that though, allowing even beginners to write simple OSes that can run on it, while some of the people here could probably use theirs to access the Internet via WIFI with little or no modification. Maybe that'll happen some day.
When I was developing smartphone OSs, each new chip (ARM + various IP blocks) would be used in a family of products, at most half a dozen all with the same internals. A chip version didn't last very long, max 1 year. We had prototypes built for us internally and we had some months to get everything working. Smaller companies used reference boards from the chip manufacturers like the ones shown here. The book "Symbian OS Internals" is a quite good intro to phone hardware and system design considerations. At one time Symbian said a base port (getting it up and running on new hardware) should only take about 2 months. That wasn't really true....

Edit: The Symbian OS references show how long ago it was I was involved in smartphone development!