I'm interested in studying operating systems

Specifically UNIX-like administration and (eventually) low-level development. I'm currently studying for my CCNA Routing & Switching and the like to get me in the job market. There is no way I can currently consider taking out a college loan in the US, so I'm looking for books or online courses that can teach me the same stuff. Although I'm not inclined to look in their direction, I am also curious about the colleges and universities that offer such courses and are highly renowned.

Thanks in advance for the responses. :)
 
FreeBSD has very structured and highly consistent documentation; better than any other OS out there... Linux, OpenBSD, whatever. The FreeBSD handbook and the man pages is really all you need for learning the entire base system for administration. The man pages goes more into detail of capabilities and command line syntax of various tools, utilities, etc. The FreeBSD Handbook is HUGE so take your time to learn the concepts, don't just sift through it. For Systems development (what it's actually called) I'd get the book by Dr. Mckusick & Watson.

Also, one easier way I've found to learning FreeBSD while in-shell (meaning in, while the OS is running) is to use sysutils/tmux. Create two panes, one for executing commands, and the other for navigation man pages. This has greatly simplified the learning experience for me, and is more immersive than using the man pages web site.
 
When I was still a student, I remember borrowing Advanced Progamming Environment in the UNIX Envirenment from the library week after another. I used the second edition of the book, though.

The book is quite useful, especially if you want to deal with system level programming. Of course, there is always man pages you can refer to.

Any Operating Systems book (several mentioned in previous posts), would give you an idea about file systems, memory management, process management, race conditions etc...

Not sure if Tanenbaum is still fond of microkernels and RISC architecture, but his predictions about OS kernel architecure and CPU hardware are all irrelevant now. His foresight about "80x86, not the way to go" would make BSD/Net-2 -> 386BSD -> FreeBSD path irrelevant as well.
 
Approach this inquiry from a different perspective: What [will be/is] the purpose of the system you are [building/using/developing]?

The operating system should be compliant with the CPU architecture; and, the CPU architecture should be compliant with the type of math you are going to use. Since a database is a type of matrix system, and, being that [SPARC64/SunV*] is scalable, then you would use an OS based upon this. OpenBSD was started on the SPARC platform and is known for its integrity. NASA released 4S as a partial program. A virtual processor for databases.

Development and learning from a dynamically changing yet stable environment of FreeBSD is best suited for the POWER - backwards compatibility at 32 bits - systems.

These are examples.
 
I'd be nice if the Foundation could spawn a curriculum and testing program for systems development and systems administration. It could help ease the barrier to entry to FreeBSD whilst providing another source of revenue for the project. I'm not sure if this would affect their non-profit status, but if the Linux Foundation can do it, why can't we?
 
Approach this inquiry from a different perspective: What [will be/is] the purpose of the system you are [building/using/developing]?

The operating system should be compliant with the CPU architecture; and, the CPU architecture should be compliant with the type of math you are going to use. Since a database is a type of matrix system, and, being that [SPARC64/SunV*] is scalable, then you would use an OS based upon this. OpenBSD was started on the SPARC platform and is known for its integrity. NASA released 4S as a partial program. A virtual processor for databases.

Development and learning from a dynamically changing yet stable environment of FreeBSD is best suited for the POWER - backwards compatibility at 32 bits - systems.

These are examples.
I never thought of it like that. Thanks!

I'd be nice if the Foundation could spawn a curriculum and testing program for systems development and systems administration. It could help ease the barrier to entry to FreeBSD whilst providing another source of revenue for the project. I'm not sure if this would affect their non-profit status, but if the Linux Foundation can do it, why can't we?
As far as I know, the closest thing we've got to a curriculum is the Handbook. I have learned a BOAT LOAD just from sitting down and going though it page by page. Really good info there. There is an organization out there that has certification exams for the *BSDs. You can find out more here: http://www.bsdcertification.org/
 
https://forums.freebsd.org/threads/freebsd-development-books-papers-slides.1566/ and you may want to start with some operating systems book by Tanenbaum

