Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Comment Re:FreeBSD? (Score 1) 133

to be honest, i never quite understood all that BSD/Mach stuff. what exactly is a kernel vs a linux or operating system?

In most operating systems, there's a component that runs in a more privileged processor mode; that code is "the kernel" plus, if the kernel supports them, any loadable kernel modules that have been loaded.

"Linux" is sometimes used to refer to the Linux kernel, which is used as the kernel in various "Linux distributions", and it's sometimes used to refer to a distribution as a whole.

An operating system generally includes components other than the kernel; some people consider the kernel (and perhaps the loadable kernel modules) to be the operating system, others don't.

how can something be both bsd and mach, but not unix?

"Unix" is used for a whole bunch of different purposes. Sometimes it refers to the operating systems that AT&T made available in the 1970's, 1980's, and early 1990's, sometimes it refers also to operating systems that were based on AT&T's code (BSD, SunOS/Solaris, HP-UX, AIX, IRIX, etc.) even if the developers replaced a lot of the AT&T code with their own code, and sometimes it refers to those operating systems, regardless of how much AT&T code is in them, that have passed the Single UNIX Specification test suite and thus can have the trademarked name "Unix" associated with them.

OS X is in the second of those two categories (with only a small amount of AT&T code left, just as do the current BSDs) and, as of OS X Leopard, is also in the third of those categories, so it's based on BSD and Mach, and is Unix in one of those senses. Prior to Leopard, it was only "Unix" in the second sense, so somebody could use that to say it wasn't "Unix", even though it was "Unix-like" in the strong sense (see below).

all I know is there's a command prompt and it's not dos, so... case in point.

Lots of OSes have non-DOS-style command prompts, and not all of them are Unix or even "Unix-like", either in the weak sense of "sort of looks like Unix, but is sufficiently different that nobody'd mistake it for Unix" or the stronger sense of "compatible with Unix, even if it's not based on AT&T code and hasn't been tested with the Single UNIX Specification test suite (most if not all Linux distributions are "Unix-like" in that strong sense).

(And not all OSes with a DOS-style command prompt are DOS - OSes in the Windows NT family have a kernel and userland that's not at all DOS-derived, but the cmd.exe application provides a command prompt that's DOS-like.)

Comment Re:FreeBSD? (Score 1) 133

so your saying I'm write...

I'm saying that you're right when you say "OS X has a BSD+Mach kernel" and you're wrong when you say "They're the same thing!" if by "they" you mean OS X and FreeBSD (i.e., people trying to use OS X as evidence of large market share for FreeBSD are wrong; it's evidence for large market share for BSD UNIX in general, but not any of {Free,Net,Open,DragonFly}BSD in particular).

If you didn't mean OS X and FreeBSD by "they", what did you mean?

Comment Re:FreeBSD? (Score 1) 133

ok, so you're saying I'm wrong? OSX does not have a BSD Mach kernel?

OS X's kernel is a BSD+Mach+various Apple stuff hybrid, many of its loadable kernel modules are BSD-derived, and the Unix part of its userland is a BSD+GNU+various Apple stuff+various other stuff hybrid; that doesn't mean that OS X is the same thing as FreeBSD, even if most of the BSD stuff is FreeBSD-derived.

Comment Re:it's dead, Jim (Score 1) 133

Sorry to break it to you, but there's a Mach kernel working inside your system, not a FreeBSD kernel as many idiots like to believe.

More precisely, there's a kernel composed of Mach-derived code (providing the low-level process and thread management, Mach messaging, VM system, and some low-level platform support), BSD-derived code (providing the high-level process management atop the Mach low-level code, VFS layer and some file systems that plug into it, and networking layer and networking stacks), and Apple-developed code in various places including I/O Kit. The Unix system call interface is provided by the BSD-derived code.

Comment Re:For those wanting a bit more MEAT (Score 1) 133

is fs a script because you aren't able to operate 'find',

fs is a script that runs find with a long list of file extensions because I'd rather not type the long list of file extensions in a find command every time I want to find source files. I can operate find, I just prefer to write a shell script to do it for me rather than doing it manually over and over again.

or is find simply not available on your oh-so-unixish os x?

As per the above, fs wouldn't work if find weren't available on OS X.

Comment Re:Tor compromised (Score 1) 620

A quick search suggests that only medical maruana is legal in California, other uses of it are still illegal albeit very minor.

An even quicker search of basic common sense suggests that most of the "medical" marijuana being used did not require a legitimate medical diagnosis. But since you obviously don't live in California, please continue.

Comment Re:For those wanting a bit more MEAT (Score 1) 133

So it looks like mostly FreeBSD and a little of the old Mach

Well, if you call the osfmk directory of the XNU source a little, I guess it's "a little of the old Mach", although a fair bit of that code comes from NeXT and Apple as well.

I think NetBSD was used as a means for porting between architectures more than a literal inheritance.

Well, let's look at the libc source (the libc part of libSystem):

$ fs . | xargs egrep -h '\$NetBSD:' | wc -l
$ fs . | xargs egrep -h '\$FreeBSD:' | wc -l

