LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Which nix is good for academic purpose (https://www.linuxquestions.org/questions/programming-9/which-nix-is-good-for-academic-purpose-811532/)

dheerajsuthar2008 06-01-2010 12:57 PM

Which nix is good for academic purpose
 
Hi,
I have operating system course next semester. I wanted to cover some unix like operating system(kernel level) for getting practical experience too. I have good command on C and assembly(AT &T). However I was confused which *nix to choose for this purpose. After some research I found these good options:
1.MINIX
2.Linux kernel
3.FreeBSD

Kindly suggest which one will suit most for me. Also if you have other options in mind do suggest those too. Following are important factors which might help in decision:
1.Ease of understanding.
2.Future use for me.
3.Some possibility of adding some code from my side to experiment with.
Thanks in advance! I hope this is correct forum to post in.

rweaver 06-01-2010 01:05 PM

Minix isn't really a serious option anymore, linux or bsd are your better options, that being said linux is in more common use, bsd has a more flexible license.

Edit: It's also worth noting that in the bsd/linux arena you have to choose distribution also. Based on the criteria you specified I would suggest linux-- perhaps ubuntu or fedora for desktop (deb or rpm respectively as package source) or for server debian or centos (deb or rpm).

I would try on your desktop first and go the Ubuntu route. YMMV.

posixculprit 06-01-2010 01:45 PM

NetBSD

dheerajsuthar2008 06-01-2010 02:40 PM

Quote:

Originally Posted by rweaver (Post 3988989)
Minix isn't really a serious option anymore, linux or bsd are your better options, that being said linux is in more common use, bsd has a more flexible license.

Edit: It's also worth noting that in the bsd/linux arena you have to choose distribution also. Based on the criteria you specified I would suggest linux-- perhaps ubuntu or fedora for desktop (deb or rpm respectively as package source) or for server debian or centos (deb or rpm).

I would try on your desktop first and go the Ubuntu route. YMMV.

Thaks a ton for reply rweaver!
Yes its true even I don't see any future use for Minix. As far as linux distro goes I am sticking with slackware for some time(got introduced to it in this forum :)). However I am more interested in knowing about kernel level programming rather than system administration or configuration, like working/implementation of process scheduler, different file system implementation etc. Thus I think all linux distro runs same or variation of linux kernel. Its the kernel I want to learn about. Still thanks for your kind reply.

dheerajsuthar2008 06-01-2010 02:41 PM

Quote:

Originally Posted by posixculprit (Post 3989044)
NetBSD

Thanks for reply posixculprit!
Can you kindly give some reasons why? Like how it suits my need. Frankly I am quite unacquainted with NetBSD.

posixculprit 06-01-2010 03:08 PM

NetBSD has elegant, portable code which you can learn from.

dheerajsuthar2008 06-01-2010 03:38 PM

Quote:

Originally Posted by posixculprit (Post 3989134)
NetBSD has elegant, portable code which you can learn from.

Thanks! will download and look at it. Are there any guides for it like Mc Cuisk's book of design and implementation of freebsd.

fruttenboel 06-01-2010 04:05 PM

Quote:

Originally Posted by dheerajsuthar2008 (Post 3988981)
Hi,
I have operating system course next semester. I wanted to cover some unix like operating system(kernel level) for getting practical experience too. I have good command on C and assembly(AT &T). However I was confused which *nix to choose for this purpose. After some research I found these good options:
1.MINIX
2.Linux kernel
3.FreeBSD

Kindly suggest which one will suit most for me. Also if you have other options in mind do suggest those too. Following are important factors which might help in decision:
1.Ease of understanding.
2.Future use for me.
3.Some possibility of adding some code from my side to experiment with.
Thanks in advance! I hope this is correct forum to post in.

Minix has no future. It is too good.

dheerajsuthar2008 06-01-2010 04:32 PM

Quote:

Originally Posted by fruttenboel (Post 3989212)
Minix has no future. It is too good.

:confused:Thanks for reply!
But couldn't understand it. So then should I use it for study? Obviously understanding is my greater priority then the future. However it should be at least in line with the other major players(like linux) so that I can switch them to afterward.

graemef 06-01-2010 08:54 PM

There are significant architectural differences between Minix and Linux that have led to the exchange of heated words. Minix is a micro kernel and pushes as much as it can into user space, whilst Linux is a monolithic kernel which, well, includes much more in the kernel ;).

Which is best for you? First you could ask your instructor. Do you know which text you will be using?

Minix is used a lot in education to explain the concepts of the operating system. Typically the version used is Minix 1 (For which the text book Operating Systems: Design and Implementation by Andrew Tanenbaum was written) Minix is now on version 3 and is targeting embedded systems and applications requiring high reliability. Which may explain to you the slightly cynical comment from fruttenboel, it is very good.

Mr-Bisquit 06-01-2010 09:22 PM

All of them are good to study.

wje_lq 06-01-2010 10:44 PM

Quote:

Originally Posted by fruttenboel (Post 3989212)
Minix has no future. It is too good.

wje_lq likes this.

dheerajsuthar2008 06-01-2010 11:02 PM

Quote:

Originally Posted by graemef (Post 3989443)
There are significant architectural differences between Minix and Linux that have led to the exchange of heated words. Minix is a micro kernel and pushes as much as it can into user space, whilst Linux is a monolithic kernel which, well, includes much more in the kernel ;).

Thanks for the clear explanation. Can you give similar one-two line brief about freebsd also. I checked and found it also monolithic(well may be wrong as newbie :-)) and its an complete OS.

Quote:

Which is best for you? First you could ask your instructor. Do you know which text you will be using?
I already asked, text is Silberschatz,Galvin - Operating System Concepts and no practical OS is covered with it.Its my own interest to cover some practical e.g. alongside.

Quote:

Minix is used a lot in education to explain the concepts of the operating system. Typically the version used is Minix 1 (For which the text book Operating Systems: Design and Implementation by Andrew Tanenbaum was written) Minix is now on version 3 and is targeting embedded systems and applications requiring high reliability. Which may explain to you the slightly cynical comment from fruttenboel, it is very good.
OK. I think using minix 3 will be good as its atleast used in some practical use. Thanks again for your detailed reply.

dheerajsuthar2008 06-01-2010 11:03 PM

Quote:

Originally Posted by Mr-Bisquit (Post 3989465)
All of them are good to study.

Thanks for reply.

ArthurSittler 06-02-2010 01:34 PM

argument for using Linux
 
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.


All times are GMT -5. The time now is 02:46 AM.