That's a good list. I've been interested in the book BSD UNIX TOOLBOX. There's also "FreeBSD 6 Unleashed" which introduces Shell scripting, and Perl. "Network administration with FreeBSD 7" is also good.

I've done a search before, and found Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix . Most books on scripting are on zsh and irrelevant here Bash.

Individual college courses may be helpful. There may be an overlap of using a Linux OS (with teachings not specific to Linux) that carry over into BSD, mostly on a basic shell. My guess is that BSD UNIX TOOLBOX could replace a lot of this.
 
Also I'm interested to purchase it.
It's on the top of my xmas list!

That's a good list. I've been interested in the book BSD UNIX TOOLBOX. There's also "FreeBSD 6 Unleashed" which introduces Shell scripting, and Perl. "Network administration with FreeBSD 7" is also good.

I've done a search before, and found Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix . Most books on scripting are on zsh and irrelevant here Bash.
I'll have to check those out too. I'm slightly confused about what you said on ZSH and Bash. From my understanding, ZSH is and extended/improved Bash, no? Is Bash one of those linuxisms?
 
It's on the top of my xmas list!


I'll have to check those out too. I'm slightly confused about what you said on ZSH and Bash. From my understanding, ZSH is and extended/improved Bash, no? Is Bash one of those linuxisms?

Both bash and zsh are attempts to improve the classic bourne shell but they were developed independent of each other. Bash tends to be a "linuxism" in a way that script writers assume that /bin/sh is bash(1) but this is only true on Linux distributions (with some exceptions). Zsh is very rarely used as /bin/sh and scripts writers never make the same mistake with Zsh.
 
sh(1) is the Bourne Shell. csh alias on FreeBSD is tcsh(1) (C language based shell). You can see some shells that are run from looking at /etc/passwd, and at the top of many executable scripts that call a shell. FreeBSD programs tend to use sh, and the user command line interface tends to use tcsh.

BASH is the Bourne Again Shell, which is correctly mentioned as a "Linuxism". shells/zsh is supposed to be an improved Unix shell with features from tcsh and bash.

There are free internet resources on shells. There is a newer book than the one I mentioned above, so I'll scratch that one out.
 
I never thought of it like that. Thanks!


As far as I know, the closest thing we've got to a curriculum is the Handbook. I have learned a BOAT LOAD just from sitting down and going though it page by page. Really good info there. There is an organization out there that has certification exams for the *BSDs. You can find out more here: http://www.bsdcertification.org/

I'm thinking of taking their exams, but being tested on four different operation systems (two of which are useless) is absolutely insane. Their lack of clear exam objectives is frustrating also.
 
I'm thinking of taking their exams, but being tested on four different operation systems (two of which are useless) is absolutely insane. Their lack of clear exam objectives is frustrating also.
I feel the same way. Apparently for the second level of the exams, professional, you choose which specific *BSD to be tested on.
 
I now have the book, 'BSD UNIX Toolbox'. It has a lot of shortcuts for commonly used commands. For computer scripting it focuses on Bash. It has information on basic file systems, their attributes, and typical maintenance. There's information on editing music, text, and images from the command line. There's a chapter on security, but it seems inadequate compared to other books. Still it is a useful book. It has similarities, as I predicted, to what would be taught in a UNIX/Linux college course.

For free online courses, check out MIT OpenCourseWare, and search for UNIX. There's a few good choices, but maybe they'll add something more specific one day.

*edit, 'BSD UNIX Toolbox' section on security goes in depth on protecting the system from your own computer users. In the firewall section, the author either made a mistake or didn't explain why it enables both IPF and IPFW using the same configuration file. There's some thing on network services, and useful programs.
 
Last edited:
In some case, the book author(s) explains why he chooses a specific shell. Here's an example.
Yay, my Spanish is not good enough to translate the book o_O

Well....I am OK with Bourne Shell, as I mentioned it is the way to go for scripting, but not bash on BSD I reckon.
 
The author of that book writes a lot of stuff on Linux, it's his background. It's probably his choice of shell. Obviously, some of it is transferable, but I'd have preferred if it were sh(1).
 
Back
Top