Page 1 of 1
Importance of os theory regarding os development
Posted: Wed Apr 05, 2006 6:21 am
by Phyberglass
What is your opinion regarding os theory when it comes to the design and implementation of an os? I recently started doing some research on os deving to gain more insight into the subject and to learn more about the real low level stuff. I went through tons of code and tutorials, but I realised that I had to read some theory to put everything together and to get a bigger picture of how all the components work and fit together.
Cheers
Re:Importance of os theory regarding os development
Posted: Wed Apr 05, 2006 6:30 am
by distantvoices
you need both of them. The theory gives you the tools to model and figure out stuff you afterwards are to work out with your development tools.
OS Deving is mostly about drawing stuff and thinking how to design interfaces - and researching of course. you can't write decent driver stuff without research.
hth
stay safe.
ps: look out for Philosophers problem,bankers algorithm, deadlock scenarions, scheduling algorithms (LIFO, FIFO, Feedback, Round Robin etc ...)
btw: for "realtime" tasks I use a LIFO approach. I. E. A driver gets work, a system task gets work: it preempts the previously working thread.
Re:Importance of os theory regarding os development
Posted: Wed Apr 05, 2006 7:26 am
by Phyberglass
Looks like I'm on the right track atleast.
Thx for the advice.
Cheers
Re:Importance of os theory regarding os development
Posted: Wed Apr 05, 2006 8:52 am
by Pype.Clicker
knowing basis of OS theory is a good way to learn what exists in state-of-the-art OSes. Some problems such as philosopher's dinners are just useful if you lack a demonstration program for your semaphores implementation. Page replacement algorithms, scheduling (both CPU and IO) algorithms might be more interesting. My favourite over all remaining filesystem design
Re:Importance of os theory regarding os development
Posted: Wed Apr 05, 2006 9:32 am
by paulbarker
I prefer to read the books on OS theory rather than the books on implementation. "Modern Operating Systems" by Tanenbaum is an absolute gem, it covers all the details but leaves the implementation up to you, which is the way I like my textbooks.
Shame there's no Operating Systems module on my Uni course.
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 12:26 am
by Phyberglass
paulbarker wrote:
Shame there's no Operating Systems module on my Uni course.
I've got the same prob here where I study. But with a great forum such as this there is no prob in doing the research yourself. Thx guys!
Cheers
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 1:49 am
by Pype.Clicker
paulbarker wrote:
Shame there's no Operating Systems module on my Uni course.
If it were one, you would probably find it uninteressting. Now, probably there's some library at your Uni that has copies of Tannenbaum or Schilberschatz books... You may also google for "geekos", or "SOS" (the linux magazine project), which can show you the process of building a small OS step by step.
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 6:28 am
by Kemp
We had one, it was the most boring module I had that year other than databases (though that one we won't go into). Not only did the guy have a very droning voice but he made no attempt to make it interesting at all, just had a few notes that he read straight off a slide. Plus it wasn't even really about OSes, it was more about pipes and suchlike in Unix, and even then it wasn't about how the operating system handled them, it was just how you use them in C programs.
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 6:40 am
by Solar
I.e., it was a class on
Operating Systems (which unfortunately equates to "Unix" in too many heads), not
Operating System Design.
Regarding this great forum enabling you... I consider Google to be of much greater help in research. We here just create some of the content, Google helps you finding what we and others created.
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 6:52 am
by distantvoices
Here at FH campus we do have a course in OS Theory, but given the fact that I 'm studying this realm at least for five years now, they 've merely tested my knowledge about semaphores,deadlocks, scheduling, rough file system knowledge and then they have nodded and said "you know your stuff" and given me a dispensation from the os course. Well. I've done some showing off with blueillusionOS. *fg*
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 7:38 am
by Solar
*evilgrin*
Yep. There's nothing like entering a beginner's course in a subject you've already mastered to boost your ego. I did a similar thing in my C/C++ courses about seven years ago. If I remember correctly, I amassed two errors in all the tests combined - over a course of 18 months.
G'day, my "passed" stamp if you please, good bye. ;D
Yet still, it was a valuable exercise in addition to the self-taught / tutorial stuff, which brings me back to Phyberglass' question: Even if you already know much about the doing, learning about the theory widens your horizons and allows you to ask better questions and make better designs.
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 9:41 am
by paulbarker
@Pype: Do you know whether theres an english translation of the SOS magazine available anywhere, my French is just about up to the task but its pretty hard going. I havnt read or used french since I passed my school exam almost 4 years ago!
Merci beaucoup
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 2:33 pm
by geezusfreeek
Last semester I took a course on operating systems, which basically went over things like semaphores, IPC, page tables, etc., without any real case studies or anything (besides some user program projects to run on Linux that took advantage of what we learned). This semester I am in an advanced operating systems course. We are hacking the internals of the Linux kernel in this one, and I am involved in a very fun project at the moment. My lab partner and I are modifying the kernel so that a process can forked that will have encrypted swap, as well as other processes that are forked from it in turn. In this way, entire sessions on a Linux machine can use encrypted swap, but there is no performance penalty for anybody that doesn't care to use the feature, even on the same machine at the same time. Next fall, there is supposed to be another operating system course where we will actually build an operating system from scratch. I'm looking forward to it.
For me, it has been extremely helpful to have the background in the higher levels of operating systems, and even more helpful to have the opportunity to mess around with an already-existing operating system as I am doing right now. It really gives you a good sense of direction.
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 6:09 pm
by Colonel Kernel
geezusfreeek wrote:
Next fall, there is supposed to be another operating system course where we will actually build an operating system from scratch. I'm looking forward to it.
You're lucky. The university I went to cancelled the OS lab course just before my first semester there.
I took the OS theory course and the distributed OS course, but those were the only two available. This is why I'm working on my own OS as a hobby, to compensate.
Re:Importance of os theory regarding os development
Posted: Thu Apr 06, 2006 7:38 pm
by geezusfreeek
The first class is the only one that is regularly offered, but due to interest in the subject from when I was in it, the professor offered this one that I'm in now, and is offering the next one as well because of the interest.