("fs" is a script that finds source files and prints their names to the standard output). The files it found with "NetBSD" in them were ./gen/FreeBSD/fmtcheck.c, ./gen/FreeBSD/lockf.c, ./gen/FreeBSD/stringlist.c, ./gen/NetBSD/utmpx.c, ./include/arpa/tftp.h, ./include/FreeBSD/nl_types.h, ./include/getopt.h, ./include/limits.h, ./include/NetBSD/utmpx.h, ./include/paths.h, ./include/search.h, ./include/stddef.h, ./include/stringlist.h, ./include/util.h, ./include/wchar.h, ./include/wctype.h, ./stdlib/FreeBSD/getopt.c, ./stdlib/FreeBSD/getopt_long.c, ./stdlib/FreeBSD/hcreate.c, ./stdlib/FreeBSD/tdelete.c, ./stdlib/FreeBSD/tfind.c, ./stdlib/FreeBSD/tsearch.c, ./stdlib/FreeBSD/twalk.c, ./stdlib/NetBSD/strfmon.c, ./string/FreeBSD/strndup.c, ./string/FreeBSD/wcscat.c, ./string/FreeBSD/wcscmp.c, ./string/FreeBSD/wcscpy.c, ./string/FreeBSD/wcscspn.c, ./string/FreeBSD/wcslcat.c, ./string/FreeBSD/wcslcpy.c, ./string/FreeBSD/wcslen.c, ./string/FreeBSD/wcsncat.c, ./string/FreeBSD/wcsncmp.c, ./string/FreeBSD/wcspbrk.c, ./string/FreeBSD/wcsspn.c, ./string/FreeBSD/wmemchr.c, ./string/FreeBSD/wmemcmp.c, ./string/FreeBSD/wmemcpy.c, ./string/FreeBSD/wmemmove.c, ./string/FreeBSD/wmemset.c, and ./util/fparseln.c.

The "NetBSD" and "FreeBSD" directory names are somewhat historical - for example, the 10.8.4 version of getopt_long() comes from NetBSD.

of course there are probably newer bits of FreeBSD used that are only known internally to Apple.

And other bits only known to people who download the open source bits and look at them. :-)

Then the timeline proceeds with Mac OS X as what appears to be where all of the development is taking place (including inheriting from FreeBSD), with Darwin and OS X Server only ever taking from OS X like mirrors. Then suddenly in 2006 this model changes and the OS X 10.5 beta inherits from Darwin 9.0 beta, when OS X 10.5 and Darwin 9 mature the model goes Darwin -> Mac OS X -> Mac OS X Server...

That's the timeline, not reality. Darwin was always produced by taking parts of OS X and making them available in source form; the model didn't change with Leopard.

Then in 2007 during the OS X 10.7 beta the model changes again when the server branch is eradicated all together and gets integrated into OS X and OS X gets integrated into Darwin so the model goes OS X -> Darwin again but without the server.

Yup - with Lion, Apple stopped shipping separate server and client versions of the OS, and, instead, shipped an add-on package containing the applications that were formerly bundled with the server version but not with the client version.

Comment Re:Tor compromised (Score 1) 620

Can anyone sell pot legally yet? I know Washington is still making the rules up, so at the moment it's legal to own but not yet sell.

In California there are plenty of "pot clubs" that sell everything from buds to hashish, where you can choose your flavor of each, to "edibles" that come in wrappers like any other candy bar that you'd buy in a store. And yes, it's legal.

Comment Re:Relationship between Apple Darwin and FreeBSD (Score 4, Informative) 133

The relevant bits of the FreeBSD userland are periodically (every major release) imported into OS X. The two systems are fairly different, so kernel changes in FreeBSD probably won't show up, but tweaks to command line tools and other stuff probably will.

The best way to think about it is that Darwin is "the kinda sorta fifth BSD", separate from {Free,Net,Open,DragonFly}BSD, but willing to pick stuff up from the *BSDs, just as the *BSDs are willing to pick up stuff from other *BSDs to various degrees.

Comment Re:Relationship between Apple Darwin and FreeBSD (Score 1) 133

The relevant bits of the FreeBSD userland are periodically (every major release) imported into OS X. The two systems are fairly different, so kernel changes in FreeBSD probably won't show up, but tweaks to command line tools and other stuff probably will.

Darwin is not a BSD kernel

Yeah, it's a kernel that's a combination of Mach and BSD.

so the kernel changes will never show up

Not necessarily.

Comment Re:FreeBSD? (Score 1) 133

heh, well the userland part of FreeBSD has more desktop installs than Linux distros.

Or, at least, part of the userland part of FreeBSD, combined with part of the userland part of NetBSD, combined with a bunch of vendor-written code, has more desktop installs that Linux distros (most of those "installs" being what was shipped with the machine; BTW, the auto-correct feature of the latest non-beta version of that vendor's OS tries to convert "distros" into "distress").

Slashdot Top Deals

Things are not as simple as they seems at first. - Edward Thorp