Question:
Which OS should I use if I want to start learning more about computers and how they work?
1970-01-01 00:00:00 UTC
Which OS should I use if I want to start learning more about computers and how they work?
Three answers:
koppe74
2011-05-25 03:35:07 UTC
Ten years ago, I would've said Linux. But the more complex, mature and (lets face it) useful an OS becomes, the harder it is to understand the whole thing. There are however several good candidates:



Minix

A very simple and basic Unix-clone made to be used in a course on operating-systems. While it's simple, it's also modern -- using a micro-kernel rather than a monolithic kernel. It's probably the best OS to try if you want to understand the whole thing. Sadly it may be problematic to install due to missing drivers, but then "installing" in it a virtual-PC -- like VMWare or VirtualBox -- is always an option.



GNU/Hurd (Debian/Hurd is probably the best version of Hurd)

A "Linux-system" (ie. GNU-system) using an alternative kernel -- Hurd (instead of Linux). It's a micro-kernel, rather than the traditional monolithic Unix-kernel. It presents some interesting new concepts and ways to do things; like "translators" and a non-logged-in user-privileges. As it's a work in progress, it may be easier to learn it's inner workings than with a mature OS like Linux. It lacks support for SCSI-drives, but it works fine to "install" it in VMWare or VirtualBox.



Various Linux-distros, FreeBSD, OpenBSD are mostly so mature and complex that it's difficult to understand all. On the other hand, they're easy to install and use; and you could always look through the source-code and build a kernel on a system that already works.

DragonflyBSD uses a hybrid-kernel (not quite monolithic and not quite micro-kernel). Apart from that, it's similar to Free-and OpenBSD.



If you going to try Linux, one of the Ubuntu-types is easiest to install and use.



Slackware Linux is a distro that is harder to use and forces you to edit many config-files. On the other hand, when you've learned Slack, you've learned the inner workings of a Linux-system.



Gentoo Linux lets you make a customized system. When you install a package, it's (usually) automatically built from source-code (rather than using pre-built packages). Installing Gentoo, includes building the kernel and boot-strapping your system, a very educational experience.



Arch Linux is similar to Gentoo, but more geared to people wanting to build their own distro (as opposed to Gentoo, which is building a highly customized system).



LinuxFromScratch (LFS)

This is a site with a books along with a CD and some scripts, that (if you follow the book) lets you build a Linux-system completely from the ground-up -- including bootstrapping the compiler, building the kernel and so on. You will build your own system from nothing. It's probably a good idea to have tried Gentoo and/or Arch-linux first, as the result with them is similar to LFS, but you got someone to hold your hand and automating the process.
?
2011-05-25 03:14:02 UTC
I believe all those are open-source like Linux, so you can get the source code and read the comments.

Sometimes the documentation is sparse, but you can get the code for just about everything. Traditionally Linux comes with all the compilers and tools required to rebuild the entire system.

With Windows, the workings of the OS are secret, but I believe the documentation is often better. So you won't find the code for a driver, but you'll find instructions on how to write one. You'd have to download or buy a development kit, it's not included.
darksifer
2011-05-25 02:59:23 UTC
Try arch linux

http://www.archlinux.org

it has a nice guide how to setup the os and u learn a lot of scripting. reading the guide will solve any problems easily.



https://wiki.archlinux.org/index.php/Beginners%27_Guide


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...