From owner-freebsd-questions Wed May 2 12: 7:15 2001 Delivered-To: freebsd-questions@freebsd.org Received: from chmod.ath.cx (CC2-861.charter-stl.com [24.217.115.99]) by hub.freebsd.org (Postfix) with ESMTP id BA3BF37B422 for ; Wed, 2 May 2001 12:07:09 -0700 (PDT) (envelope-from ajh3@chmod.ath.cx) Received: by chmod.ath.cx (Postfix, from userid 1001) id 8737EA876; Wed, 2 May 2001 14:06:09 -0500 (CDT) Date: Wed, 2 May 2001 14:06:09 -0500 From: Andrew Hesford To: Ember Talent Cc: freebsd-questions@FreeBSD.ORG Subject: Re: What is BSD Message-ID: <20010502140609.B35812@cec.wustl.edu> References: <007a01c0d330$ad4d7740$07e4380a@amcity.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <007a01c0d330$ad4d7740$07e4380a@amcity.com>; from etalent@bizjournals.com on Wed, May 02, 2001 at 10:52:37AM -0700 X-Loop: Andrew Hesford Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, May 02, 2001 at 10:52:37AM -0700, Ember Talent wrote: > Hey there, > > Well my question is just a general one I was wondering if you could > explain in laymans terms (someone who is familar enough to keep simple > office tasks and other programs running on a Windows based computer > and knows how to munipulate files in DOS) what BSD is and how it > works? Also any tips you can give me on what Linux is, (besides the > "someone created it based off the concept of Unix so it could be more > afforadble than Unix which is so great" line) would be appriciated. > > I currently sell classified advertising space in the Portland Business > Journal and one of my three catergories is technology. I know a lot > about it but not enough I find as my clients leave me in the dust when > discussing these things with me. > > Thanks for any time taken regarding my question. Phew, here we go. Time to whip out the UNIX timeline... http://perso.wanadoo.fr/levenez/unix/. This is a VERY useful page if you are interested in the past. Back in the days when I was, oh, about -13 years old (yes, that's a minus sign), a man named Dennis Ritchie and some of his cohorts at Bell Labs decided to build an operating system to run on their PDP-11 computer. This was called UNICS, as a takeoff of the Honeywell operating system MULTICS (at least, it runs on Honeywell computers... I can't be sure who wrote the OS). Over the next decade, the system would become the UNIX Time-Sharing System, and would go through seven editions. Between the sixth and seventh edition, in 1978, some guys up at the University of California, Berkeley decided to license UNIX code and produce their own release. This was called, appropriately enough, the Berkeley Software Distribution, or BSD. The first release was 1BSD, and over time, this would become 4.4BSD. The things you hear about today, like NetBSD, OpenBSD, and FreeBSD forked from 4.3BSD, but (at least FreeBSD) had to be rewritten based on 4.4BSD to avoid AT&T copyright issues. (4.4BSD was a release of BSD with all AT&T code cleaned out.) That's a very cursory look at the process leading to the BSD incarnations you see today. Neither NetBSD, FreeBSD, nor OpenBSD have anything to do with UC Berkeley any more, except for their heritage. To understand BSD and Linux, you also have to be aware of UNIX System V. Sometime before BSD forked from the UNIX Time-Sharing System, another fork was started, which would propagate and become UNIX System III, IV, and then V. This code is now owned by SCO (who was purchased by Caldera not too long ago). The difference between BSD and System V is largely religious. The filesystem layout is different. Commands can be different, as can command-line flags for common utilities. Perhaps most notably, SysV has a concept called "runlevels", which describe various states can be in. For instance, one runlevel allows multiuser logins, another keeps the machine single-user, and two runlevels bring the machine into shutdown or reboot. This is a rather foolish concept, and BSD handles this more gracefully. Basically, if you will pardon blatant advocacy, we can do everything SysV can do, but we do it better and more logically. Linux, as opposed to BSD and SysV, is a clone of UNIX, whose kernel was written by Linus Torvalds, and whose userland was written by the GNU project. The GNU project is a rather hypocritical bunch of guys, lead by MIT professor Richard M. Stallman, who run around screaming about "Free" software while producing a restrictive open-source license. Code quality tends to be lower than that of the BSDs, and because each BSD incarnation control development of both the kernel and the userland, the consistency of each release is better than that of the GNU/Linux duality. Technically, Linux is not a real UNIX, whereas the BSDs are. Furthermore, Linux is like a bastard child of SysV and BSD; it combines both into a combination that is somewhat inconsistent. Notice that I have given you a nice history of UNIX, and BSD in particular, without ever saying what BSD is. There's no real way to describe it if you haven't seen it, but it's a multiuser, network-enabled operating system. Unlike Windows and MacOS, the graphical portion is not tied to the operating system, so it is entirely possible to run BSD entirely from a command-line shell (tcsh and bash are popular; tcsh is better). However, the BSDs do run XFree86, which is an implementation of the MIT X Window System, developed in 1984 as a graphical environment for UNIX systems. Note that this was long before a graphical environment was even a gleam in Bill Gates's eye, and the first year the Macintosh was developed. So UNIX was first, along with Macintosh, to have a viable graphical operating system. FreeBSD has worldwide developer support, and is open-source, which means bugs are fixed very quickly. There is a selection of application programs rivaled by nobody, although you will not find such applications as Eudora or Microsoft Office. Coming from Windows, you will probably spend most of your time in XFree86, so I will tell you the advantages and disadvantages of this system. Among the advantages are remote displays--you can run graphical applications on another machine and have them display on your computer--which Windows and Macintosh cannot do (unless you buy Windows Terminal Server). Furthermore, you have a wide selection of window managers and desktop environments to customize the look and feel of your computer. Among the disadvantages are the wide selection of window managers and desktop environments (I change every three months, because nothing does quite what I want it to do, so I roam looking for the closest fit). With Windows, you are confined to a few poor choices, so you tend to shut up and deal with the interface problems. Also, XFree86 is generally known to be bloated and buggy, but not nearly as bad as Windows. Linux is similar, but again, it is typically less consistent, often takes a little longer for bug fixes to propagate, and is regarded as less stable than FreeBSD and its cousins. Among the disadvantages are a less-than-robust default filesystem (although that is changing) called ext2, or the Second Extended Filesystem. Recently, two journaling filesystems have hit the scene, ReiserFS and SGI's XFS, which offer a bit more data security (against loss, not against theft). FreeBSD, on the other hand, uses a 16 year-old filesystem called UFS (Unix Filesystem, a superset of the Berkeley Fast Filesystem, of FFS) with a technology called softupdates, which orders disk writes in the cache so that it is very reliable. The fact that the filesystem is 16 years old, has gone under only minor revision, is still as fast as can be (faster than logging, and almost as fast as the unreliable ext2 filesystem), serve as an example of the thought put into its design, as well as the thought put into the BSD release in general. UFS with soft updates is so reliable and fast, we BSD'ers just sit and laugh at these Linux journaling filesystems coming into play now. By the way... you are likely familiar with defragmenting your hard drive quite frequently in the Windows world. This is unnecessary with UFS. The filesystem using intelligent writing and on-the-fly defragmentation, meaning the fileystem suffers from very low fragmentation in all but the most extreme (low-free space) conditions. All my filesystems are less than 0.5% fragmented. Now you will likely be frustrated. Believe me, I know how it is. I have taken all this time to explain some of the finer points, but you still feel you have no idea what BSD is. As I said, there is no good way to explain it to you, without talking as if you understood UNIX. All I can say is go try it out. Spend some time fooling around and breaking things, and then you will have a good idea what BSD is. Although you may not think so now, I am sure you will find this description helpful and satisfying once you have used BSD for a short period of time. -- Andrew Hesford ajh3@chmod.ath.cx To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message