Importance of os theory regarding os development

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Phyberglass

Importance of os theory regarding os development

Post 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
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:Importance of os theory regarding os development

Post 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.
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
Phyberglass

Re:Importance of os theory regarding os development

Post by Phyberglass »

Looks like I'm on the right track atleast.

Thx for the advice.

Cheers
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Importance of os theory regarding os development

Post 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 :P
paulbarker

Re:Importance of os theory regarding os development

Post 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.
Phyberglass

Re:Importance of os theory regarding os development

Post 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
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:Importance of os theory regarding os development

Post 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.
Kemp

Re:Importance of os theory regarding os development

Post 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.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Importance of os theory regarding os development

Post 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. ;)
Every good solution is obvious once you've found it.
distantvoices
Member
Member
Posts: 1600
Joined: Wed Oct 18, 2006 11:59 am
Location: Vienna/Austria
Contact:

Re:Importance of os theory regarding os development

Post 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*
... the osdever formerly known as beyond infinity ...
BlueillusionOS iso image
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Importance of os theory regarding os development

Post 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.
Every good solution is obvious once you've found it.
paulbarker

Re:Importance of os theory regarding os development

Post 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
geezusfreeek

Re:Importance of os theory regarding os development

Post 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.
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Re:Importance of os theory regarding os development

Post 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. ;)
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
geezusfreeek

Re:Importance of os theory regarding os development

Post 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.
Post Reply