Apple felt threatened by the pending release of Windows 95. It had preemptive multitasking, and was heralded by many magazines as “easy to use as Mac”. Apple started he Copland project to respond. It was to have had live searches, full multitasking and all of Apple’s next generation technologies. The project was canned in 1996 at the behest of Gil Amelio, though many of its technologies were eventually included in the OS. Read about it at MLAgazine.
Windows 95 had NO preemptive multitasking. I can easily write a short C program that locks W95.
Only the NT-line of the Windows family (WinNT3.x WinNT4, Win2000, WinXP)
has preemptive multitasking.
Interesting read, because it gives you a notion just how much commercially successful OSs were years behind the curve in what was done in the Unix camp in 1995.
AFAIK, Microsoft and Apple did not begin to catch up until MS incorporated BSD code in Windows NT, and Apple in Mac OS X.
Now, when you’re talking about /user interfaces/, you can see that they delivered what non-savvy computer users /thought/ they needed. And what other cheap options were there? Certainly not NeXT machines, SGI workstations, or Genera Lisp Machines…In fact, these common house and office users they didn’t /know/ what to expect or “need” in terms of UI, but the marketing behind Apple and Microsoft set the standard. And Microsoft has really developed killer applications, IMHO, that have enslaved people to their OS: Word and PowerPoint, and have created a de fact standard for documents. Again, this is a case of users being /told/ what to want (*).
(*) We can discuss how LaTeX was not user friendly – which could have been easily fixed – and had much, much better layout for documents). Oh, well, blame it on Unix geeks.
copland sounds like a more interesting os and ui then os x
springloaded folders are nice, and even better are those tabbed folders at the edge of the screen
but i guess the best ting from a techies point of view is the idea of a nanokernel. if done right you could basicly update any part of the system without shutting it down. just restart the part that your updating!
now if i could have gotten this kind of os on a cheap mac from my local electronics store i would be hooked
“It would not be until Mac OS X that the dream of Copland be realized.”
Yes, I remember the dream. But I’m not sure I agree the OS X realized the dream. What many of us wanted was something a simple and easy as MacOS 7 but with memory protection and reasonable mutli-tasking. The BSD internals of OS X are not simple or easy by any stretch. And every now and again those internals sneak up on users and make life very difficult. Just yesterday a friend lost all ability to install from GUI (apple update, printer drivers, etc…) it kept saying she had not permissions to write to the private temp directory. just for kicks i set the permissions to 777 and rebooted…still didn’t work. frankly, in my experience, there is a disconnect between the OS internal programs and the OS user interface programs. mostly they play well but there are times they don’t.
Copland would not have had this disconnect. It would have been very integrated and very easy/simple. I’m sure this is not a popular opinion in this forum, but i think that Unix-like systems just are not the best platform to run a desktop.
It sure would have been nice if BeOS or Copland or AmigaOS or someone had succeeded in grabbing a big market share. I’m not sure it matters now, as soon apps/desktops will all be run off the network anyway (and this is where Linux & Unix will excel as an OS).
“…someone had succeeded in grabbing a big market share.”
Grrrrrr. you mean install base!
Understand the difference:
http://www.osviews.com/modules.php?op=modload&name=News&file=articl…
OS X has had springloaded folders since 10.2. No tab windows, however.
The only bit of BSD code in windows is part of the tcp/ip stack iirc.
And yes, win95 has preemtive multitasking of win32 programs. You can right a simple C program that can lock up pretty much any OS.
I should proof read..
that should be “write a simple…”
Yes, windows95 has preemptive multitasking. Ralf doesn’t seem to know the definition.
I’m honestly, intelectually curious, interested in seeing this code .
umm.. what is with the past tense reference to LaTeX? I use it all the time.
Not a properly setup system as a user. Any POSIX system that has ulimits set is going to be a real pain as a user… And any exploitation of a security fault is not “simple.” Seriously, read some proof codes; they’re never simple .
heh, figures. its the combo im most interested in. being able to drag to a tab, have the tab open and then drag down into the subfolder of said tab would make file sorting simple (even more so if those tabs where allways on top so that no window could ever cover them).
heh, maybe ill get a mini afer all, if i can gather the cash. still, im looking more and more into mobile solutions. maybe a ibook?
where can i download copeland?
It’s a common mistake that people still make. When microsoft originally added a TCP/IP stack into Windows it was indeed the BSD stack, however this was just a stopgap situation. Microsoft went and wrote their own TCP/IP stack which debuted back around NT 4 or thereabouts.
Looks like the Copland screenshots comes from the Apple guided tour preview CD named “A Tour of Copland”. Seems aliens abducted my copy. Anyone else here have the CD and kind enough to make the contents available for download? So everyone willing to boot up classic can watch the early dev build of Copland sort-of in action.
I’m sure this is not a popular opinion in this forum, but i think that Unix-like systems just are not the best platform to run a desktop.
Couldn’t agree more.
To start with, there’s the interminable boot process. Then there’s the byzantine directory structure. The unnecessarily cryptic and inconsistent command line. The bolted-on graphics system. Sound as an afterthought (and still no settled solution). The bother with mounting and unmounting. The creaking everything-is-a-file metaphor. …
(Note besides, Windows isn’t much better in this regard, what with all its DOS heritage. But at least graphics and sound are better integrated there.)
Yes, the likes of Apple or KDE these days put a reasonably pretty and consistent face on the mess underneath, but it still sometimes shines through, and holding it all together certainly costs a lot in memory and speed.
oh ok. thanks for the info.
I dunno…. I can’t remember System 7 or 6 (with multifinder) crashing all that much (and I spent my adolecent life geeking away on Macintosh exclusivley …1984-1992).
Yes protected memory and preemptive multitasking are important…but I could argue my systems were pretty stable back then….and I punished them pretty badly (C programming, some Pascal…loads of software from <ahem> questionable sources). Honestly… wasn’t MacPlaymate or Virtual Valarie ground breaking?
cheers,
quack!
so Why aren’t you using BeOS? yea I know rhetorical, Of course i don’t see the point of why my headless server needs a Face?
this goes for OS X as well, why should one install a GUI when that GUI isn’t going to be used? that Byzantine command line could be cleaned up and simplified, but even MSFT Longhorn is getting a full command shell. Another question why should my Airplane contain a full KDE/Avalon/Aqua/etc interface anyway?
ncurses is even more stable. and stability counts in Airplanes.
I will give you this though, X is a nightmare, Someone should merge X and KDE/gnome to prevent overlap.
Windows 95 had NO preemptive multitasking. I can easily write a short C program that locks W95.
Silly boy. Preemptive multitasking simply means that after its timeslice is up a process gets paused by the OS and control is passed to another process.
That’s in contrast to cooperative multitasking (as in MacOS before X or Windows before 95) where processes are meant to voluntarily give up control every now and then (which unfortunately they wouldn’t always do, thus blocking the whole OS.)
The fact that Win95 lets you circumvent preemption just means that it is a badly protected (and thus frequently blue-screening) operating system.
lets see, there is work being done on new init systems for linux (some reporting very nice results). why they have not gone mainstream i dont know tho.
the directory structure may be strange yes, but how many users spend their time outside of their home directory?
i thought commandlines wasnt for the masses? ie, why make it less cryptic when its only the people in the know that will use it anyways?
bolted on graphics system works wonders. atleast better then in windows where a bad graphics driver can bring the system down. as long as your not doing stuff that need sli in linux you can hit ctrl-alt-f1, log in and kill the xfree prosess. or just hit ctrl-alt-backspace to restart xfree if it still accepts keyboard commands but the window manager have gone bad.
mandrake have shipped a solution called supermount for atleast the last 3 major distro versions. and gnome can now automount many storage systems when inserted. and if you make sure the mounting is set up so that it writes at ones rather then when it have time (or when you unmounts) you should be able to remove the media without much risk. still, i kinda like how the cdrom door gets locked when not properly unmounted. i would like a floppy-like system with the same ability so that im sure that its safe when i remove it. but in these usb pendrive times i guess thats a pipe dream…
sound is a troublespot but it works for desktop use. if there is something more advanced your going for then sorry…
everything as a file? i find it better then the windows idea of hideing the hardware behind some tool or other that can only be accessed from the desktop gui.
The command line has its quirks as well.
For example, open any kind of editor or other application that supports arrow keys. Now you can move up/down/left/right by quickly typing ESC [ A, ESC [ B, ESC [ C respectively ESC [ D. And because of that, no single application can respond to the Escape key the right way.
Or try to run centericq on NetBSD. Thanks to some termcap/curses problem, ghost characters remain when you close menus.
Or take a look at the package installation shell scripts of Slackware, for an example how to code around limitations of the shell. Because of the input format ‘dialog’ wants, the package installation shell script needs to create another temporary shell script in /tmp that runs dialog with the right parameter set.
But of course unix is flexible, so it is no problem to select files in the Midnight Commander through a PuttySSH session. Now that‘s useful *cough*.
But of course unix is flexible, so it is no problem to select files in the Midnight Commander using the mouse through a PuttySSH session. Now that’s useful *cough*.
I’d be really curious to see a simple C program that can lock up WinNT, OS X, or Linux. If its taht simple, than these operating systems have broken security model. Ralf was right in that Win95 was particularly easy to crash, though not for the reason he listed. The problem was that Win95’s memory map left a lot of important memory unprotected. You could crash the thing just by corrupting the right locations in memory.
I’m the author of the article. A friend emailed me those images. Here they are:
http://braeburn.ath.cx/sites/articles/braeburn/copland%20in~*~@…
http://braeburn.ath.cx/sites/articles/braeburn/copland%20in~*~@…
http://braeburn.ath.cx/sites/articles/braeburn/copland%20in~*~@…
http://braeburn.ath.cx/sites/articles/braeburn/copland%20in~*~@…
http://braeburn.ath.cx/sites/articles/braeburn/copland%20in~*~@…
http://braeburn.ath.cx/sites/articles/braeburn/copland%20in~*~@…
http://braeburn.ath.cx/sites/articles/braeburn/copland%20in~*~@…
To start with, there’s the interminable boot process. Then there’s the byzantine directory structure. The unnecessarily cryptic and inconsistent command line. The bolted-on graphics system. Sound as an afterthought (and still no settled solution). The bother with mounting and unmounting. The creaking everything-is-a-file metaphor. …
The boot process from Windows 2000 took just as long to boot as any Unix, the change with XP was that services boot after the desktop is up which usually means that you can log into your desktop but you have to wait 20-40 seconds before you can actually do anything because all the processes are starting up in the background. I really don’t see the difference.
The file structure in Unix is byzantine? Have you looked in the Windows ‘Documents and Settings’ folder lately? Why is there a folder for Application Data and another for Local Settings? Why does the Local Settings folder have an Application Data folder? Why are the Cookies and Favorites folders dumped in the User’s directory instead of their Application Data directory for Internet Explorer? Byzantine indeed.
There is no requirement to use the Command Line in Unix’s but it has a lot more power than the anemic toy that comes with XP when you do want to use it.
The graphics system may be a bolted on Frankenstein monster but it’s also much more nimble. X11 can be upgraded completely independant of the rest of your system and the DEs (KDE/GNOME/Xfce/etc.) can be upgraded independantly as well. The Unix desktop does not force work habits or choices on the user (Apple’s Dock).
Problems with specific sound cards or video cards have nothing to do with Unix/Linux’s architecture but more to do with spotty vendor support for drivers.
There are numerous tools to allow automatic mounting and unmounting of disks in Unix/Linux’s, again that has nothing to do with the architecture of Unix.
Last, isn’t the point of a GUI to put a pretty face on the ‘mess underneath’?
“mandrake have shipped a solution called supermount for atleast the last 3 major distro versions.”
Actually, we shipped supermount from somewhere around 8.x (maybe 7.x, it was before my time) up till 9.2 (where we used supermount-ng , a rewrite maintained by Andrey Borzenkov, IIRC). 10.0 used magicdev, 10.1 and 2005 use hotplug / hal / gnome-volume-manager automounting. Supermount is still used by default for floppy drives, as a floppy drive gives no kind of notification of the insertion of a medium, so hotplug-style automounting can’t work. Nothing else in MDV uses it by default any more. If anyone’s interested, here’s Fred Crozat’s non-technical write-up of how the current automounting works: http://qa.mandriva.com/twiki/bin/view/Main/HotPluggableHardwareRemo… .
Can’t write you a program, but I could reliably hard lock NT 4 by some specific operation (I think hitting cancel at a certain time) in Microsoft’s file comparison tool (I don’t remember the exact operation or the name of the app, this was a long time ago). Worked 100%. Fixed in 2000, IIRC.
ok, so simple/easy wasnt really tehright way to put it but I’ve seen apps in windows and linux suck up ALL the cpu rendering the system totally useless. course that might have just been my bad programming skills I’m a very pathetic coder.
Why aren’t you using BeOS?
Unfortunately I never tried it. Back in the days I had an Amiga, which had a great operating system for its time: quick boot, great disk management, clean command line, preemptive multitasking, sane directory hierarchy. (Unfortunately it lacked memory protection, networking and multi-user support.)
Don’t get me wrong, I’m quite happily using Linux, but the problems due to its Unix heritage still grate.
why should one install a GUI when that GUI isn’t going to be used?
If we’re talking Linux, like almost everything else in the kernel, it could be optional. It just seems weird that stuff like sound and all kinds of input devices, not to mention obscure things like HAM radio, are part of the kernel, but the most important output device isn’t. Although of course the framebuffer device did make it into the kernel. And the nvidia X server is largely implemented as a kernel module. Where’s the logic in all that?
that Byzantine command line could be cleaned up and simplified
But it hasn’t and it won’t, because of all the legacy stuff, and because of people who like things to be cryptic just to impress others.
Perhaps it will eventually be replaced by something like Python though.
You can lock up Windows 2000 by running it in about 56 MB RAM and then trying to install OpenOffice 1.x
No, it won’t give you a ‘the system has ran out of virtual memory’ message – the mouse will just stop moving and the only thing you can still do is pressing the reset button.
So the NeXt Operating System was more advanced than Windows 95?
“Windows 95 had NO preemptive multitasking. I can easily write a short C program that locks W95.
Only the NT-line of the Windows family (WinNT3.x WinNT4, Win2000, WinXP) has preemptive multitasking.”
Wrong. Period. The VMM386 kernel did indeed support preemptive scheduling of threads. In fact, Windows 2.11 /386 and later supported preemptive scheduling of v86 dos machines. It was this VMM code that was modified in 95 to support scheduling of win32 threads.
The fact that it is easy to hang the system doesn’t mean the system didn’t support preemptive scheduling. Win16 tasks all ran with in a single “system VM” along with all the 16bit windowing (GDI/User) code. This meant that a single 16bit task could hang the entire 16bit system vm (essentially one process) bringing the system to a dead stop.
As far as hanging the system, guess what, one bad ISR that loops at raised IRQL on NT will hang a uniprocessor system dead (same is true on Linux or any OS for that matter).
Don’t get me wrong, Windows 9x was a total pile of crap, but 32bit process threads were most certainly preemptively scheduled (as were DOS v86 vm’s going all the way back win 2.11 /386). Ones ability to hang the system has little to do with that.
heh, figured that you would correct me on a statement about mandrake/mandriva. still, as long as it works and all that. heh, it could be that my install is still using supermount on cds as i have done the update rather then the reinstall for the last 2-3 minor versions or so. but i have yet to update to 2005 limited…
as for hard locking windows, win95 and some win98 version need only con con con con or something like that typed on their commandline to atleast go bluescreen…
yes, it was actually.
considering that bill gates and m$ has (some of) the smartest programmers in the world, i’m curious as to why people say “Windows 9x was a total pile of crap”? win 98 se works fine for me. is there a better way to create a windows OS that is backwards compatible, that m$ didn’t take or explore?
luckyboy wrote:
So the NeXt Operating System was more advanced than Windows 95?
Is this supposed to be veiled sarcasm?
NeXTStep in many ways is still more advanced than OS X.
Once Apple stops compromising with Adobe, Microsoft and anyone else building against CARBON we’ll start seeing the OS X that should have begun.
smart programmers and system designers are one thing, but when your marketing department runs the company, no amount of smart developer staff will make a good product.
besides that, integrating IE, the registry, Active-X and super privileges to normal users by default are all stupid ideas,
Around 2001 I had the pleasure of meeting Larry Tesler, one of the original Macintosh team members from PARC. One of the things I asked him about was Copland. This is my vague memory of what he told me. I’d never heard anything about Apple and DEC working together, but apparently Sculley talked with DEC in early 1991 about using the Alpha when they were looking for a replacement for the 68k chips. I assume that Apple acquired a group of DEC’s VAX developers around this time. These were the engineers who wrote the core of Copland. There of course was a huge culture clash between them and the Apple engineers who were trying to keep the Mac look-and-feel and preserve backwards compatibility. The Copland project became one of those projects that everyone knew was failing, but no one had the nerve to kill. What eventually became Mac OS 8 was a last ditch effort to save face and it fell far short of what Copland had promised.
I don’t see how someone can be satisfied with any of today’s operating systems. All of them are stuck in the desktop metaphor with filesystems, cryptic command lines, and even more cryptic GUIS. We passed by the usefullness of the desktop metaphor when pictures, movies, and sound became common place on computers. Where are operating systems which feature no file systems? Why can’t memory is just a cache for the hardisk. Why do I still have to explicitly save documents? Why can’t memory be treated as a relational database that I can search on a whim? IMHO part of the problem is that every modern OS can in someway trace its lineage back to Unix and the ideals of Unix. Unix was a hack to get a decent OS on a computer that couldn’t handle Multics. Hell even Multics blurred the distinction between files and objects in memory. With the powerful computers of today why can’t we have something better than Unix?
I couldn’t agree more with your observation about X. I have spent almost my entire day getting a large screen monitor to display at the resolution it was supposed to work on a Gentoo box. The auto detection functionality of xorg-xserver may work for some graphics cards and monitors, but it all too often fails in detecting the card or monitor. Digging through the config file and /var/log/Xorg.0 files to decipher what went wrong is a very time consuming affair.
Having said that, it is possible to get things working just as you want in LInux and have them run that way very stably and securely for a long tme, but the price it exacts is time, diligence, and technical mastery. No doubt there are talented individuals whose technical intuition and mastery exceeds my own, and for these folks, Linux is ideal. For the rest of us, Linux is a challenge, which of course is part of the attraction as well.
I have been tinkering with Linux on and off for the past two years, and I have seen it make great strides. On a couple of my computers and even on my laptops Ubuntu worked almost straight out of the box. Its underpinnings are pretty solid. It just needs a little more ease of use when it comes to configuring the basics.
-Greg
If they arent using part of the BSD networking stack then what are they using if this is in the readme for Windows XP?
“Portions of this product are based in part on the work of the Regents of the University of California, Berkeley and its contributors. Because Microsoft has included the Regents of the University of California, Berkeley, software in this product, Microsoft is required to include the following text that accompanied such software:
Copyright © 1985, 1988 Regents of the University of California. All rights reserved.”
When I bought my mac in 94 and I started reading macworld, I started drooling over copland! I had issues and issues devoted to it. I got the tour of copland CD (somewhere) and I had someone show me a beta (or even alpha?) of it running and they gave me instructions on how to replace some guts of my System 7 OS with the betas/alphas of copland but I never had the guts to do it :p (people told me that a debug machine was hooked to the main machine running copland)
Anyway – I’ve been an OS fanatic for a while and I have NEVER found any resources for TaligentOS, or even star trek. They seem to be a blurb in history. Are there more resources?
I’m sure this will make you happy; the CommonPoint docs:
http://pcroot.cern.ch/TaligentDocs/TaligentOnline/DocumentRoot/1.0/…
I’ve never been able to find a working build of CommonPoint or TalOS. Hopefully somebody will post more, if not binaries at least docs.
The “bolted on graphics system”, as well as soundsystem, and other i/o devices are actually one of the blessing of unix. Don’t like the desktop metaphor? Bolt on a different one. The fact that unix is modular means that it can be relatively easily evolved to whatever types of interfaces one might want.
Maybe the desktop metaphor is obsolete. I don’t think so. But even if it is, the unix kernel is capable of supporting any graphics i/o metaphor you would like to substitute.
“considering that bill gates and m$ has (some of) the smartest programmers in the world, i’m curious as to why people say “Windows 9x was a total pile of crap”? win 98 se works fine for me. is there a better way to create a windows OS that is backwards compatible, that m$ didn’t take or explore?”
While some of the code within 9x was brilliantly executed hand coded x86 assembly, the system architecture, due to compromises required for backwards compatibility and hardware specs, was a total nightmare. I know first hand that writing a STABLE driver for 9x is considerably harder than it is for NT (especially win2k and later, which added many useful debugging features).
The specific problems areas include the different exception handling models (due to three different generations of code), the VxD layer (of which whole books are dedicated to) and the lack of a clear delineation of system and application addressing (e.g. 16bit system VM). Actually, it was a marvel of hard work and dedication by the people working on 9x that any of that hodgepodge actually worked.
Could it have been done better? Given the criteria set forth by the product marketing folks, I would guess probably not. 9x was designed on the tail end of the resource constrained era, before micro’s had levels of CPU and RAM that could support big sophisticated (though ultimately more straightforward) operating systems.
My number one issue with M$ is how long they allowed 9x to persist. Microsoft should have started the move to the NT codebase years earlier. I will never understand why they felt the world needed 98 SE and Me. Of course, I don’t work for Microsoft’s marketing and sales department, so what do I know. Never the less, if I never see 9x again, it will still be too soon.
Just my $0.02
“It would not be until Mac OS X that the dream of Copland be realized.”
Yes, I remember the dream. But I’m not sure I agree the OS X realized the dream. What many of us wanted was something a simple and easy as MacOS 7 but with memory protection and reasonable mutli-tasking. The BSD internals of OS X are not simple or easy by any stretch. And every now and again those internals sneak up on users and make life very difficult. Just yesterday a friend lost all ability to install from GUI (apple update, printer drivers, etc…) it kept saying she had not permissions to write to the private temp directory. just for kicks i set the permissions to 777 and rebooted…still didn’t work. frankly, in my experience, there is a disconnect between the OS internal programs and the OS user interface programs. mostly they play well but there are times they don’t.
That has nothing to do with MacOS X, and everything to do with:
1) The hardware/software vendor not clued in enough to know how to write and installer – god knows why some still insist on using their own when Apples built in installer would solve all the hassles.
2) Why didn’ t you run permissions repair? From what I see, the permissions of /tmp (which is linked back to /private/tmp ) is drwxrwxrwt 15 root wheel 510 May 22 14:44 tmp
3) Regarding the software, what software title were you trying to install? its not that I don’t believe you, its just that there are hundreds of so-called “users” complaining that their “software” won’t install, but magically, when push comes to shove, they can’t name the software, which is so apparently important to their ‘work flow’.
Most linux distributions don’t setup ulimits by default, there’s good logic to it: Most users don’t program or run untrusted programs, but most users may wanna run The Gimp with 60 bazillion images opened.
But yea, a infinite link list generating loop will usually bring an unprotected system to its knees, and obviously an infinite fork() is gonna be nasty too! Once again, all stoppable with ulimits.
Another reason these aren’t always set is that some very handy programs *cough valgrind cough* need 1.5GB of memory no matter what (even when they don’t use it and the system doesn’t have it)!
My number one issue with M$ is how long they allowed 9x to persist. Microsoft should have started the move to the NT codebase years earlier. I will never understand why they felt the world needed 98 SE and Me. Of course, I don’t work for Microsoft’s marketing and sales department, so what do I know. Never the less, if I never see 9x again, it will still be too soon.
Ok, come in when Microsoft releases a service pack or new Windows release, and look at the number of people whining that their 15 year old application isn’t working on Microsofts latest operating system. Look at the number who whine, they think that their “threat” of moving to [alternative operating system] will some how make Microsoft work some magic.
Microsoft continued on with 9x to keep those whiners happy – if given half a chance, I’m sure they would *NEVER* have released the 9x series in the first place. The *ONLY* benefits that 9x gave over Windows NT, was superior win16 backwards compatibility, apart from that, Windows 9x was nothing more than a ball of let downs.
With that being said, things started to come unstuck when they pushed a number of things into kernel space simply for the sake of speed; they should have kept to keeping the code seperate and simply worked, although its the more difficult method, improving the algorithms used to cut down on the performance hit.
Lets fast forward to today, and I don’t think *ANYONE* would notice the difference had they kep the original design.
well i am disappointed that m$ didn’t introduce nt 4.0 way back in 1995 – they could have easily done so.
i’m curious as to whether you think windows nt is a “pile of crap” and esp windows 2000 and windows xp.
Yes, Windows 95 had preemptive multitasking, and memory protection too. But did Windows 95 actually run any better than cooperative multitasking, non-protected Mac OS 8? Not in my experience.
Really they were just meaningless buzzwords as the OS still had very poor multitasking and terrible stability.
The only time that MS had a significant lead over Mac OS was between the release of Windows 2000 and Mac OS X. I’m still very happy to use Windows 2k, I find it faster than Windows XP and just as stable. There’s no way I’d want to go back to Mac OS 8/9, not for any serious work using multiple apps. It’s GUI is still nicer than anything MS have come up with, but the crashing isn’t something I could tolerate.
RW wrote
“I don’t see how someone can be satisfied with any of today’s operating systems. All of them are stuck in the desktop metaphor with filesystems, cryptic command lines, and even more cryptic GUIS. We passed by the usefullness of the desktop metaphor when pictures, movies, and sound became common place on computers. Where are operating systems which feature no file systems? Why can’t memory is just a cache for the hardisk. Why do I still have to explicitly save documents? Why can’t memory be treated as a relational database that I can search on a whim? IMHO part of the problem is that every modern OS can in someway trace its lineage back to Unix and the ideals of Unix. Unix was a hack to get a decent OS on a computer that couldn’t handle Multics. Hell even Multics blurred the distinction between files and objects in memory. With the powerful computers of today why can’t we have something better than Unix?”
Totally agree with your observations. Coming from IBM’s AS400 (or whatever they call it these days) I have often wondered why those principles (nicely integrated into the OS400 by the way) never made it into any of the desktop OSes.
In an AS400 everything is an object, there is no distinction between memory and disk, it has a built in DB2 database etc.
From the sounds of things, its UNIX, but taken the next logical step further – every resource, be it local, remote, is seen as a giant storage pool. These things *could* be used on the desktop, but then again, how much use would it be fore the end user? yes, maybe a small, minute number of people *may* find those features useful, but overall, Joe Blogs is not overly concered.
He’s happy with explicitly telling his application to save a document, he’s happy with the fact that if he can’t find is document, its his own fault for not giving it a decent name; what *SHOULD* be fixed is bugginess in applications, poor documentation quality in regards to explainations and jargdon used, and most importantly, making sure that the application does what it is meant to do, according to the documentation given.
All those problems are soft/human based problems that need to be solved – the way humans interact with computers; it isn’t the matter of trying to make the computer more human like, it should be to make the machine more predicatble and consistant to the end user.
This where the likes of HIG come into play; alot of problems would be solved if EVERY operating system had a consistant, clean and concise HIG frame work and EVERY software company followed it to the letter – no deviation from that standard.
Users would then be able to move form one application to another, and know that, for example, the preferences in located in the same drop down menu, that the applications use the same terminology when it comes to selection etc.
These are the issues that *NEED* to be resolved. Adding fancy databases and other twaddle will simply make the situation twice as worse than it is today – more complication and more confusion for the end user. Not a good idea.
This history has been told a million times.
In the beginning, NT didn’t support TCP/IP. It used NetBeui. To get TCP/IP running quickly on NT, they licensed a TCP/IP stack from Spider Systems. Their product was derived from BSD. For NT 3.5 (and Win95), Microsoft rewrote the TCP/IP stack. The BSD copyright is still in there because Microsoft didn’t bother to rewrite some of the apps that came with the Spider Systems stack, like the ftp client.
“well i am disappointed that m$ didn’t introduce nt 4.0 way back in 1995 – they could have easily done so.
i’m curious as to whether you think windows nt is a “pile of crap” and esp windows 2000 and windows xp.”
I have been using NT as my primary OS since 94, so no, I don’t think they are crap. And I ended up in quite a spat with a gentlemen on these boards last week when I stated as much.
While not perfect, I am quite happy with NT 5+.
“Yes, Windows 95 had preemptive multitasking, and memory protection too. But did Windows 95 actually run any better than cooperative multitasking, non-protected Mac OS 8? Not in my experience.
Really they were just meaningless buzzwords as the OS still had very poor multitasking and terrible stability.”
I had a PowerMac back in the late 90’s that I used for BeOS tinkering, and I have to say that I didn’t think to much of MacOS 8. From a programming standpoint, Win32 memory management on 9x was STILL better than anything in the MacOS world at the time. All in all, they both sucked quite frankly.
I have a G5 IMac and I have to say that MacOS X (I am still running panther) is a totally different beast. Most of my work and knowlege is in NT, but I must say that OS X is a fine system and a pleasure to work with.
I don’t see how file systems and command lines have anything to do with the desktop metaphor.
How is the operating system supposed to know when you really want to keep the changes you’ve made to a file? Memory already is a cache for the disk. You could have changes regularly auto flushed to disk and have revision control, but this can already be done without putting it in the kernel. There’s no reason for it to be there.
Relational databases are not the only type of database. A file system is a type of database. Putting records inside a file is a type of database. Most relational databases operate in the former way. At some level, the blocks on the disk have to be organized in some way. A file system is a close representation of the data as it is on the physical disk. Any abstraction above this would still have to deal with this problem.
There’s this common belief that by putting everything into relational databases will solve every computing problem, end poverty and end world hunger. Reality check. Relational databases are slow. Not all data can nor should be organized as relational data. It’s completely ignorant to use a relational database for key, value pairings as I have commonly seen it used.
Having structure imposed on files at the operating system has already been tried before. The operating system should treat files simply as byte streams and leave structure up the programmer. Objects in memory can easily be serialized and stored to disk and later brought back into memory exactly as it was. This doesn’t involve operating system design at all.
It’s funny how people constantly reinvent the wheel only to realize that someone had already found it to be a bad idea a long time before. People constantly want to morph software to conform to people’s lazy cognitions. I don’t want to use such a system.
Ken started UNIX out of his frustrations dealing with MULTICS. It was not a “hack for slow hardware.”
Yes, Windows 95 had preemptive multitasking, and memory protection too. But did Windows 95 actually run any better than cooperative multitasking, non-protected Mac OS 8? Not in my experience.
Yep, the trouble with 95 and its descendants was that while applications were reasonably well protected from each other, the system itself wasn’t protected from applications poking around in its memory. It was lunacy.
Anyone know why MS did that? What compatibility purpose did it serve given that it was a new system anyway?
Anyone know why MS did that? What compatibility purpose did it serve given that it was a new system anyway?
Compatibility reasons. Thanks that you could run almost all old DOS apps without too much performance hit.
Try this with NT systems, where DOS is 100% EMULATED.
VMS imposed structure on files, and it was very nice. The fact is that all files are structured in some way. Every file is its own database with its own format. A relational db can describe a good majority of the structures within files in a standard way. Email, word processor documents, spread sheet documents, and text are all examples. Some bad examples would be raw audio data, and pretty much any other raw multimedia format. You just would just describe it as a sequence of bytes then. What you could do is keep the metadata about the audio/image, within the db, doing away with the multitude of container formats. Relational databases are mathematically elegent, whereas navigational databases are icky. Who says relational databases have to be slow? How are file systems a close aproximation of what is stored on disk? Either way one is imposing an imaginary level of orginization to a long sequeance of bytes.
I think that was rather my point. It should be left up to the programmer to decide how best to structure the data and not left up to the operating system to dictate like some fascist regime telling me how I’m supposed to do and think.
I’ve played with the Newton OS for some time now. It fully implements a database store (albit not relational). I haven’t found it particularly compelling beyond the use of an address book. I’m not even going to mention the interoperability problems it creates.
…does anyone out there HAVE a copy of Copland and actually run it? (obviously not for productivity purposes)
Advanced stuff was developed eons ago. These systems were very expensive, even for today’s standards. Today, anyone can have a PC. Microsoft has always been a terrible, terrible choice, from the system design to interface design. Apple, at least, always had better taste (although originality is constroversial – remember Xerox Parc?)
Alan Kay’s opinion is that the operating systems that dominated the landscape were actually a drawback. You just have to agree with him if you’ve ever heard of the following :
NeXT
http://www.osdata.com/oses/next.htm
http://en.wikipedia.org/wiki/NeXT
http://en.wikipedia.org/wiki/NeXTSTEP
http://www.kernelthread.com/mac/oshistory/7.html
Lisp Machines
Genera screenshot
http://starfish.rcsri.org/rcs/Symbolics/images/herald.gif
Lisp Machines workstation pictures
http://home.hakuhale.net/rbc/symbolics/
http://www.sts.tu-harburg.de/~r.f.moeller/symbolics-info/symbolics….
video (this show a programming envrionment yet unrivaled)
http://www.lemonodor.com/archives/000103.html
http://www.unlambda.com/lispm/
http://starfish.rcsri.org/rcs/Symbolics/contents.html
http://www.ti.com/corp/docs/company/history/artificial.shtml
Fun read, “The Unix Pestilence” (actually, I come to realize I like Unix)
http://www.xahlee.org/UnixResource_dir/freebooks.html
Look also for Smalltalk systems, and take a look at the Squeak programming environment. Click on anything on that environment. Realize it is an object. Bewildered, realize how your C#/C++/Java environment is years beghind the curve.
There’s lots more stuff, I just haven’t the time. If you find more, post!
This site is excellent:
http://toastytech.com/guis/index.html
For example, checkout the Xerox Star system shipped in 1981:
http://toastytech.com/guis/star.html
Here’s the GUI for the network connection:
http://toastytech.com/guis/starapp4.jpg
Do we have that built-in for Linux or Windows, today?
As you can easily see for yourself form the pages I posted, Microsfoft, Apple (MacIntosh) and IBM (OS/2) were ridiculous setbacks when compared to what Xerox and Symbolics were doing in terms of docuement handling and desktops.
The boot process from Windows 2000 took just as long to boot as any Unix, the change with XP was that services boot after the desktop is up which usually means that you can log into your desktop but you have to wait 20-40 seconds before you can actually do anything because all the processes are starting up in the background. I really don’t see the difference.
Uh, no, the reason YOU have to wait 20-40 seconds to do anything is because of shit in your startup folder and registry. Services are still started during bootup. They are merely started in parallel. For instance, on my somewhat dated system XP boots up in about 20 seconds. This is from just after post to desktop. That’s XP pro.
The file structure in Unix is byzantine? Have you looked in the Windows ‘Documents and Settings’ folder lately? Why is there a folder for Application Data and another for Local Settings? Why does the Local Settings folder have an Application Data folder? Why are the Cookies and Favorites folders dumped in the User’s directory instead of their Application Data directory for Internet Explorer? Byzantine indeed.
As opposed to having bin/sbin folders scattered all over everywhere? UNIX is a MESS, no way around it.
There is no requirement to use the Command Line in Unix’s but it has a lot more power than the anemic toy that comes with XP when you do want to use it.
Anything you can do with bash, i can do with XP, 2k, NT, or even 95/98.
The graphics system may be a bolted on Frankenstein monster but it’s also much more nimble. X11 can be upgraded completely independant of the rest of your system and the DEs (KDE/GNOME/Xfce/etc.) can be upgraded independantly as well. The Unix desktop does not force work habits or choices on the user (Apple’s Dock).
No, instead that very architecture causes bloat, instability, and is all around not a good idea.
Problems with specific sound cards or video cards have nothing to do with Unix/Linux’s architecture but more to do with spotty vendor support for drivers.
So the lack of a decent Driver API has nothing to do with it? Or a HAL? WAKE UP PEOPLE!
There are numerous tools to allow automatic mounting and unmounting of disks in Unix/Linux’s, again that has nothing to do with the architecture of Unix.
Why should one rely on tools. Mounting should be automatically handled by the OS.
Last, isn’t the point of a GUI to put a pretty face on the ‘mess underneath’?
No the point of a gui is to make things easier and faster to use. Which is faster, dragging icons between two folders or typing copy c:myverydeeply
estedfolder*.* c:myverydeeply
estedfolder2*.*? I’ll give ya a hint: it’s not the last one.
The problems with most, if not all UNIX variants are as follows:
No Hardware Abstraction Layer, No decent Driver API.
Hell, no decent api in general. I can code an mp3 player in less than 20 lines of code in windows, that SAME mp3 player in linux would be well over 100 lines, due to the lack of any sort of media API library.
Lack of a standardized graphical subsystem w/ User Interface.
Lack of truly modernized modular on the fly hardware support (True PnP. I plug my cam in windows, it mounts in my computer as a filesystem, it’s also listed as a camera under scanners and cameras so i can TAKE pictures on the fly. I do the same under linux, i have to exec a bunch of commands JUST to access the camera)
Linux just in general feels like a really big hack.
Don’t get me wrong. I HATE windows. totally. However, linux is NOT the answer. Nor is any other OS based on UNIX.
Compatibility reasons. Thanks that you could run almost all old DOS apps without too much performance hit.
Try this with NT systems, where DOS is 100% EMULATED.
I’ve just tried a couple of old DOS games on a 466Mhz Celeron running Windows 2000. To me the performance doesn’t seem significantly worse than with Windows 98, the DOS apps that ran well in Windows 98 seem to work in 2k. From what I’ve heard XP improves the speed and compatibility of DOS apps compared with earlier NT versions.
If MS really crippled their OS just to run legacy apps a little faster, then that has to be one of their worst ever decisions.
i’ve heard of beos as having numerous “flaws”
if you were to design an os today, with the most modern os engineering principles, what principles would you use?
i.e exokernel versus nanokernel versus microkernel versus monolithic kernel?
preemptive multitasking? pervasive multithreading? protected memory?
what programming language would you write the os?
So the NeXt Operating System was more advanced than Windows 95?
and 98 and 2000 and XP and 2003
Why do stories about Macs always turn into Mac/Windows debates?
Most of the posts here are Windows-related. Not much substance about Copland.
that is one of the big unknowns of the universe…
hmm, if one wants to go the way to turning anything into a object, check out plan9. if that isnt a interesting os then nothing is…
I’m going crazy searching for all this stuff on GUIs. GUIs ahoy!
A History of the GUI
http://arstechnica.com/articles/paedia/gui.ars/1
Piccolo
http://www.cs.umd.edu/hcil/piccolo/applications/index.shtml
Piccolo is a toolkit that supports the development of 2D structured graphics programs, in general, and Zoomable User Interfaces (ZUIs)
3D File System Navigator for IRIX 4.0.1+
http://www.sgi.com/fun/freeware/3d_navigator.html
GUIdebook: Graphical User Interface gallery
http://www.aci.com.pl/mwichary/guidebook/interfaces
RISC OS computers historyhttp://www.bbc.co.uk/h2g2/guide/A225785
History of Acorn & RISC
http://homepage.tinet.ie/~lrtc/computers/acorn_ro/acorn/
Elements of a Three-dimensional Graphical User Interface
Intersting paper. The time is ripe for 3D metaphors, they claim.
http://goanna.cs.rmit.edu.au/~gl/research/HCC/interact97.html
All about the BeBox.
I didn’t know there was a BeBox!
http://www.bebox.nu/index.php
some shots
http://www.bebox.nu/images.php?s=images/hobbit
Apple and the GUI
http://applemuseum.bott.org/sections/gui.html
Graphical interfaces to support information search
http://www.lis.uiuc.edu/~twidale/irinterfaces/bib-main.html
Croquet
“WHAT IF…
…we were to create a new operating system and user interface knowing what we know today, (…)
…we could collaborate with one another in an online dimension to create or simulate anything we wanted to?
…we had the robustness of a 3D immersive technology, the diversity of the Internet, and the degree of social interaction we have in the real world?
Enter Croquet.”
http://www.opencroquet.org/
Symbolics XL1200
http://www.geocities.com/mparker762/toys.html
Not much substance about Copland.
“Not much substance to Copland” more like (well, not enough anyway).
Compatibility reasons.
Yes, but what exactly?
Thanks that you could run almost all old DOS apps without too much performance hit.
Fair enough. But why did they allow new Win32 programs to mess about with the system memory too?
Win 95 had cooperative multitasking. Get your facts right!
Win 95 had cooperative multitasking. Get your facts right!
You do that:
http://en.wikipedia.org/wiki/Preemptive_multitasking
http://en.wikipedia.org/wiki/Windows_95
[/i]For example, open any kind of editor or other application that supports arrow keys. Now you can move up/down/left/right by quickly typing ESC [ A, ESC [ B, ESC [ C respectively ESC [ D. And because of that, no single application can respond to the Escape key the right way. [/i]
It’s called VT100 emulation. look into it.
” AFAIK, Microsoft and Apple did not begin to catch up until MS incorporated BSD code in Windows NT, and Apple in Mac OS X.”
That’s the other way around my friend. MS only made the move when Apple was rumored to have it as it’s foundation. MS follows Apple around everywhere like a little brother.
Some of the Windows XP command-line utilities (eg ftp) are BSD.
why thus incredible focus on gui?
no matter how good the gui is, if the underlying tech stinks then the whole system stinks no matter what.
it would be interesting to see a system where one could manipulate any gui element from the commandline or anipulate the commandline from the gui.
allso, the gui should be based on simple elements linked together, so that you could link link a bar to the screen and then link buttons or other items to the bar.
heh, basicly build a system with a gui that works like litestep
but ship it with a usable default configs so that new users can get going from day one (preferably clone both the windows and mac gui so that the user can choose what they want when they first log in).
hmm, thats a thing to steal from plan9 (and they are working on a similar system for linux at this time), the ability to mount say a mail account into the user file system so that a folder basicly holds the users mail account. every mail becomes a file and so on. but not limit it to mail, make it extendable so maybe one can write a extention that allow you to mount the gui so that every open window becomes a file
hell, create a extention that allow for active search folders at the mount level. just create a folder and mount the search inside it
the thing is that the basic unix idea is in fact very flexible. but have become bogged down by people that want all unix-like os’s to be like the original unix. basicly to much history. the everything as a file idea is solid, a file can be a lot of things
its interesting to see how linux evolves as more and more of the classical file system is handed over to daemons that talk to the kernel, giving us stuff like automaticly appearing files for usb drives and similar.
hmm, keeping the daemons and replacing the linux kernel with a exokernel. it may no longer be linux but it can build on what linux put in motion…
int main()
{
int i=0;
while(i>=0) i++;
}
Works pretty much everywhere.
lol, classical infinite loop. a good os should still allocate resources to other proseess so that you can kill the offending one. but in windows, nt or not, you will most likely slow the task manager gui down so much that it will take you 5 min to just find the prosess. easyer to just hit the full reset button unless you have something you 100% must save…
a good os should still allocate resources to other proseess so that you can kill the offending one. but in windows, nt or not, you will most likely slow the task manager gui down so much that it will take you 5 min to just find the prosess
Yes, that’s usually what happens – though my example may more easily result in a stack or register overflow, now that I think of it.
Infinite loops are not so uncommon, they may arise whenever a stop condition, for some unanticipated reason, isn’t met.
Even with a good scheduler, it’s tricky to minimise the effects of one.
Oh, I like Gobolinux too. A lot.
Thank you for the good post; the UNIX philosophy IMHO has still some lessons that programmers need to learn; like the idea of keeping a programme small and simple, and focus on one task alone – if you want something more complex, glue the various parts together to create a bigger programme.
The best move done, IMHO recently was the move by Apple with Launchd; now sure, some purists may argue that it should be seperate for each part of the boot proceedure, but as one person pointed out, “if all ARE part of the proceedure, then in theory, launchd is still sticking to the ‘focus on task, and do it well'”.
Regarding the kernel, you are right; I’ve always been a bit of a micro/mach kernel fan, not from the ‘sexy’ point of view, but because of the share praticalility of it. Keeping parts out of the kernel space that aren’t important, which ensures greater stability over all.
For example, is it necessary to have the TCP/IP stack in kernel space? how about file system drivers? the VFS layer? drivers for PCI devices? lots of these shouldn’t be near it, and yet the continue to exist within the kernel. True, keeping them in the kernel can increase the performance marginally, but now that we have multi-gigahertz machine, the justification for having a FHK (F*cking Huge Kernel) is now gone.
You could call it the federation model; rather than having one super federal government, you have lots of smaller, independent states that make up the large country; the federal government controls the important stuff, whilst the rest is handled by the invidual states are they see fit.
Actually, it’s not an infinite loop.
You run that and it will finish quite rapidly I imagine.
Once it reaches ~2 billion, it’ll wrap the integer around. becoming a negative number, failing the test and quitting.
If you used: while(i != 0) it would have lasted twice as long.
Just FYI and all…
Actually, it’s not an infinite loop (…)
Maybe that’s why I added ‘result in a stack or register overflow’.
Actually I intended to write while(1); but it looked a bit quaint, never mind the fact that it would be optimised out. Then there’s while(1) i=-i;
The issue is not how to write an infitinite loop, it’s how to avoid potential ones.
easily fixed:
while(i !=0 || i=0)
done
but in windows, nt or not, you will most likely slow the task manager gui down so much that it will take you 5 min to just find the prosess.
The task manager runs with higher priority, so it would still work pretty smoothly. You’d need to do some more to bring the system down, like spawn tons of threads, allocate too many GUI objects, or of course have the program put up its priority. (The last one wouldn’t work on the few Windows boxes where users don’t work as administrators.)
Maybe that’s why I added ‘result in a stack or register overflow’.
Your code doesn’t allocate anything on the stack apart from one integer variable, so why should there be a stack overflow?
And what exactly is a register overflow? I’ve heard of register spilling, but that happens at compile time.
lets see, there is work being done on new init systems for linux (some reporting very nice results).
Yes, let’s hope they make it into the main distros soon. And lets hope they’re not heaps of shell scripts. Is Apple’s launchd free?
the directory structure may be strange yes, but how many users spend their time outside of their home directory?
Anyone accessing external storage or devices: cryptic things like /dev/hdd, /media/usb-22354g23oui4gio, /mnt/fd0 often show up in the user interface, especially unhelpfullly in error messages.
Furthermore, the byzantine structure hinders anyone trying to understand how things actually work, including developers.
bolted on graphics system works wonders. atleast better then in windows where a bad graphics driver can bring the system down.
As it can in Linux, as I’ve seen far too often. Given that
X runs as a root process and that it requires hardware access and DMA, it still has plenty opportunity to bring the system down.
as long as your not doing stuff that need sli in linux you can hit ctrl-alt-f1, log in and kill the xfree prosess.
How much use is that to anyone but Linux geeks? Apart from that, I’ve had enough freezes where even that wouldn’t work anymore. Maybe I could still have logged in remotely, great.
mandrake have shipped a solution called supermount for atleast the last 3 major distro versions.
And then there’s submount, and automount, and … . All kludgy solutions working around the fact that removable media hadn’t been designed in from the start.
i thought commandlines wasnt for the masses? ie, why make it less cryptic when its only the people in the know that will use it anyways?
If it wasn’t as cryptic more people might want to use it and would have less trouble learning and remembering it. Hell, even experienced CLIer have to use manpages all the time because command naming and options are so utterly inconsistent.
i kinda like how the cdrom door gets locked when not properly unmounted.
Yeah great, how it tells you that it can’t eject the CD because “Can’t unmount /dev/hdd”. Which is usually caused by some KDE background process still holding a handle for it. And of course it’s entirely transparent that you then have to go the command line and kill every process that looks like it might be the culprit. That kind of thing is throw-it-out-the-window frustrating for anyone non-techie.
i would like a floppy-like system with the same ability so that im sure that its safe when i remove it. but in these usb pendrive times i guess thats a pipe dream…
What for? You don’t save any time by write-caching devices like that, because you’re quite unlikely to overwrite or delete things before you unplug the device.
I don’t see the point in arguing about the stability of Windows 95. I was probably necessary at the time to have a decent compatibility with older versions. MS provided NT for those who needed stability.
If you really want to bring a system to it’s knees just run the following
#include <unistd.h>
void main (void)
{
while (1) fork();
}
Works pretty damm well. After a few seconds the system will just stop responding.
There isn’t any Unix system that I know that can survive this after a few minutes of execution.
And for Windows just do it like this,
void main (void)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
while (1)
CreateProcess( NULL, TEXT(“MyChildProcess”),
NULL, NULL, FALSE, 0, NULL,
NULL, &si, &pi );
}
the remote storage names thing is solved in gnome (and i belive kde have a similar system), either the devices have a existing icon (cdrom, floppy) or gets one created at moment of insertion. apple does the same in mac os x.
allso, its been some time since i have seen a fd0 in a mount directory. more likely its named floppy. and cdroms are named cdrom0 and onwards.
hmm, your right about xfree running under root. i had sadly forgotten about that. thats one thing that needs to be solved.
and yes, hard locks can happen. i belive i stated that it would only work if it was the window manager that had hung and not xfree itself when i talked about the key combos. as for newbies not knowing about it? i recall seeing newbies that dont even know about ctrl+alt+del (maybe thats the reason why microsoft put a mouse shortcut to their task manager in the rightclick menu of the taskbar). ie, there is nothing intuitive about a computer the moment you move away from the gui and the mouse as you cant print all the effects of diffrent key comboes on the keys themselfs. maybe we should have a big set of specialized keys? didnt a former apple man push for a similar solution?
as for removable media, is the microsoft way any better? being able to rip the media out in the middle of a read operation is not my idea of good design from a usability standpoint.
and the only time i have seen experienced cli users head for the man files is when they are fireing up a command they have not used in a while. how is that diffrent from clicking wildly at a gui or hitting f1 and hopeing that it opens on a relevant page? if its command options you want then type the command followed by –help. 99% of the commands in linux should give you a rundown of options and their effects. only real “solution” to this is wizards and they can be done both as text and gui.
the thing is that no computer os at this time is usable from 0 knowledge, no matter what apple or microsoft or anyone else is trying to tell you. only way that can happen is that you can allways query the system for more info in a simpel manner (like say telling it to explain something by talking to it). you can not yet interact with a computer like you interact with another human being. hell, people even have trouble figureing out programming video recorders.
want to use something, learn how.
The task manager runs with higher priority, so it would still work pretty smoothly.
It _should_. It doesn’t. 16-bit VB applications have this tendency to make the system crawl almost to a halt when they crash. Just because the scheduler gives the TM a higher priority, it doesn’t mean it copes well with CPU starvation. The issue is the offending loop offers little natural switching point. The behaviour is almost like that of cooperative mt.
Your code doesn’t allocate anything on the stack apart from one integer variable, so why should there be a stack overflow?
You never know what the compiler’s gonna make of it.
As for register overflow, that’s just what you described. Isn’t it a sensible enough name?
I stopped believing in the possibility when the movie was released sooner than the operating system.
The skins might be nice, but at the end of the day I’m not going to spend inordinate amounts of time and effort just to get the right kind of skin. There’s always going to be an opportunity for a third party vendor to screw certain types of windows.
I change the skins on the craptacular xp box from time to time, just to show myself that no matter how fugly it looks, it can always be made worse.
“It’s a common mistake that people still make. When microsoft originally added a TCP/IP stack into Windows it was indeed the BSD stack, however this was just a stopgap situation. Microsoft went and wrote their own TCP/IP stack which debuted back around NT 4 or thereabouts.”
Common, but maybe not a mistake, i have not seen the win32 ip stack, have you ?
Try reading this,..
http://www.insecure.org/nmap/nmap-fingerprinting-article.html
or maybe just this,..
TCP Initial Window — This simply involves checking the window size on returned packets. Older scanners simply used a non-zero window on a RST packet to mean “BSD 4.4 derived”. Newer scanners such as queso and nmap keep track of the exact window since it is actually pretty constant by OS type. This test actually gives us a lot of information, since some operating systems can be uniquely identified by the window alone (for example, AIX is the only OS I have seen which uses 0x3F25). In their “completely rewritten” TCP stack for NT5, Microsoft uses 0x402E. Interestingly, that is exactly the number used by OpenBSD and FreeBSD.
Your code doesn’t allocate anything on the stack apart from one integer variable, so why should there be a stack overflow?
perhaps he forgot the rest of his recursive function? 😛
S provided NT for those who needed stability
*snicker*
Just because the scheduler gives the TM a higher priority, it doesn’t mean it copes well with CPU starvation. The issue is the offending loop offers little natural switching point.
The timer interrupt doesn’t care what kind of program it’s interrupting, so no “natural switching point” needed.
I haven’t seen this problem on NT or XP, but then I don’t use them that much. If there is a problem, the reason isn’t simple CPU starvation.