LinuxQuestions.org
Did you know LQ has a Linux Hardware Compatibility List?
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

View Poll Results: Which nix is good for academic purpose
Minix 3 27.27%
Linux 8 72.73%
FreeBSD 5 45.45%
Multiple Choice Poll. Voters: 11. You may not vote on this poll

Reply
 
Search this Thread
Old 06-03-2010, 12:49 AM   #16
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15

Quote:
Originally Posted by ArthurSittler View Post
I would recommend using Linux because Understanding the Linux Kernel, third edition, by Bovet and Cesati is a currently available text that was actually developed from the curriculum of an operating system course. However, if I were planning such a course I might use it as a secondary text, with some other text that covers operating systems in a more general and generic way as the primary material.

(EDIT follows)
Maybe Minix would be a better choice because Tannenbaum created it specifically for educational purposes, and because it is intentionally a minimalist design, which would be easier to cover in the limited time available in a school term. Despite rumors to the contrary, Minix is not actually dead.

I also cannot ignore any recommendations by posixculprit. Admitting my own ignorance of BSD, and seeing how many parts of Linux are not actually as easily followed as I would like, I would not dismiss his assertion that the BSD source is clear and elegant.
Thanks a lot for that informative reply. Actually that's what confuses me. Linux has excellent documentation and books about kernel development(found atleast three good ones, like of Orielly which you mentioned, Robert Love's and Linux drivers.). Whereas FreeBSD is known for its clear design(although I don't understand why as I am a newbie here, will take your words for granted ).On contrary Minix has one whole text that to written by its own creator. But its popularity is quite less in practical field.
However can you kindly mention where you found linux kernel tough to follow. From your advice I believe I should concentrate on FreeBSD or Minix. Is my interpretation correct? And thanks again for your kind reply.
Also for additional text I am opting for Silberschatz, Galvin Operating Sytem Concepts(textbook in our course) and have already started reading it.

Last edited by dheerajsuthar2008; 06-03-2010 at 01:13 AM. Reason: additional text information
 
Old 06-03-2010, 05:15 PM   #17
ArthurSittler
Member
 
Registered: Jul 2008
Distribution: Slackware
Posts: 124

Rep: Reputation: 30
High level overview

Quote:
However can you kindly mention where you found linux kernel tough to follow.
When I look at any particular piece of code in Linux it is usually not too hard to follow. My problem is that I need a high level road map to know where to look for the code I want to look at. That may be inevitable in a project with 230MB of source code. Fortunately, I can use Bovet and Cesati for that road map, so it is not a show stopper.

Linux source code does not have the level of comments that I like to put in my code, but I have been accused of over commenting. I like to precede every function with a descriptive block that says what the function does (a single sentence). I also describe each parameter, any required pre conditions, and describe the return value along with any post conditions. I also insert comments in the body of the code that describe the steps I am using to implement the function. These comments are written before I write the function, and are subject to change as the project progresses. I also write a time and date stamp at the bottom of the comment header block that states when that function has been verified, at least for cases that satisfy the pre conditions. Needless to say, I don't produce a huge amount of code in any given day. If all the code in Linux had that level of comments, the source code might be twice the size due to comment bloat. In my defense, my code usually works eventually and I can usually come back to that code later and easily amend it if I need to add or limit features in it. By comparison, I sometimes (but not too often) find the comments in Linux code slightly cryptic.
 
Old 06-04-2010, 01:37 AM   #18
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Thanks for reply ArthurSittler,
Just one more doubt. Does FreeBSD also suffer from same problem or its code is more organized and easier to understand? From your previous replies and my findings on other sites I think I will choose from Minix or FreeBSD.
 
Old 06-04-2010, 01:59 AM   #19
ArthurSittler
Member
 
Registered: Jul 2008
Distribution: Slackware
Posts: 124

Rep: Reputation: 30
plead ignorance

I apologize, I have not looked at freeBSD nor Minix. posixculprit and at least one person I know personally claim freeBSD is easier to understand.

freeBSD also has had a less restrictive license, but the current license in Linux removes many of its former restrictions. I never had any problems with any of the details of the Linux license, either.
 
Old 06-04-2010, 09:42 AM   #20
rweaver
Senior Member
 
Registered: Dec 2008
Location: Louisville, OH
Distribution: Debian, CentOS, Slackware, RHEL, Gentoo
Posts: 1,833

Rep: Reputation: 163Reputation: 163
Minix is useful as a learning tool... if you like to learn things you're likely to never use in the real world.

It's like delphi/pascal, great language to learn programming on... but you'll likely never see heavy use in real world.

Learning linux or *bsd is more complex but at the same time you likely will see those in the real world, especially at the rate they're going into embeded systems.

University programming languages, university operating systems, etc... not the most useful thing ever for real world application in my experience.
 
Old 06-04-2010, 11:46 AM   #21
chutsu
Member
 
Registered: Nov 2003
Location: UK
Distribution: Debian Lenny
Posts: 255

Rep: Reputation: 31
When you say for academic purposes, are you studying them? like studying Operating systems? Or using *nix to program on top of? cause depending on the what you are trying to do, there are always the best tools for the best jobs.

If you are studying Operating Systems, why not try all? And see the Pro's can Con's of each?

If you are programming on top of any particular flavour of *nix, I can quite honestly say it doesn't matter that much, but try and keep your code portable across platforms.

So?
 
Old 06-04-2010, 01:41 PM   #22
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by ArthurSittler View Post
I apologize, I have not looked at freeBSD nor Minix. posixculprit and at least one person I know personally claim freeBSD is easier to understand.

freeBSD also has had a less restrictive license, but the current license in Linux removes many of its former restrictions. I never had any problems with any of the details of the Linux license, either.
No need for any apologies Arthur Sittler. Everyone has expertise in one subject or another. Infact its through combined experiences of esteem members of this forum I like to form my decisions. For now I seem to make my mind. I think I will start with freebsd and then if possible switch to linux. Thanks again for all your kind replies.
 
Old 06-04-2010, 01:44 PM   #23
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by rweaver View Post
Minix is useful as a learning tool... if you like to learn things you're likely to never use in the real world.

It's like delphi/pascal, great language to learn programming on... but you'll likely never see heavy use in real world.

Learning linux or *bsd is more complex but at the same time you likely will see those in the real world, especially at the rate they're going into embeded systems.

University programming languages, university operating systems, etc... not the most useful thing ever for real world application in my experience.
Thanks for reply rweaver. As mentioned before I think I will start my journey with the demon(ooops sorry Daemon itself ie FreeBSD).
 
Old 06-04-2010, 01:45 PM   #24
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by SweetChris View Post
When you say for academic purposes, are you studying them? like studying Operating systems? Or using *nix to program on top of? cause depending on the what you are trying to do, there are always the best tools for the best jobs.

If you are studying Operating Systems, why not try all? And see the Pro's can Con's of each?

If you are programming on top of any particular flavour of *nix, I can quite honestly say it doesn't matter that much, but try and keep your code portable across platforms.

So?
Thanks for reply. I will be studying OS itself. So I think I will start with FreeBSD then if time permits switch to LInux.
 
Old 06-04-2010, 01:48 PM   #25
dheerajsuthar2008
Member
 
Registered: May 2008
Posts: 48

Original Poster
Rep: Reputation: 15
Thanks to all the replies (and votes too.). With all ideas presented here I believe I will start with FreeBSD. Then if time permits will try Linux also. I made my choice as members say FreeBSD has cleaner source and is professionally used to. So I believe its my natural choice. Thanks to all again.
 
  


Reply

Tags
course, kernel, system


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
what was the ultimate purpose of the non-nix forum? newbiesforever General 15 10-25-2007 05:34 PM
Redhat As (academic version) Fredstar Linux - Enterprise 1 07-26-2005 02:28 PM
good sites to learn *nix begby Linux - Distributions 4 01-27-2005 04:10 PM
FreeBSD/NetBSD good as all-purpose computer? Cyberian *BSD 2 09-17-2004 04:19 PM
RH Enetrprise Linux AS Academic Ed sted Red Hat 1 05-03-2004 09:49 AM


All times are GMT -5. The time now is 10:09 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration