And the person to whom you're responding seems to be assuming that the patents in question apply only to FAT32; I think they apply to the VFAT in Windows 95 as well.
However, UNIX != Linux. Both are POSIX systems with a shared heritage and some common tools (bash, X11, etc.) but they are not the same.
"UNIX" is a term used to refer to several different things:
an operating system developed at Bell Laboratories;
an operating system developed at Bell Laboratories, along with various operating systems derived from that code;
a trademark issued by The Open Group for operating systems that meet an API-and-command-line specification based on behaviors implemented by various systems of type 2 as well as systems implementing derivatives of those interfaces.
Linux wasn't developed at Bell Labs, so it's not of type 1. It doesn't have code derived from that code, so it's not of type 2, and no Linux distribution I know of has passed the test to get that trademark, so a Linux distribution can't be called a "UNIX(R) system".
However, Linux distributions generally are "systems implementing derivatives of those interfaces", so it's what's often called a "UNIX-like system" or a "UN*X".
Earlier versions of BSD were systems of type 2; there might be enough AT&T code left (legally) in *BSD to have the *BSD systems count as systems of type 2, but I'm not sure that, at this point, they have enough AT&T code to render them interestingly different from Linux in that regard.
No *BSD has passed the tests to use the UNIX trademark. Mac OS X is a cousin of BSD, with a lot of kernel and userland code taken from various of the *BSDs; Mac OS X 10.5 on Intel has passed the tests to let Apple use the UNIX trademark.
And, given that even the commercial UNIXes have diverged significantly from whatever AT&T code bases they were originally based on, I'm not sure any meaning of "UNIX" other than the third one is really interesting these days.
Unlike monolithic kernels, the Mach based one that Darwin (The UNIX part of OS X) uses actually has to do a full context switch when one makes a system call.
If by "a full context switch" you mean "a context switch to a separate process", that's not the case. It's just a standard trap into the kernel, with the system call code executed on the kernel stack for the same thread that made the call; no address space switch is done.
I.e., it's not a "microkernel" of the sort where most if not all system services are performed in userland server processes - or even kernel-mode server processes. It would not look unfamiliar to people used to monolithic UN*X kernels.
since Opera and Firefox with Noscript can run JavaScript at infinite speed. Until Safari has this capability, along with ad blocking, it is Full Of Fail.
Presumably by "this capability" you mean the ability to selectively block Java, JavaScript, and Flash; Safari 3 lets you disable Java and JavaScript in toto, and there's the ClickToFlash plugin (requires Leopard) to prevent Flash from running until you click.
Flash is pretty ubiquitous. It comes on every Windows PC loaded with Internet Explorer, and it's an easy download for Macs and Linux machines.
It's bundled with Safari in Mac OS X.
Unfortunately, ClickToFlash isn't, so I had to install it in order to keep all the fucking Flash ads on various pages I keep open to read later from chewing up my CPU like crazy.
OS X has largely eliminated Mach messaging, for example.
O RLY? Fire up Activity Monitor, select some busy process, and watch the count of Mach messages sent and received. Perhaps the NeXTStEP developer documentation touted Mach messaging more than the Apple developer documentation does, but at least some higher-level APIs use Mach messaging.
To some users, yes. To other users, no. If it's important to you, then Mac OS X might not be the OS for you, especially if what Mac OS X does offer, such as the ability to run Mac applications, isn't as important to you.
"Abandoning" implies that they used to use it and stopped. NeXTStEP never used X11 as its underlying window system (its window system was Display Postscript-based), and Mac OS X never did, either.
Whether it was a mistake or not depends on your goals. It was a mistake if being able to run individual GUI applications "over the wire" is important. It wasn't a mistake if it allowed them to get a given level of graphics performance and capabilities faster.
BTW, OS X uses a Mach kernel, not *BSD. OS X has much more in common with NEXTStep than FreeBSD.
Mac OS X uses a kernel that combines Mach code and *BSD code. It also has some userland "core OS" libraries (e.g., libSystem) that combine *BSD code with code developed at NeXT and/or Apple.
So, no, it's not as much like 386BSD as 386BSD's more direct *BSD descendants, but it's still closer to *BSD than to other flavors of UN*X.
If AMD hadn't rushed with their 64 bit version of the x86, about now, itanium would be getting popular and hence cheap.
...and AMD would be well and truly hosed. Given that Intel and HP weren't licensing IA-64 to anybody, if it ended up replacing x86, AMD would be screwed, so I'm not sure they had a choice in the matter.
The iPhone doesn't readily allow for home grown apps
Define "home grown" here. You can download the SDK for free (it requires a Mac). You then have to pay $99 to join the developer program in order to be able to offer your software on the App Store or "to share your application with up to 100 other iPhone or iPod touch users with Ad Hoc distribution".
and must be broken to allow any free apps to be used.
There are two things that people jailbreak their phones for: Running software that Apple doesn't want on the phones (backgrounder, some emulators, tethering)
At least from this article about some jailbreak apps, there are other reasons why people want jailbreak apps (replacing Springboard to get a different main screen - they're about to run out of new names, though:-) - dealing in one app with settings/files/etc. from multiple apps, video capture, cut-and-paste, etc.).
As to the former: Fine, have your slowed down devices,
"Slowed down" by what? Nothing requires all background apps to spin in a loop chewing up CPU when they're not in the foreground, just as nothing requires them to do so when they are in the foreground. iPhone OS isn't some old single-tasking OS where you have to be in a spin loop while waiting for input.
And even when they are using CPU, the scheduler should usually be able to give the foreground process(es) enough CPU to get its job done.
The main concern I'd have for background jobs that consume CPU would be having them run the battery down. I don't know whether the OS could take that into account, e.g. limiting the amount of "battery time" a background app can get.
I'm a simple-minded person. So correct me if I am misunderstanding this situation:
Apple makes a little plastic box with an LCD screen, a battery, and a circuit board and sells it to people in retail stores. And they claim that there is some kind of law that prohibits anyone who buys this little plastic box from opening it, determining how it works, and telling other people how to make it work better. Unless, of course, they pay Apple more money beyond the money that was paid for the little plastic box at the retail store.
So where did Apple offer people who pay them additional money the ability to install arbitrary software on their iPhone OS-based devices? (Note: just because company X says "the DMCA doesn't let you do X", that doesn't mean that they're willing to let you do X if you just pay them additional money.)
Once upon a time, in the 1960s, in the dawn of the multitasking OS concept, there was Multics. It had no distinction between files and data; after all, a file is just a backing store for a piece of data currently mapped into RAM. Since RAM was expensive and small, and paging had to handle everything anyway, the data object that we think of as a file just gets paged in as it is accessed.
...although there was an operation that took a pathname and explicitly mapped the file with that pathname into your address space (i.e., it wasn't a system where all files existed in a global address space - the address space wasn't big enough for that).
Unix was inspired by Multics.
...but didn't pick up the notion that all access to files took place by mapping the file into your address space (it didn't even pick up the notion that you could map a file into your address space until the mid-'80's or so).
As for eliminating languages to prevent bad code, it's been done too - by Pr1mos, on Pr1me Computers,
If you want to talk about eliminating languages, you might want to consider the Burroughs mainframes, whose OS would only execute code generated by programs marked as compilers.
That's part of it (the standard wall-wart), but they're also claiming that it's "smart" - as the home page says:
With Green Plug, however, intelligent power supplies communicate with electronic devices and agree upon device power requirements for all devices connected to them. All cables and connectors are uniform; so, they work with any device! Being intelligent power sources, they eliminate wasted âoephantom powerâ (power that is wasted when chargers are plugged in and either connected to devices that are fully charged or have no devices connected to them) and improve power utilization and efficiency.
I read a lot of PDF files on my Mac and work and it has been my experience that the "native" PDF plugin (which really isn't, in older versions of the OS it was called the "SchubertIT" plugin)
In what ways does it being called "the "SchubertIT" plugin" render it not "native"?
Re:And in other news... Happy 40th PDP-10
on
Happy 25th, Macintosh!
·
· Score: 4, Informative
The data/address separation
Are you referring to the memory buses here? The only data/address separation in the 68K instruction set was the separation between data and address registers, which the PDP-10 didn't have (it just had 16 GPRs).
The "PDP" that the 68K more closely resembles from a programming point of view is the PDP-11, with more complex addressing modes and an operand/operand orientation rather than the register/memory orientation of the PDP-10.
You assume they are using FAT32
And the person to whom you're responding seems to be assuming that the patents in question apply only to FAT32; I think they apply to the VFAT in Windows 95 as well.
"That word, you keep using that word, I don't think it means what you think it means..." - Inigo Montoya, "The Princess Bride".
Been a while since I saw it, but wasn't that one of Fezzik's (Andre the Giant) lines?
No, it was Inigo Montoya.
However, UNIX != Linux. Both are POSIX systems with a shared heritage and some common tools (bash, X11, etc.) but they are not the same.
"UNIX" is a term used to refer to several different things:
Linux wasn't developed at Bell Labs, so it's not of type 1. It doesn't have code derived from that code, so it's not of type 2, and no Linux distribution I know of has passed the test to get that trademark, so a Linux distribution can't be called a "UNIX(R) system".
However, Linux distributions generally are "systems implementing derivatives of those interfaces", so it's what's often called a "UNIX-like system" or a "UN*X".
Earlier versions of BSD were systems of type 2; there might be enough AT&T code left (legally) in *BSD to have the *BSD systems count as systems of type 2, but I'm not sure that, at this point, they have enough AT&T code to render them interestingly different from Linux in that regard.
No *BSD has passed the tests to use the UNIX trademark. Mac OS X is a cousin of BSD, with a lot of kernel and userland code taken from various of the *BSDs; Mac OS X 10.5 on Intel has passed the tests to let Apple use the UNIX trademark.
And, given that even the commercial UNIXes have diverged significantly from whatever AT&T code bases they were originally based on, I'm not sure any meaning of "UNIX" other than the third one is really interesting these days.
Unlike monolithic kernels, the Mach based one that Darwin (The UNIX part of OS X) uses actually has to do a full context switch when one makes a system call.
If by "a full context switch" you mean "a context switch to a separate process", that's not the case. It's just a standard trap into the kernel, with the system call code executed on the kernel stack for the same thread that made the call; no address space switch is done.
I.e., it's not a "microkernel" of the sort where most if not all system services are performed in userland server processes - or even kernel-mode server processes. It would not look unfamiliar to people used to monolithic UN*X kernels.
since Opera and Firefox with Noscript can run JavaScript at infinite speed. Until Safari has this capability, along with ad blocking, it is Full Of Fail.
Presumably by "this capability" you mean the ability to selectively block Java, JavaScript, and Flash; Safari 3 lets you disable Java and JavaScript in toto, and there's the ClickToFlash plugin (requires Leopard) to prevent Flash from running until you click.
Flash is pretty ubiquitous. It comes on every Windows PC loaded with Internet Explorer, and it's an easy download for Macs and Linux machines.
It's bundled with Safari in Mac OS X.
Unfortunately, ClickToFlash isn't, so I had to install it in order to keep all the fucking Flash ads on various pages I keep open to read later from chewing up my CPU like crazy.
OS X has largely eliminated Mach messaging, for example.
O RLY? Fire up Activity Monitor, select some busy process, and watch the count of Mach messages sent and received. Perhaps the NeXTStEP developer documentation touted Mach messaging more than the Apple developer documentation does, but at least some higher-level APIs use Mach messaging.
Not at all. It is a very important feature.
To some users, yes. To other users, no. If it's important to you, then Mac OS X might not be the OS for you, especially if what Mac OS X does offer, such as the ability to run Mac applications, isn't as important to you.
Abandoning X11 was a mistake.
"Abandoning" implies that they used to use it and stopped. NeXTStEP never used X11 as its underlying window system (its window system was Display Postscript-based), and Mac OS X never did, either.
Whether it was a mistake or not depends on your goals. It was a mistake if being able to run individual GUI applications "over the wire" is important. It wasn't a mistake if it allowed them to get a given level of graphics performance and capabilities faster.
Who the hell is Jordan Hubbard?
One of the founders of the FreeBSD project.
BTW, OS X uses a Mach kernel, not *BSD. OS X has much more in common with NEXTStep than FreeBSD.
Mac OS X uses a kernel that combines Mach code and *BSD code. It also has some userland "core OS" libraries (e.g., libSystem) that combine *BSD code with code developed at NeXT and/or Apple.
So, no, it's not as much like 386BSD as 386BSD's more direct *BSD descendants, but it's still closer to *BSD than to other flavors of UN*X.
If AMD hadn't rushed with their 64 bit version of the x86, about now, itanium would be getting popular and hence cheap.
...and AMD would be well and truly hosed. Given that Intel and HP weren't licensing IA-64 to anybody, if it ended up replacing x86, AMD would be screwed, so I'm not sure they had a choice in the matter.
The iPhone doesn't readily allow for home grown apps
Define "home grown" here. You can download the SDK for free (it requires a Mac). You then have to pay $99 to join the developer program in order to be able to offer your software on the App Store or "to share your application with up to 100 other iPhone or iPod touch users with Ad Hoc distribution".
and must be broken to allow any free apps to be used.
Define "free". There are free-as-in-beer apps available for download from the App Store. The WordPress people even claim to offer a free-as-in-speech (and as-in-beer) app for the iPhone.
Don't take this as flamebait... I am looking for honest answers:
Am I wrong that Jailbreaking an iPhone simply allows you to use more applications on it?
No, you are not wrong.
Is this not "Fair Use?"
I'm not enough of a legal expert on "fair use" to say.
Is it true that there are free, non-stolen programs that wouldn't normally run on an iPhone without it being Jailbroken?
Yes, it is true.
Or is Jailbreaking simply a means to running pirated iPhone apps?
No, it isn't.
There are two things that people jailbreak their phones for: Running software that Apple doesn't want on the phones (backgrounder, some emulators, tethering)
At least from this article about some jailbreak apps, there are other reasons why people want jailbreak apps (replacing Springboard to get a different main screen - they're about to run out of new names, though :-) - dealing in one app with settings/files/etc. from multiple apps, video capture, cut-and-paste, etc.).
As to the former: Fine, have your slowed down devices,
"Slowed down" by what? Nothing requires all background apps to spin in a loop chewing up CPU when they're not in the foreground, just as nothing requires them to do so when they are in the foreground. iPhone OS isn't some old single-tasking OS where you have to be in a spin loop while waiting for input.
And even when they are using CPU, the scheduler should usually be able to give the foreground process(es) enough CPU to get its job done.
The main concern I'd have for background jobs that consume CPU would be having them run the battery down. I don't know whether the OS could take that into account, e.g. limiting the amount of "battery time" a background app can get.
I'm a simple-minded person. So correct me if I am misunderstanding this situation:
Apple makes a little plastic box with an LCD screen, a battery, and a circuit board and sells it to people in retail stores. And they claim that there is some kind of law that prohibits anyone who buys this little plastic box from opening it, determining how it works, and telling other people how to make it work better. Unless, of course, they pay Apple more money beyond the money that was paid for the little plastic box at the retail store.
So where did Apple offer people who pay them additional money the ability to install arbitrary software on their iPhone OS-based devices? (Note: just because company X says "the DMCA doesn't let you do X", that doesn't mean that they're willing to let you do X if you just pay them additional money.)
The only 'nix-like that seems to have bash as standard is Linux.
"apple" and "darwin" should indicate on what OS I typed that. (10.5.6, if you're curious.)
Once upon a time, in the 1960s, in the dawn of the multitasking OS concept, there was Multics. It had no distinction between files and data; after all, a file is just a backing store for a piece of data currently mapped into RAM. Since RAM was expensive and small, and paging had to handle everything anyway, the data object that we think of as a file just gets paged in as it is accessed.
...although there was an operation that took a pathname and explicitly mapped the file with that pathname into your address space (i.e., it wasn't a system where all files existed in a global address space - the address space wasn't big enough for that).
Unix was inspired by Multics.
...but didn't pick up the notion that all access to files took place by mapping the file into your address space (it didn't even pick up the notion that you could map a file into your address space until the mid-'80's or so).
As for eliminating languages to prevent bad code, it's been done too - by Pr1mos, on Pr1me Computers,
They appear to have forgotten to eliminate assembler languate, unless they eliminated it later (note: adding a system implementation language and deprecating assembler in favor of it doesn't qualify as "eliminating").
If you want to talk about eliminating languages, you might want to consider the Burroughs mainframes, whose OS would only execute code generated by programs marked as compilers.
That's part of it (the standard wall-wart), but they're also claiming that it's "smart" - as the home page says:
With Green Plug, however, intelligent power supplies communicate with electronic devices and agree upon device power requirements for all devices connected to them. All cables and connectors are uniform; so, they work with any device! Being intelligent power sources, they eliminate wasted âoephantom powerâ (power that is wasted when chargers are plugged in and either connected to devices that are fully charged or have no devices connected to them) and improve power utilization and efficiency.
Where is the USB plug on the iphone? i haven't found it on mine yet.
It's on the other end of the cable you plug into the iPod adapter connector at the bottom of the phone.
Whether you can plug it into any other USB charge is another matter.
I read a lot of PDF files on my Mac and work and it has been my experience that the "native" PDF plugin (which really isn't, in older versions of the OS it was called the "SchubertIT" plugin)
In what ways does it being called "the "SchubertIT" plugin" render it not "native"?
Whatever happened to the 'desktop replacement' designation for mobile but not lightweight platforms?
It got trademarked by, err, umm, Eurocom. (Apparently without registration, however.)
How about working freelance or starting your own business? ... Also, don't get sick, because you won't have any health care!
Umm, not in the country to which the original article was referring.
FYI, VTEC isn't really the same as a turbo charger.
The people to whom he's alluding don't care.
The data/address separation
Are you referring to the memory buses here? The only data/address separation in the 68K instruction set was the separation between data and address registers, which the PDP-10 didn't have (it just had 16 GPRs).
The "PDP" that the 68K more closely resembles from a programming point of view is the PDP-11, with more complex addressing modes and an operand/operand orientation rather than the register/memory orientation of the PDP-10.
I see a successor to the Chuck Norris facts...
Heck, I just saw a successor to the Chuck Norris facts.