Slashdot Mirror


Will Pervasive Multithreading Make a Comeback?

exigentsky writes "Having looked at BeOS technology, it is clear that, like NeXTSTEP, it was ahead of its time. Most remarkable to me is the incredible responsiveness of the whole OS. On relatively slow hardware, BeOS could run eight movies simultaneously while still being responsive in all of its GUI controls, and launching programs almost instantaneously. Today, more than ten years after BeOS's introduction, its legendary responsiveness is still unmatched. There is simply no other major OS that has pervasive multithreading from the lowest level up (requiring no programmer tricks). Is it likely, or at least possible, that future versions of Windows or OS X could become pervasively multithreaded without creating an entirely new OS?"

657 comments

  1. It makes sense with multi-core cpus by Thaidog · · Score: 5, Informative

    OSes like BeOS and Zeta are ahead of their time. With 8 core cpus coming out soon it just makes since with this technology... no programming tricks are needed.

    --

    ||| I still can't believe Parkay's not butter.

    1. Re:It makes sense with multi-core cpus by GizmoToy · · Score: 1

      It's true. Unfortunately it seems that a pretty significant rewrite of the current OSs would be required to achieve this level of responsiveness. Since it hasn't been done to date, here almost 10 years later, my hope is not high for such a feature any time soon.

    2. Re:It makes sense with multi-core cpus by wmeyer · · Score: 1

      And neither BeOS nor Zeta remain available.

      It's a pity, as BeOS was pretty stunning on a 400MHz Celeron.

      --
      --- Bill
    3. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 4, Interesting

      too true. The linux kernel beats the beos kernel in threading benchmarks, but the entire Be OS GUI stack (kernel, display, windowing, controls) were designed with multithreading in mind. X/KDE/GTK et al are relics based on 1986 era computing.

    4. Re:It makes sense with multi-core cpus by tolan-b · · Score: 4, Informative

      Haiku is coming along very nicely though, and it's open source.

    5. Re:It makes sense with multi-core cpus by LiquidCoooled · · Score: 4, Funny

      Haiku from BeOS
      Multitasking all programs without delay
      Open source victory

      --
      liqbase :: faster than paper
    6. Re:It makes sense with multi-core cpus by Your.Master · · Score: 4, Funny

      Five, Seven, and Five That's how a Haiku should go Not like you did it

    7. Re:It makes sense with multi-core cpus by LiquidCoooled · · Score: 2, Insightful

      ffs, nitpicking git :P
      v2:

      Haiku from BeOS
      Multitasking all programs no delay
      Open source for the win

      (5-7-5 syllables)

      --
      liqbase :: faster than paper
    8. Re:It makes sense with multi-core cpus by Your.Master · · Score: 1

      That would have made more sense if I had remembered to change "HTML Formatted" to "Plain Old Text"

      Five, Seven, and Five
      That's how a Haiku should go
      Not like you did it

    9. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      Anyone got a torrent or something of Zeta 1.5? Seems impossible to obtain, legally or otherwise

    10. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 1, Insightful

      How on earth did you fit "multitasking all programs no delay" into seven syllables?

    11. Re:It makes sense with multi-core cpus by LiquidCoooled · · Score: 1

      Cos I'm crap and fail at English obviously.
      Good job I am a software developer and not an English teacher isn't it?

      --
      liqbase :: faster than paper
    12. Re:It makes sense with multi-core cpus by TheRealMindChild · · Score: 4, Funny

      Good job I am a software developer and not an English teacher isn't it?

      I don't think so.

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    13. Re:It makes sense with multi-core cpus by man_of_mr_e · · Score: 2, Insightful

      The important thing to keep in mind is that BeOS was not a mature OS. In many ways, they had done just enough to get it going. My guess is that once they had the resources, it would have fattened up to the size of OSX or Windows easily, and all that performance you saw when it was young and new would go out the window.

      BeOS had a lot of problems as well, for instance the OS was written in C++, which meant that when you wrote drivers, they had to be in C++. The software loaded fast, because it wasn't very mature. It was like loading notepad or kedit. Simple and easy, but once big apps were running on it, they wouldn't be quite so snappy as they loaded in the dozens or maybe even hundreds of components.

    14. Re:It makes sense with multi-core cpus by anotherzeb · · Score: 1

      Many formats for the poetry called haiku all are just as good

      --
      Good luck sometimes arrives disguised as bad
    15. Re:It makes sense with multi-core cpus by anotherzeb · · Score: 1

      Many formats for
      the poetry called haiku
      all are just as good

      --
      Good luck sometimes arrives disguised as bad
    16. Re:It makes sense with multi-core cpus by vought · · Score: 1

      It's a pity, as BeOS was pretty stunning on a 400MHz Celeron.


      Hell, it was impressive on a 75MHz PowerPC 603, and mind-blowing on a 132MHz PowerPC 604.

      Too bad about it not having a printing architecture for so long, though. BeOS was an impressive demonstration - just not very productive.

    17. Re:It makes sense with multi-core cpus by UtterRubbish · · Score: 1

      I'm sure you meant "anyone WHO" and not "anyone THAT"...

    18. Re:It makes sense with multi-core cpus by Shuh · · Score: 1

      Haiku from BeOS
      Multitasking all programs without delay
      Open source victory


      Don't worry about those meanies demanding 5-7-5. Just make a few quick edits and every thing will be fine. Here's how youdo it: pretend you are an ESL student:

      Haiku: BeOS
      Multitask without delays!
      Big Open Source win!


      There. Apologies to the original artist.

    19. Re:It makes sense with multi-core cpus by originalnih · · Score: 0

      The word five has two syllables.

      Slashdot. Where I come to feel smart.

    20. Re:It makes sense with multi-core cpus by cheater512 · · Score: 1

      And you have clearly missed the entire reason why BeOS was different and the entire point of this article.

    21. Re:It makes sense with multi-core cpus by nacturation · · Score: 1

      ffs, nitpicking git :P
      v2:

      Haiku from BeOS
      Multitasking all programs no delay
      Open source for the win

      (5-7-5 syllables) Hai-ku from Be-Oh-Ess (6 syllables)
      Mul-ti-tas-king all pro-grams no de-lay (10 syllables)
      O-pen source for the win (6 syllables)

      Methinks you don't understand what a syllable is.
      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    22. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 5, Funny

      Seven syllables
      Not seven? so use gzip
      compress the fucker


      ;)

    23. Re:It makes sense with multi-core cpus by Rodolpho+Zatanas · · Score: 1

      No, it doesn't.

    24. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      Haiku BeOS
      Multitasking no delay
      Open source will win

    25. Re:It makes sense with multi-core cpus by Merusdraconis · · Score: 1

      I tried compressing This haiku, and the result Was 'cherry blossom'.

    26. Re:It makes sense with multi-core cpus by brusk · · Score: 0, Offtopic

      And "who mommy or daddy is."

      Another example of Hartman's law in action. And yes, that was a fragment.

      --
      .sig withheld by request
    27. Re:It makes sense with multi-core cpus by UncleTogie · · Score: 1

      some miss BeOs
      multitasking sans a peer
      post a requiem

      --
      Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
    28. Re:It makes sense with multi-core cpus by Peganthyrus · · Score: 1

      Haiku from BeOS
      Multitasking, no delay
      Open source vic'try

      How you choose to read "BeOS" is a major syllable count factor. (oddly enough while I say "gee-oss" and "bee-oss", I say "oh ess eks".)

      --
      egypt urnash minimal art.
    29. Re:It makes sense with multi-core cpus by Corwn+of+Amber · · Score: 2, Interesting

      Hmm ... It depends what code would be easier to rewrite. I think that a new GUI to replace X would be a good idea, then yet-another Qt version, so KDE would work with next to no modification. Is it possible to rewrite a multi-threaded X? What would be needed to be replaced? I really don't know : do apps depend on the memory management of X and the fact that it only has one process? Or is it possible to write a fully multi-threaded X-compatible server? So there would just be that one package to rewrite... KDE/Qt has that nice signal/slot thing, it must be easy to write that in a way that makes use of multi-cores.

      --
      Making laws based on opinions that stem up from false informations leads to witch hunts.
    30. Re:It makes sense with multi-core cpus by UtterRubbish · · Score: 1

      Also, "eight-graders" should be "eighth grader's", to be pedantic :D

    31. Re:It makes sense with multi-core cpus by samkass · · Score: 1

      You seem to have missed the point of the parent poster. His point was that while BeOS's multithreading certainly improved its responsiveness, it was more due to the fact that BeOS had very little capabilities that were tying up its resources. There is a real question whether if BeOS had become commercially viable whether it would have been able to keep its performance. So the question isn't really whether other OSes need to be rewritten to be as responsive as BeOS, but where in the middle they'd all meet.

      In any case, MacOS X with each release has improved its threading, and I expect that to continue to the point where someday it's more multi-threaded than BeOS was.

      --
      E pluribus unum
    32. Re:It makes sense with multi-core cpus by jbrader · · Score: 4, Funny

      You were allowed you to graduate...

      Hahahahah! I found an error in your grammar rant, now you look even stupider than the guy you were trying to talk shit about. How does that feel you pedantic ass?

      --
      You are so boring that when I see you my feet go to sleep.
    33. Re:It makes sense with multi-core cpus by GeffDE · · Score: 2, Funny

      Otherwise it would have to be pronounced "Oh, sex."

      And that's not something many /.ers say a lot...

      --
      It has been a nervous year, with people beginning to feel like Christian Scientists with appendicitis.
    34. Re:It makes sense with multi-core cpus by dlockamy · · Score: 3, Informative

      huh? what BeOS are you talking about?

      libroot was in C, the api was all c++, but there was still a nearly posix subsystem in place via libroot.

    35. Re:It makes sense with multi-core cpus by djdavetrouble · · Score: 2, Funny

      ow you choose to read "BeOS" is a major syllable count factor. (oddly enough while I say "gee-oss" and "bee-oss", I say "oh ess eks".)

      I always thought "Be-OS" sounded more gangsta, kinda like bee-yotch or bee-atch or however you spell something that is a slang word.
      didn't stop everyone in IT from trying to make fun of me for installing it. I had a friend that developed on the platform, doing some kiosk
      type work, which it was well suited for. I had it running the cool particle graphics program, attraction, which also attracted people.

      --
      music lover since 1969
    36. Re:It makes sense with multi-core cpus by fractoid · · Score: 3, Funny

      Haiku samurai
      Shows us all how it is done
      Educational.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    37. Re:It makes sense with multi-core cpus by TeraCo · · Score: 1

      I'd recommend Be-os as two syllables! I can't help with the last line though.

      --
      Not Meta-modding due to apathy.
    38. Re:It makes sense with multi-core cpus by God_Retired · · Score: 1

      1700's?? I don't think women were allowed to be literate openly back then. The first woman poet I can think of is Emily Dickonson (sp?). Anyway, I liked her stuff. Maybe because I'm a little autistic and lonerish.

    39. Re:It makes sense with multi-core cpus by billcopc · · Score: 5, Insightful

      I don't understand this logic that a "full featured" operating system has to be slow. What the hell are you OS designers doing that's eating up all the juice ? Just because Windows XP preloads a gazillion binaries doesn't mean it's a good idea.

      An operating system's job is to mediate access to hardware and software resources. The fact that every modern OS is madly bloated is just proof that the world's OS developers are ADHD suburban twits getting lazy and gratuitous with fluffy GUI features, when really they should be focusing on two core things: device drivers and the almighty scheduler.

      Just think about it: Windows Vista is, on average, 10% slower than XP for generic tasks and gaming. Why the hell is that ? Someone fucked with the kernel and stuck things in it that don't belong there, like that ever-annoying popup security model.

      It's like any other optimization job: you tighten the hell out of the most frequently-called code snippets like the scheduler and memory manager. If your scheduler is so contorted and polluted that it can't even fit in the L1 Cache anymore, you should be beaten with your keyboard!

      The BeOS guys probably had a plan, along with some good brains and coding skill, and they stuck to that plan. If a feature isn't in the plan, it doesn't get coded; the system stays lean and fast, and you let the application developers handle all the shiny stuff. That's how it used to be, and still is in some circles... but not Windows nor Linux. That's where we went wrong.

      --
      -Billco, Fnarg.com
    40. Re:It makes sense with multi-core cpus by originalnih · · Score: 0

      f-ive. Two discernable syllables. Think about how many audible consonants there are.

    41. Re:It makes sense with multi-core cpus by originalnih · · Score: 0

      "Not", "like" and "did" also have two syllables each.

    42. Re:It makes sense with multi-core cpus by F34nor · · Score: 1

      pedantic musings
      alight on threads of thought
      wisdom brings sadness

    43. Re:It makes sense with multi-core cpus by Jeremi · · Score: 2, Informative
      BeOS had a lot of problems as well, for instance the OS was written in C++, which meant that when you wrote drivers, they had to be in C++.


      This is incorrect -- kernel code under BeOS was written in C. It was possible to use C++ in BeOS kernel mode code if you knew what you were doing and what to avoid (e.g. exceptions) but it wasn't recommended.


      If you wanted to write a decent userland app in BeOS, OTOH, C++ was your only real choice.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    44. Re:It makes sense with multi-core cpus by Kadin2048 · · Score: 1

      I don't understand this logic that a "full featured" operating system has to be slow. What the hell are you OS designers doing that's eating up all the juice ? Just because Windows XP preloads a gazillion binaries doesn't mean it's a good idea.

      Two words: Marketing department.

      As soon as a tech company acquires one of those, the follow a pretty much predictable ballistic arc, based on how much velocity they had at the time they got one.

      --
      "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
    45. Re:It makes sense with multi-core cpus by Carewolf · · Score: 3, Informative

      KDE/Qt has that nice signal/slot thing, it must be easy to write that in a way that makes use of multi-cores.

      It is! In Qt4; it has transparent thread-safety across signals and slots, making it very easy to write multithreaded Qt4 applications. KDE is a little behind, but KDE4 is still going to be more multithreaded than KDE3.
    46. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      Did you misspell her name (Dickinson), or I'm an
      idiot and you're talking about someone else ?

    47. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      Perhaps you slid through school because of who mommy or daddy are.

      Perhaps you slipped through school because of who mommy or daddy were.

      Slid is to remain in contact with a surface.
      Slipped is to pass-by or pass along, and still is not entirely correct in context.
      Maybe;
      Perhaps you coasted through school because of who mommy or daddy were.

      Also "through" implies past tense which "are" does not match. Stating those facts in that form implies your past scholastic achievement depended on your current parents. Also "are" or "were" should not be placed at the end of a sentence, verb then subject not subject then verb. But "are" and "were" just do not work in this context even with rearranging so:

      Perhaps you could coast through school because of your mommy or daddy.

    48. Re:It makes sense with multi-core cpus by sg_oneill · · Score: 1

      Your middle stanza
      has not enough syllables
      You fail at Haikus

      --
      Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
    49. Re:It makes sense with multi-core cpus by Yetihehe · · Score: 1

      No quack.

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    50. Re:It makes sense with multi-core cpus by moosesocks · · Score: 2, Funny

      Haikus are easy.
      But sometimes they don't make sense.
      Refrigerator

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    51. Re:It makes sense with multi-core cpus by prionic6 · · Score: 1

      so worthless it is
      without mentioning summer,
      winter, spring or fall

      Actually even if you do it's still not really a haiku.

    52. Re:It makes sense with multi-core cpus by bytesex · · Score: 1

      The first woman poet was Shakespeare, man ! Or was it Marlowe ?

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    53. Re:It makes sense with multi-core cpus by nickos · · Score: 1

      I say "oh ess eks".)
      The correct pronounciation is "oh ess ten".

      From Wikipedia:

      The character X is a Roman numeral and is officially pronounced "ten".
    54. Re:It makes sense with multi-core cpus by man_of_mr_e · · Score: 4, Informative

      There are many factors that define the performance of an OS. One of them is the number of features it provides, and another is the timetable in which said features are delivered. Yet another is legacy compatibility.

      BeOS was new. It didn't have to be compatible with anything. But give it 10 years, and 2 Gazillion hacks to let old software continue to work. Give it hundreds or thousands of features, many of which are probably no longer even used by many people, but still have to be there because some small subset needs them. Give it features built upon other features and security patches upon other patches.

      Commercial software vendors seldom have the ability to ship software when it's ready, they have to meet timelines. Look at OS X, each new release cycle takes longer and longer because as the OS matures, it takes more and more time to wade through the existing code to change it. It gets slower because more conditionals have to be added to check for compatibility or security issues, or because it needs to do more than it used to.

      Linux (the kernel), on the other hand, seems to get better and better, faster and faster, with each new release. There is a reason for that, though. No commercial pressure to release, they can set an arbitrary release date and simply ship whatever features are ready, and do so relatively frequently because they don't have to worry about a large and complete OS release, just the kernel.

      Distro vendors, on the other hand, seem to be taking longer and longer between releases (not counting Debian, which has always been glacial), because as the body of software grows, it takes more and more work to maintain it. Distro quality depends largely upon how long they spend stabilizing releases.

    55. Re:It makes sense with multi-core cpus by Runefox · · Score: 1

      That's nice, but I don't want to waste any more than a syllable and a half on Apple. :P

      Awsex is how I pronounce it. Oh-ess-ten is way more effort than deserved.

      --
      Screw the rules, I have green hair!
    56. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      Sa-mu-ra-i, four mora, ha-i-ku, three mora. You've got a 7-7-5 there, if I've ever seen one.

    57. Re:It makes sense with multi-core cpus by beckerist · · Score: 1

      Here we go:

      BeOS Haiku
      Multitasking all programs
      Open source takes all!

    58. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      lol wtf ive wroked for the easports making the greates intarweb nfs multiccore fucker stfu lol

    59. Re:It makes sense with multi-core cpus by dintech · · Score: 2, Funny

      Otherwise it would have to be pronounced "Oh, sex."

      And that's not something many /.ers say a lot...

      Are you sure? "Oh, sex, where art thou?"

    60. Re:It makes sense with multi-core cpus by The+Spoonman · · Score: 1

      An operating system's job is to mediate access to hardware and software resources.

      1982 called...it wants its OS definition back.

      But, seriously, could you provide a link to this OS you've designed? Sounds like you've put together something pretty amazing that the rest of the world has just overlooked.

      --
      Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
      http://www.workorspoon.com
    61. Re:It makes sense with multi-core cpus by jandrese · · Score: 2, Insightful

      IMHO, the primary reason BeOS died is that they never got a real web browser working on it, at least not until it was too late. The web was exploding right around that time and the lack of a web browser was the kiss of death. Worse, it was a pain in the rear to compile Open Source apps on BeOS, the library support was incomplete and apparently there was some weirdness with the socket layer (which you need when you write an internet application). There were efforts to port open source projects to BeOS, but they were always slow with the internet applications.

      Most of my experience comes from a roommate I had in college who used it. He liked showing off how he could play 4 mp3s simultaneously (the OS I was using, FreeBSD, had difficulty playing any MP3s at the time), but other than that he was always lacking for application support. I wanted to try it out once, but the hardware support was too picky for my meager budget--I would have had to buy a bunch of new hardware just to get stuff that was supported, which I couldn't afford.

      --

      I read the internet for the articles.
    62. Re:It makes sense with multi-core cpus by BobPaul · · Score: 1

      I dunno, but I pronounce it Bee-O-S, so 3 syllables.

      v1:
      6 -- Haiku from BeOS
      11 - Multitasking all programs without delay
      6 -- Open source victory

      v2:
      6 -- Haiku from BeOS
      9 -- Multitasking programs no delay
      6 -- Open source for the win

      v3:
      5 -- BeOS Haiku
      7 -- Multitask for no delay
      5 -- Victoriously

      truthfully, I prefer v1, even if it's a false Haiku.

    63. Re:It makes sense with multi-core cpus by spun · · Score: 2, Funny

      Otherwise it would have to be pronounced "Oh, sex."

      And that's not something many /.ers say a lot... Yes it is. As in: "Oh, sex. I had that once," or "Oh, sex. I know what that is, I read about it in a book!"
      --
      - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
    64. Re:It makes sense with multi-core cpus by flaming-opus · · Score: 1

      No, the fact that every modern OS is bloated and inefficient comes from having to support legacy software, on a large range of existing hardware, and for a wide variety of users/customers all with their own specialized demands.

      When I think about the tiny and elegant microkernels and nanokernels that run some embedded devices and supercomputer nodes, the reason they can be written as such, is that the developer is able to say: "No compilers or linkers will be run on this OS. VIM is forbidden. There are only eight I/O devices and we aren't adding any more. No you may not connect this to your keyfob or graphics tablet."

      AT&T tried to rewrite unix more elegantly. It's called plan9, and noone runs it because you can't install your favorite X-based web browser. Microsoft tried to write a microkernel VMS; It was called WindowsNT 3.1. It sucked so bad they had to rewrite it as a monolithic kernel in the next versions.

      Users want clean and fast, but aren't willing to give up very much in exchange for that. They want to install every piece of old hardware they've ever purchased. Users want to run old software. Beos is still out there. You can run it if you want to. Are you willing to give up firefox, and your ogg-player, and openoffice? Are you willing to give up your wireless mouse? Unless you see a large number of slashdot dorks running clean elegant OSes, don't expect normal users to make that sacrifice.

    65. Re:It makes sense with multi-core cpus by WilliamSChips · · Score: 1

      This haiku has the
      power to defy the meter
      in the middle line.

      --
      Please, for the good of Humanity, vote Obama.
    66. Re:It makes sense with multi-core cpus by WilliamSChips · · Score: 1

      A bare-bones Gentoo system is very, very fast, and it's not because of compiler optimizations, it's because of a much smaller number of daemons than other distros by default.

      --
      Please, for the good of Humanity, vote Obama.
    67. Re:It makes sense with multi-core cpus by Surt · · Score: 1

      The reason to think that beos would become slow when its apps reached maturity is that mature apps on other platforms can use 100% of a quad core cpu with no difficulty, and small overhead from threading. Threading capabilities in the OS just aren't the choke point.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    68. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      not only multithreading was great. Do you remember the replicant (little part of programme that coud be exchanged from on app to the other) gadget and widgets where already in BeOS, Also I remember a ball bouncing from a window to the other if I am right it was done by giving a thread to another programme.

    69. Re:It makes sense with multi-core cpus by The+Spoonman · · Score: 1

      The same can be said of a properly setup XP/2003/Vista install as well. After shutting down all unneccessary services in XP, it uses less memory than my Gentoo box.

      --
      Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
      http://www.workorspoon.com
    70. Re:It makes sense with multi-core cpus by TheNetAvenger · · Score: 1

      think about it: Windows Vista is, on average, 10% slower than XP for generic tasks and gaming. Why the hell is that ? Someone fucked with the kernel and stuck things in it that don't belong there, like that ever-annoying popup security model.


      These are FUD or myth figures. Vista is actually faster than XP in 99% of tests when the system has 1GB of RAM to take advantage of the new caching system.

      The only area where Vista HAS EVER been 10% slower than XP is in Video games, and this is in FRAME RATES. So instead of 30fps you get 27fps. And even this has changed with driver updates from NVidia and ATI with some games equality XP, and MOST games being able to use higher quality of textures for that 3fps drop because of the memory virtualization of WDDM in Vista.

      I get tired of the armchair techs spouting these numbers when they are FALSE.

      So in games you can lose 10% on framerates with older drivers, but in business apps and illustration programs like Corel or AI your applications load 10x faster and redraw complex images 20x faster.

      I think the Vista trade off is quite good in comparison to XP.

      As for the performance of Vista being in the kernel, you have no idea about the NT/Vista kernel and changes made, as the scheduler and performance in Vista is also significantly faster than XP and even BSD Linux and OS X, where a single CPU system CAN show 8 movies at once with no UI sluggishness and full system responsiveness, just like the concepts of BeOS once touted.

      Maybe it is time some of these armchair techs actually PAY attention or use Vista and stop assuming it performs like Win98.

    71. Re:It makes sense with multi-core cpus by Eli+Gottlieb · · Score: 1

      The fact that every modern OS is madly bloated is just proof that the world's OS developers are ADHD suburban twits getting lazy and gratuitous with fluffy GUI features, when really they should be focusing on two core things: device drivers and the almighty scheduler. I'm a hobby OS designer who has ADHD and lives in the suburbs (involuntarily), and I design a lean microkernel, you insensitive clod!

      Actually, my microkernel design is so lean that I took the scheduler out of the kernel.
    72. Re:It makes sense with multi-core cpus by dpilot · · Score: 1

      You missed the 2 key words in his post. "by default."

      Any distribution or OS can be cranked down, services shut off, etc.

      The real problem here is that so few people make it past, "by default" and so often "by default" tends to be too bloated. Kind of makes one wish that somewhere in Settings they'd have a "Bloat-O-Meter" that you could tweak down until the system "breaks" (Doesn't do what you want it to.) than back up a notch. Really stupid interface, since so many bloat items have nothing to do with what the user wants, but at least it would be a knob that most anyone could turn.

      --
      The living have better things to do than to continue hating the dead.
    73. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      I agree entirely (nevermind being AC) about OSes missing their purpose. Not just their "core purposes" but their only purposes. This is a problem with all software in general, though. Companies have at some point decided that each piece of software needs as many features as possible, nevermind the fact that almost always those features do not reasonably correlate to the purpose of the software.

      We should have more smaller, purpose-driven programs rather then fewer generic, multi-featured programs. Then we as users can select the correct program or SET OF PROGRAMS that meets our needs, rather then be stuck with extraneous nonsense. This is especially true for basic key programs (like the O-frickin'-S)

    74. Re:It makes sense with multi-core cpus by The+Spoonman · · Score: 1

      You missed the 2 key words in his post. "by default.

      No, I didn't, I chose to ignore it for a simple reason: by "default" (in other words once you've completed a Stage 3 install) a Gentoo box is pretty much useless as it provides just enough to allow you to add more to it. Since Gentoo is completely customizable by the end user, there really is no "default". Any distribution or OS can be cranked down, services shut off, etc

      Yes, they can, so complaining about "bloat" from any OS is silliness defined.

      "by default" and so often "by default" tends to be too bloated

      Depends on your definition of "bloated". What you need and what I need are two entirely different things, vendors need to provide all the options and let the end user decide for themselves. If the enduser isn't skilled enough to know how to turn things down, they won't be skilled enough to judge performance anyway.

      Really stupid interface, since so many bloat items have nothing to do with what the user wants, but at least it would be a knob that most anyone could turn.

      Unfortunately, needs aren't linear so a knob won't work. Some people will need Subversion, Apache and CUPS, whereas some people will just need CUPS. Others will need Sendmail and CUPS, but not Apache. You're suggesting making it easy enough for everyone to understand, but complex enough that it can account for every need. You generally can't have it both ways. Most distros now include some kind of GUI tool where you just uncheck the daemons you don't need, but if you don't know what those daemons do (and don't understand the often poorly-written descriptions) you just end up running the "default". Vendors have to put out an OS so it does what the vast majority of people need. The dorks who care about getting every last meg of memory free can worry about that themselves. Personally, I couldn't care less. RAM is cheap, run it all.

      --
      Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
      http://www.workorspoon.com
    75. Re:It makes sense with multi-core cpus by daskinil · · Score: 1

      Well from what I've read alot of rewritten code in the vista kernel has been rewritten to be more threaded. Hence the benchmarks that show vista is 40% faster than XP on a core duo. I believe that over time, code will be phased out as components are rewritten to support multithreading. For different parts of the operating system it may take longer than others, and substantial rewrite may cause a number of bugs like vista is struggling with now (I have faith they'll be cleaned up nicely after a few service packs). But overall- if the need is there, someone will improve the OS's like linux or such to have pervasive multithreading. I'm sure some big companies like IBM might like to invest in getting this work done. We'll all see with time though.

    76. Re:It makes sense with multi-core cpus by TexVex · · Score: 1

      They build latticework
      And hang nothing on it
      But sensibility
      (This is not Haiku, but probably not why you think.)
      --
      Fun with Anagarams! LADS HOST, SHALT DOS. HAS DOLTS. AD SLOTHS, HATS SOLD. ASS HO, LTD.
    77. Re:It makes sense with multi-core cpus by PitaBred · · Score: 2, Interesting

      I assume those 8 movies are all small so they all fit in memory and don't let the hard drive become the bottleneck, and low-resolution so they don't engage the tilt bits? Vista may be a bit faster than XP, but that doesn't make it a useful operating system for people who want to go where they want to today, rather than go to whichever sandbox Microsoft has approved today.

      That being said, I've had multiple HD resolution videos running on my Linux laptop and desktop, flawlessly, on multiple Beryl cube sides. Vista isn't faster than Linux in any meaningful measure, and is slower in many instances because of it's insistence on DRM and encryption over INTERNAL BUSES.

    78. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      And to be even more pedantic -- no, it shouldn't, it should be "eighth graders". Plural does not have an apostrophe. Google "Bob the angry flower apostrophe".

    79. Re:It makes sense with multi-core cpus by antiMStroll · · Score: 3, Insightful
      ".. it was more due to the fact that BeOS had very little capabilities that were tying up its resources. "

      Oh bullshit. Perfect timing as well. Not five minutes ago my work desktop locked up for 45-60 seconds opening a simple HTML e-mail in Outlook and XP. As has been depressingly common with Windows for ages, having difficulties finding a remote source it simply ignored user inputs to concentrate on a network task presumably requiring well under 1% of the hardware's capabilities. Every Outlook window became unresponsive, as did server-hosted toolbars, etc.. These are architectural design decisions, not 'features' cutting off the use, unless 32-bit colour is now an extreme Windows desktop feature.

    80. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      To be a little less pedantic, yes, it should. It wasn't plural - it was possessive: "an eight-grader's grasp" is correct.

    81. Re:It makes sense with multi-core cpus by fm6 · · Score: 2, Interesting

      Nonsense. A single-threaded program doesn't magically become multi-threaded just because you're running it on a multi-core system. The programmer still needs to do "tricks" (or, hopefully, use a solid concurrency library) in order to create threads. A multithreaded program will run faster if there's more than once core, but even then it tops out if there are more cores than threads.

      Oh yeah, and if there are lots of wait states in your program so that most of your threads are idle most of the time, it doesn't matter how many cores you have.

    82. Re:It makes sense with multi-core cpus by ArsonSmith · · Score: 1

      That's it, they need to make an extended or expert or extreme version and call it OS Xe

      "Ohh, sexy!"

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    83. Re:It makes sense with multi-core cpus by ultranova · · Score: 2, Informative

      The linux kernel beats the beos kernel in threading benchmarks, but the entire Be OS GUI stack (kernel, display, windowing, controls) were designed with multithreading in mind. X/KDE/GTK et al are relics based on 1986 era computing.

      As I've understood it, X is simply a protocol, and the X server itself could be single- or multithreaded. That the current ones aren't (?) is simply an implementation deficiency.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    84. Re:It makes sense with multi-core cpus by ultranova · · Score: 1

      Five, Seven, and Five That's how a Haiku should go Not like you did it

      Criticizing it
      the Haiku of BeOS
      is just not nice.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    85. Re:It makes sense with multi-core cpus by teh_chrizzle · · Score: 1

      Haiku: BeOS
      Multitask without delays!
      Big Open Source win!

      aren't haikus supposed to end with a question?

      when i wrote them for english class in highschool i ended them all with "hey man, where's my dog?"

      --
      sarcasm:
      -noun
      1. harsh or bitter derision or irony.
    86. Re:It makes sense with multi-core cpus by drinkypoo · · Score: 1

      That should make it boot faster, but not make it run faster. And a lot of distributions are slimming down somewhat. I was surprised to find that my laptop running Ubuntu didn't have an ssh server by default, for example. Install Xubuntu and you drop all the GNOME-fatness (I use Ubuntu, mind you) and really slim it down. But anyway, when the daemons aren't doing anything, they really aren't slowing you down much unless you're running out of RAM.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    87. Re:It makes sense with multi-core cpus by godless+dave · · Score: 1

      I'd mod your comment up if it weren't already at 5.

      --
      "If it's real, then it gets more interesting the closer you examine it. If it's not real, just the opposite is true." -
    88. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      oooh. no reference to seasonal change?

    89. Re:It makes sense with multi-core cpus by 70Bang · · Score: 1


      It's known as the Greengrocers' apostrophe.

      Personally, I use CDs, DVDs, PCs. It's still legible.

      And there's also the Idiot's Acronym.

      That means if it's an unfamiliar term, treat it as an acronym.

      A good example was during the Gulf War: Scud. The media didn't know what it meant and seemingly had no interest in finding out, it was like this in the media: SCUD.

      Things such as Perl, scuba, and radar have dropped their acronym standing with capitalization, so why not other terms?

      When people (on here) proclaim, "Grammar Nazi!". This is on their first reply. They seem unfamiliar with Godwin's Law. It's a pity they invoke it so quickly in a thread. Just three messages.

      (Speaking of wars and not working on anyone's position: When Russia decided to take over Afghanistan, it took them over a decade and they limped home with their collective tails between their legs. It could easily be a repeat of Kennedy's mistake: go into Vietnam and try to "help". Look at the duration and butt kicking successors inherited. Now that we're there, we might as well clean up the mess. Otherwise, it's will be a political vacuum with all sorts of power hungry people getting sucked into it.

    90. Re:It makes sense with multi-core cpus by Viol8 · · Score: 1

      "As for the performance of Vista being in the kernel, you have no idea about the NT/Vista kernel and changes made, as the scheduler and performance in Vista is also significantly faster than XP and even BSD Linux and OS X, where a single CPU system CAN show 8 movies at once with no UI sluggishness and full system responsiveness, just like the concepts of BeOS once touted."

      On a 486? I don't think so.

    91. Re:It makes sense with multi-core cpus by lpcustom · · Score: 1

      You were allowed you to graduate with less than an eigth-graders grasp of something as simple as Haiku....
      Note to self: Don't ask this guy for a job.
      --
      Beer! It's what's for breakfast!
    92. Re:It makes sense with multi-core cpus by LWATCDR · · Score: 1

      1. What is part of the OS has gotten bigger. X Windows and KDE/GNOME are not really part of Linux or BSD they are a layer on top but everybody thinks of them as part of the OS. Want a fast OS my C64 will boot faster than any Linux or Windows Box! All that with less then one Mhz.
      2. Security costs. Virus scanners, firewalls, email virus scanners.... Yuck.
      3. Shear laziness. Sorry but it is true. We have such fast PCs that what is good enough is often far from best.
      4. Scope. Linux, BSD, and even windows run on may different CPUs for example your statment.
      "It's like any other optimization job: you tighten the hell out of the most frequently-called code snippets like the scheduler and memory manager. If your scheduler is so contorted and polluted that it can't even fit in the L1 Cache anymore, you should be beaten with your keyboard!" Would that be a 386, 486, PII , K6, Athlon, or Xeon L1 Cache?

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    93. Re:It makes sense with multi-core cpus by TheNetAvenger · · Score: 1

      assume those 8 movies are all small so they all fit in memory and don't let the hard drive become the bottleneck, and low-resolution so they don't engage the tilt bits [auckland.ac.nz]? Vista may be a bit faster than XP, but that doesn't make it a useful operating system for people who want to go where they want to today, rather than go to whichever sandbox Microsoft has approved today

      See, more FUD.

      You realize that Vista Ultimate even uses HD 1080 Video for WALLPAPER with virtually NO CPU usage, with transparent windows painting on it, right?

      And it runs concurrently with Videos playing in the foreground and even High performance OpenGL or DirectX games running inside a Window with the HD wallpaper running. You can even set the game to be 50% transparent and not lose FPS and see the freaking video playing smoothly behind it.

      I get so tired of mindless or non-experienced responses.

      Everyone bitches that MS takes other technologies and extends and embraces, but when the technology is fairly good like BeOS everyone here is so stupid to assume MS never looked at BeOS or the threading or scheduling in the OS and would have implemented good ideas from it? Give me a break.

    94. Re:It makes sense with multi-core cpus by TheNetAvenger · · Score: 1

      On a 486? I don't think so.


      Technically, no since Vista is compiled for newer CPU instructions and the 486 compiling has been depricated.

      However, Vista would hand 99% of playing these video off to the GPU scheduler in Vista which is PRE-EMPTIVE(unlike ANY OTHER OS) and the CPU does virtually NOTHING to play video like this.

    95. Re:It makes sense with multi-core cpus by sakasune · · Score: 1

      Actually that's how I started pronouncing OS X but more like 'ahs-ex'.
      And I drive an Acura RSX. I don't know how to type how I pronounce that but it's along that same lines (maybe 'ris-ex').
      I also pronounce ATM (sounds like 'atom').

      --
      "You're arguing for a universe with fewer waffles in it," I said. "I'm prepared to call that cowardice."
    96. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      How does that feel you pedantic ass?
      You forgot a comma.
    97. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      >> How does that feel you pedantic ass?
      > You forgot a comma.

      "How does that feel you, pedantic ass?"

      There. Fixed that. :)

    98. Re:It makes sense with multi-core cpus by Anonymous Coward · · Score: 0

      Except that with 8 threads, you start to run into the limitations of mutex-based synchronization. Priority inversion is in my opinion the most serious of these.

    99. Re:It makes sense with multi-core cpus by billcopc · · Score: 1

      Oh, that's too easy. The 386 had no on-die cache, so screw it. All later Intel processors have had anywhere from 8kb (486) to 32kb (P-III). Even more interesting is how the P-IV's cache dropped to 20kb. When truly profiling a piece of code, be it an OS kernel or a realtime process, the standard is to tune it for an 8+8kb cache... half data, half instruction.

      Spilling beyond the L1 cache can make a tenfold difference in loop performance if it doesn't stall much. In many cases, just reordering instructions to tiptoe around memory stalls can double or triple the speed of a tight loop. These types of optimizations become more and more important as we more toward bursty, high-latency memory like DDR2 and DDR3.

      Few people code in assembler these days, but there is definitely a need for low-level gurus in select areas of the industry, and I'm not even talking about embedded systems, just PCs.

      --
      -Billco, Fnarg.com
    100. Re:It makes sense with multi-core cpus by billcopc · · Score: 1

      Okay so why should the whole OS be bogged down because of a bunch of lazy programmers who can't read API docs ? I say make it into a microkernel or whatever you want to call it, then let the shims take care of the offending legacy apps without defecating all over the system.

      Things would run a lot smoother if we lowered our tolerance levels a teeny bit... Old app giving you problems ? Shoot it! Really need the old app, but can't run the original OS/Hardware and can't afford to update the app ? Shoot yourself, you don't belong in the fast-moving world of computing.

      --
      -Billco, Fnarg.com
  2. That's nothing... by Anonymous Coward · · Score: 4, Funny

    Back in the OS/2 days, we could format 72 floppies simultaneous with no slowdown to our 14.4 connections!

  3. Question... by Anonymous Coward · · Score: 1, Funny

    The obvious lack of software etc. notwithstanding, would Slashdot agree that BeOS was the best OS of its time?

    1. Re:Question... by cmowire · · Score: 5, Funny

      BeOS was like JFK.

      The both got gunned down before we could possibly see any downsides to them.

      There were a few architectural decisions in BeOS that I felt would have resulted in great amounts of pain and suffering 10 years later.

    2. Re:Question... by ragahast · · Score: 1

      But their plan was to do a ground-up rewrite of the OS every several years, so they could have corrected past mistakes. Too late now, of course...

      --
      .:Semper Absurda:.
    3. Re:Question... by cmowire · · Score: 5, Insightful

      I believe that's covered by "There were a few architectural decisions in BeOS that I felt would have resulted in great amounts of pain and suffering 10 years later."

      Rewriting things from the ground up, without acceptable justification, has never been an effective strategy.

    4. Re:Question... by Adult+film+producer · · Score: 0

      BeOS was like JFK.

      The both got gunned down before we could possibly see any downsides to them.


      Well technically JFK was not gunned down. He committed suicide in the limosine. A lot of idiot conspiracy theorists have tried to shift the blame to gangsta, the mafia and cia. There's even a bunch of fringe wackos that blame a library clerk for what happened. Don't let those people fool you.

    5. Re:Question... by CRCulver · · Score: 2, Funny

      The source under a Free Software license is, I should think, a prerequisite to be in the running for "best OS of its time". That's why the Hurd was the best OS of the BeOS era.

    6. Re:Question... by Bryan+Ischo · · Score: 2, Interesting

      It was not. The five hours I spent trying to get a simple modem to work in BeOS, with no OS diagnostics to guide me, and very poor support from BeOS the company, was all the proof I needed that BeOS wasn't all it was hyped up to be. I can understand that Be did not have the resources to support every piece of hardware under ths sun, but I found it inexcusable that their support for diagnostics was so incredibly rudimentary. At the time, with Linux (this was 1999 or so), if I had a problem with some hardware I could either read the source (OK Be could never match this since it was proprietary and closed-source so that's not quite fair), or look at the copious amount of system logging that would generally point to the problem (stuff in dmesg, kernel logs, /var/log/messages, lots of tools and documentation to help me out). With BeOS, I was getting pop-up dialogs that just said stuff like "Error 0xFFFFFFFF occurred", with absolutely no useful information whatsoever. It was impossible for me to diagnose the problem no matter how hard I might try because the operating system just wasn't going to give me enough information to go on.

      Also BeOS the company didn't respond at all to my requests for help with this. They provided zero technical support to me. Emails went unanswered.

      Maybe BeOS had some nice architecture, but there is more to an OS than its handling of threads - much, much more, and I think that BeOS was not even close to ready for prime time. And the developers clearly had glossed over many aspects of an operating system (such as the aforementioned error diagnostics) to get to the pretty demos that the OS was capable of.

    7. Re:Question... by Anonymous Coward · · Score: 0

      Hell no, AIX hands down.

    8. Re:Question... by Anonymous Coward · · Score: 0

      You can't be serious.
      Enough of this magical open source pixie dust bullshit. Open isn't inherently "better" than closed. More desirable, perhaps, depending. Many couldn't care less. But if you're stating your claim solely on the availebilty of the source, and throwing performance, responsiveness, application support, ease of use, etc out the window, to be quite frank, your assessment is as baseless as it is useless.

    9. Re:Question... by iluvcapra · · Score: 5, Interesting

      This is good, I like this political stuff:

      MS-DOS 1.0 was Herbert Hoover, aloof to the problems of the common man but friend of the engineer in all of us. Also discovered Transformers.

      Mac OS 7-8-9, all Franklin Roosevelt, very competent, lead us through difficult times, but left a legacy of programs which have become quite a mixed bag.

      Windows 3.1, Dwight Eisenhower, amiable enough, competent, but leaving historians (and many contemporaries) very wanting.

      Windows 95 thru ME, Lyndon Johnson, one of the boys, very able at getting things done, but in the end a disaster, rightfully ceding his throne.

      Windows NT, Richard Nixon, the archetypal back-room politician, ruthless, and ultimately brought down by little faults, but many believe he was a great president and did much to modernize the Republican Party.

      Windows XP, Ronald Reagan, everybody who hates him never met him, he could charm anyone, the Great Communicator. Bought Iranian weapons for contras with drug money.

      Mac OS X, Bill Clinton, cheerful and smart, if not the most productive. Known for his speeches.

      --
      Don't blame me, I voted for Baltar.
    10. Re:Question... by cianduffy · · Score: 0, Flamebait

      I'd be interested as to why you were asking "BeOS the company" for support on a Be, Incorporated product, but that may be why you got little support.

      The error dialogues you describe are not possible under BeOS - as a daily user since the turn of the century, there is absolutely no component of the system that gives errors in that format. Every error dialogue allows you access to a debugger, and the OS components are not symbol stripped. All drivers and system components put large amounts of data to the syslog, which, had you contacted technical support correctly, you would have been told how to enable - its a boot-time option.

      As goes the support level, I and thousands of other users never had those problems.

      Can I suggest you've managed to acquire some false memories here?

    11. Re:Question... by Anonymous Coward · · Score: 0

      Sounds like Mac OS X... I have that same frustration with the lack of diagnostic tools every time I cannot connect to a wireless network because "An error has occurred."

    12. Re:Question... by MightyYar · · Score: 1

      There's an application called Console in /Applications/Utilities/

      It will probably give you more details than you want.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    13. Re:Question... by Anonymous Coward · · Score: 0

      I assume you ever didn't use BeOS. "Welcome to Kernel Land". I got a debugger everytime something (even the Kernel) crashed.

    14. Re:Question... by ElBeano · · Score: 1

      This is intriguing. Care to add references that interested people could follow?

    15. Re:Question... by PygmySurfer · · Score: 2, Informative

      I believe the mere fact he mentioned the HURD is sufficient proof that he was not being serious.

    16. Re:Question... by Stoutlimb · · Score: 1

      Who is Vista?

      And who was Amiga?

    17. Re:Question... by nomadic · · Score: 5, Insightful

      Vista, George W. Bush, elected because of his name, even though the prior iteration wasn't especially respected or well-liked. Introduced instability and performance issues, all in the name of "security". Many of the corporate interests who promoted him early on are having second thoughts.

    18. Re:Question... by Anonymous Coward · · Score: 0

      Bush and Ford?

    19. Re:Question... by MadUndergrad · · Score: 1

      Given the appearance of the various OS-tans http://en.wikipedia.org/wiki/OS-tan I would expect to see J. Edgar Hoover on that list, not Herbert Hoover.

    20. Re:Question... by statusbar · · Score: 1

      After a point, I think that this was not really their plan. I remember when they added dummy virtual methods in all their c++ class definitions so that they could add methods without breaking their C++ ABI. Probably the best example of why C++ was not a good plan right in the beginning.

      --jeffk++

      --
      ipv6 is my vpn
    21. Re:Question... by MiKM · · Score: 1

      Given the amount of time ME runs before crashing, I think it's more like William Henry Harrison

    22. Re:Question... by Musc · · Score: 1

      Some of us value freedom above convenience.

      --
      Hamsters are at least as feathery as penguins. HamLix
    23. Re:Question... by amper · · Score: 3, Insightful

      I disagree with the premise that there wasn't acceptable justification for rewriting things from the ground up. Remember that the key players at Be were Jean-Louis Gasse (sorry for the lack of grave or accent or whatever the French thing is...) and Steve Sakoman. Their primary prior experience was at Apple. The biggest mistake that they made was in trying to create a better Mac OS than Mac OS. What they ended up doing was creating something that looked more like a better UNIX than UNIX, except that it lacked all the things that made UNIX great in the first place. To start with, the biggest thing they left out of BeOS was multi-user capability. That, IMO, more than anything else was what led to the downfall of Be.

      I lost a bit of change on Be stock. It still pisses me off, because Be had the nucleus of a great idea, but failed to follow through.

    24. Re:Question... by Anonymous Coward · · Score: 0

      I feel ME deserves a president of it's own, but I can't think of one quite imcompetent enough for it...

    25. Re:Question... by Anonymous Coward · · Score: 0

      Quite frankly, if that really was their plan, then it was a stupid plan.

    26. Re:Question... by The+One+and+Only · · Score: 3, Insightful

      I think Windows 2000 would be Reagan for the reasons you pointed out. Windows XP would be George H. W. Bush for following in the footsteps of its predecessor while having a couple accomplishments of its own (Persian Gulf War). Vista would be George W. Bush--trying desperately to follow in the footsteps of its predecessors, security-obsessed, but overall a miserable failure with dire consequences for privacy and freedom.

      --
      In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
    27. Re:Question... by Bryan+Ischo · · Score: 1

      The specifics may be incorrect. I am working from memory here on something that happened 8 years ago. But the experience overall was exactly as I described it. Useless error messages with just numbers, no support from the company that wrote the product, etc. I did contact technical support correctly, they didn't answer.

    28. Re:Question... by Bryan+Ischo · · Score: 1

      I don't know why not, but I certainly didn't. It was definitely BeOS, I paid $100 or so for it and it was the official product.

    29. Re:Question... by Eli+Gottlieb · · Score: 1

      Is it just me, or does the contrast between the two sets of OS personifications tell us something about the difference in cultures?

    30. Re:Question... by Anonymous Coward · · Score: 0

      > I feel ME deserves a president of it's own, but I can't think of one quite imcompetent enough for it...

      Carter?

      I know the name may not be familiar; most people just call him 'that guy between Ford and Reagan'.

    31. Re:Question... by strangel · · Score: 1

      I was actually laughing at loud at how true that is. I never thought of it that way!
      I think that comparison was the best of the OS->president comparisons.

    32. Re:Question... by Vidar+Leathershod · · Score: 1

      This seems wrong to me. In 1997, when BeOS released it's "Preview Release", I downloaded and installed it on a Power Computing Powercenter 120 (an excellent machine). It not only was capable of a PPP connection using a off the shelf Zoom modem, it was easy to set up.

      Contrast this to a year later, trying to configure Redhat 5.0 for a PPP connection was a nightmare. The Python-based tools were insufficient, and the non-X tools were a pain to control.

      That first preview release was amazing in terms of speed. It could perform most of the tasks I was interested in (I never really cared about printing, so never knew it lacked it till I read someone else's complaints). Software built for it played MP3s without skipping, something not really seen back then, and could also change the pitch and play them backwards. Playing music while browsing the internet was no big deal. I couldn't really "stress" the machine. I really miss messing around with it, though I still like Mac OS X, for some things Linux is nice. But had Be survived and been in a healthy state, I think our computing experiences would be much better today.

      --
      The brains of a chicken, coupled with the claws of two eagles, may well hatch the eggs of our destruction.
    33. Re:Question... by Lorkki · · Score: 1

      MS-DOS 1.0 was Herbert Hoover, aloof to the problems of the common man but friend of the engineer in all of us.

      No offense intended, but a poor and relatively featureless CP/M clone, paired with the IBM-PC due to contractual gameplay, surely rather makes the engineer in all of us clench his coffee-stained teeth at the mere thought of it.

    34. Re:Question... by cianduffy · · Score: 1

      except the "useless error messages with just numbers" is quite clearly a different operating system.

    35. Re:Question... by Jesus_666 · · Score: 4, Funny

      Linux, Fidel Castro, the communist leader that has been in office for ages, just refuses to resign or die and points nukes at Windows from time to time.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    36. Re:Question... by Bryan+Ischo · · Score: 1

      Fine, you got me. The dialog had more than just numbers.

    37. Re:Question... by Anonymous Coward · · Score: 0

      That is so unfair. When did BeOS ever destroy an entire country's agriculture and throw napalm on children?

    38. Re:Question... by Anonymous Coward · · Score: 0

      Mac OS X, Bill Clinton, cheerful and smart, if not the most productive. Known for his speeches.

      That is not what Bill Clinton is known for, Monica!

    39. Re:Question... by Gen.Anti · · Score: 1

      The problem (for a search, at least) is not so much the accent as that the accented E is omitted. The whole name can be quickly copied from eg. WP:

      http://en.wikipedia.org/wiki/Jean-Louis_Gassée

      I've even actually looked up that it's an _acute_ accent
      http://en.wikipedia.org/wiki/É

      The grave accent goes NE-SW
      http://en.wikipedia.org/wiki/Grave_accent

      Interesting I can't put this links into Slashdot without A tags.

    40. Re:Question... by Gen.Anti · · Score: 1

      Arrgh, wrong directions for a grave accent. See Wikipedia.

    41. Re:Question... by Anonymous Coward · · Score: 0

      OS/2, Jimmy Carter, Honest and well-meaning, but in the end could not lead effectively (read poor marketing) and was replaced by the more likeable and inspiring Ronald Reagan.

    42. Re:Question... by Lproven · · Score: 1

      Such as?

      --
      Liam P. ~ "Intelligence is a lethal mutation." (me)
    43. Re:Question... by Aexia · · Score: 1

      Microsoft Bob, Gerald Ford, the Chevy Chase of Operating Systems if you will. You could argue that MS Bob wasn't really an OS, but then again, Gerald Ford was never actually elected either.

    44. Re:Question... by cmowire · · Score: 1

      Yes. A very grave mistake on your part. :P

    45. Re:Question... by Miykayl · · Score: 1

      LOL. Except the people who use Linux enjoy it and use it to further free communication. However much the U.S. (and Windows) has been going downhill in Free Speech, Cuba is NOT much of a Free Speech zone. And Linux is about as free as it gets. The O.S. is free, it's open, and it extends its freedom to the users who embrace it.

    46. Re:Question... by cmowire · · Score: 1

      By "acceptable justification" I mean things like "Oh, crap, we wrote our kernel in PL/I" or "This is littered with GOTO statements!"

      I mean, look at Copland / Taligent / etc and how it almost did Apple in.

    47. Re:Question... by cianduffy · · Score: 1

      Like, ooh, a great big "Debug" button, which brought you to a debugger which had a nice "help" output and understood the magical "bt" command?

      Sorry, I'm getting sarcastic now, but its clear that your memory is either wrong, or a different product.

    48. Re:Question... by Bryan+Ischo · · Score: 1

      My memory is wrong about the dialog. Maybe I misrepresented the actual messages I was getting. The point remains that the modem never worked, and I could not get it to work. Even if I did get an opportunity to debug the device driver or whatever it is you are suggesting, it did not help.

      I really don't understand why you refuse to believe that a bleeding edge operating system from 10 years ago might have had some difficulty with a particular piece of hardware, or why you refuse to believe that it was not solvable given the tools of the operating system at the time. I WANTED Be to work. I put HOURS into trying to get it to work. It didn't work for me.

      If it makes you feel any better, I have had tons of problems getting hardware to work in Linux too. And just because I can't remember the exact error messages I was getting in Linux, doesn't mean I am confusing it with some other operating system either.

    49. Re:Question... by Gen.Anti · · Score: 1

      I think we should just leave a note for a casual reader that Wikipedia says that this word is, in fact, pronounced "grahv". ;-D

    50. Re:Question... by Paradox · · Score: 1

      Or functionality. Or completeness.

      --
      Slashdot. It's Not For Common Sense
    51. Re:Question... by Anonymous Coward · · Score: 0

      That was brilliant

    52. Re:Question... by mdwh2 · · Score: 1

      Rewriting things from the ground up, without acceptable justification, has never been an effective strategy.

      It's worked out okay for Apple and Microsoft.

    53. Re:Question... by rgomezc · · Score: 1

      When are the mod points when one needs them??? This was maybe one of the funniest things I have heard in a long time (except from some kxcd comics, that's it).

      --
      Rodrigo Gomez
      http://photoblog.rodrigog
    54. Re:Question... by cmowire · · Score: 1

      Well, the two that stick out the most to me are being unable to change compiler ABIs without forcing the whole world to rebuild and relying on the ability to reserve entries in the vtable as a route to future compatibility. Sure it saved them from having to write their own version of COM/SOM/CORBA/etc. but it also would have put them in a nasty situation down the road.

    55. Re:Question... by drinkypoo · · Score: 1

      The biggest mistake that they made was in trying to create a better Mac OS than Mac OS. What they ended up doing was creating something that looked more like a better UNIX than UNIX, except that it lacked all the things that made UNIX great in the first place.

      The hilarious part is that this is exactly what NeXTStep did, but they did it when a new OS looked more viable, and then priced themselves out of existence.

      They, however, had multiuser support.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    56. Re:Question... by Anonymous Coward · · Score: 0

      No, the GPL is about forbidding private ownership. Read the manifesto one more time.

      Same goal as communism but restricted to software alone.

      It has nothing to do with free speech.

    57. Re:Question... by Lproven · · Score: 1

      Thanks for that!

      As far as the compiler thing goes, OK, true, but then, they /did/ that once, when they went from DR3 to DR4, or DR4 to r5, I think - they moved from Metrowerks (if I remember correctly - if it wasn't Metrowerks it was another closed-source compiler) to the GCC toolchain & ELF. No binary backwards compatibility whatsoever. But there wasn't enough S/W for this to be a big problem; those people who /had/ apps just recompiled them. But they weren't likely to have to do that again, were they? It /is/ nearly 10y later and GCC and ELF are effectively unchallenged.

      The vtable thing, I have to admit, I haven't the low-level knowledge to judge. I'm sure you're right.

      But hey, it was never designed to be the replacement for Unix, now was it?

      --
      Liam P. ~ "Intelligence is a lethal mutation." (me)
    58. Re:Question... by cmowire · · Score: 1

      But the API for BeOS is C++, not C. So it doesn't matter that ELF hasn't changed... it matters if the C++ ABI changes. And it has... The C++ ABI changed between GCC 2.x and 3.x in such a way that you could still link C-language APIs OK, but you can't link against C++-language APIs.

      So, sometime after BeOS R5, all of the BeOS developers would have needed to rebuild everything again.

      Doing a totally binary-incompatable release every few years is not an effective business plan.

  4. Microsoft's plan is to keep adding cores... by Joce640k · · Score: 5, Funny

    Microsoft's plan is for us to keep adding CPU cores in the hope that at least one of them won't be deadlocked at any given moment in time.

    --
    No sig today...
    1. Re:Microsoft's plan is to keep adding cores... by Anonymous Coward · · Score: 2, Insightful
      Microsoft's plan is for us to keep adding CPU cores in the hope that at least one of them won't be deadlocked at any given moment in time.

      Nice try with the /. friendly, but ultimately meaningless and ignorant, tirade. CPU cores don't get deadlocked, threads in a cyclic wait pattern get deadlocked. It doesn't matter which core they run on. You could have a million cores, but if two threads are deadlocked, you're still screwed as far as the program goes. And the article was about BeOS, not microsoft!

    2. Re:Microsoft's plan is to keep adding cores... by bersl2 · · Score: 1

      That was a tirade?

    3. Re:Microsoft's plan is to keep adding cores... by misleb · · Score: 1

      It isn't the CPU that gets deadlocked. It is usually two or more processes waiting on each other from events or resources. So no matter how many core you have, if explorer.exe deadlocks, it deadlocks. No number of cores will fix that. Fortunately you can usually just kill the offending processes unless it happens with some system critical process or inside the kernel or something.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    4. Re:Microsoft's plan is to keep adding cores... by Anonymous Coward · · Score: 0

      you're right. instead of a "deadlock", the post should have mentioned the core being consumed by an aggressive malware "job", or an anti-malware "job", or a spyware job,...you were right to scold him for such technical inaccuracy.

    5. Re:Microsoft's plan is to keep adding cores... by Urusai · · Score: 2, Informative

      Part of the problem is that Windows was originally a cooperative multitasking environment (like MacOS). When they added real threading (in Windows 95, I think), each application was still single threaded, which meant having the GUI and underlying processing on the same thread, making responsiveness sucky. They never bothered making the OS interface (Explorer) multithreaded, which is why on XP you can still crash Explorer and thus your entire desktop (although Explorer restarts after a few seconds).

      My experiences with Linux show it suffers big time from process hogs, especially IO process hogs, such as when you copy large directories, even with the low-latency desktop kernel options enabled, so don't think it's just a Windows problem.

    6. Re:Microsoft's plan is to keep adding cores... by Joce640k · · Score: 1

      You could have a million cores, but if two threads are deadlocked, you're still screwed as far as the program goes.

      Um, yes. Single programs can still crash, obviously. I'm guessing that's why Microsoft added a "Open Explorer windows in separate processes" option to Windows.

      What I'm talking about is when the whole machine freezes for a few seconds because a hard disk needs to spin up or because you inserted a DVD. Stuff like that. What exactly is going on there?

      And the article was about BeOS, not microsoft!

      Ummmm, the subby asked if other OSs would get ever get proper multithreading. I assumed he meant mainstream OSs.

      PS: Writing "Microsoft" with a small 'm'? How childish is that...?

      --
      No sig today...
    7. Re:Microsoft's plan is to keep adding cores... by phantomfive · · Score: 1, Insightful

      Nice try with the intelligence friendly, but ultimately lacking in humor and clueless, tirade. Threads in a cyclical wait pattern don't laugh at jokes, people laugh at jokes. It doesn't matter what country they are from, if someone on slashdot says something funny, they will get modded +5 funny of course. And the GP was about having fun and laughing, not that deep cyclical-multilocking-thread-muju-muju!

      --
      Qxe4
    8. Re:Microsoft's plan is to keep adding cores... by drsmithy · · Score: 2, Informative

      They never bothered making the OS interface (Explorer) multithreaded, which is why on XP you can still crash Explorer and thus your entire desktop (although Explorer restarts after a few seconds).

      Explorer has been multithreaded, well, basically forever. Certainly since at _least_ Windows 2000 and I'd happily wager since Windows 95 and NT4. P>The reason your Desktop disappears if Explorer crashes is because it's Explorer that is responsible for drawing the Desktop (and the Taskbar/Start Menu).

    9. Re:Microsoft's plan is to keep adding cores... by misleb · · Score: 1

      My experiences with Linux show it suffers big time from process hogs, especially IO process hogs, such as when you copy large directories, even with the low-latency desktop kernel options enabled, so don't think it's just a Windows problem.


      My experience with Linux has been the exact opposite. I could easily start a kernel compile in the background, for example, and hardly even notice it on the desktop. But then, I'm not using GNOME or KDE. Just XFCE or another relatively simple window manager. So maybe that makes a difference. Windows, on the other hand, totally bogs down when you unzip are large archive or something. *shrug*

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    10. Re:Microsoft's plan is to keep adding cores... by Anonymous Coward · · Score: 0

      Agreed, had that happen in xp the other day. Couldn't even get task manager to come up. Had to eject cd then got responsiveness.

    11. Re:Microsoft's plan is to keep adding cores... by mgblst · · Score: 1

      Nice try with the intelligence friendly, but ultimately lacking in humor and clueless, tirade. Threads in a cyclical wait pattern don't laugh at jokes, people laugh at jokes. It doesn't matter what country they are from, if someone on slashdot says something funny, they will get modded +5 funny of course. And the GP was about having fun and laughing, not that deep cyclical-multilocking-thread-muju-muju!
       
      Nice try with the /. friendly, but ultimately meaningless and ignorant, tirade. Deadlock doesn't have to be cyclical (you could have 7 cores waiting for the first, and the first waiting for the second). I am clearly an asshole. And nobody mentioned anything about fun and laughing, so you jumping to that conclusion is clearly erroneous.

    12. Re:Microsoft's plan is to keep adding cores... by Anonymous Coward · · Score: 0

      Maybe you're confusing Windows with Explorer. Running a large compile doesn't noticably interfere with the responsiveness of the system, at least in my experience. On the other hand, doing something CPU or I/O intensive in one Explorer window often interferes with the responsiveness of other UI managed by Explorer. I don't know why that it, since Explorer uses a lot of threads.

    13. Re:Microsoft's plan is to keep adding cores... by Gr8Apes · · Score: 1

      It's irrelevant if Explorer is multi-threaded or not, when it's dependency, GDI in whatever today's incarnation is, is single-threaded and just about everything runs through GDI or one of the incredibly useful shared libraries that are also single-threaded.

      Let's say you're downloading a rather large file from an Exchange server with Outlook over a slow connection. Most of your GUI functions just ceased to respond. That's a sign of a badly coded system with single-threaded dependencies.

      Think of it as 3 multi-lane freeways intersecting and the resulting gridlock when everything has to go through single lanes.

      --
      The cesspool just got a check and balance.
    14. Re:Microsoft's plan is to keep adding cores... by misleb · · Score: 1

      I use WinZip, not Explorer.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    15. Re:Microsoft's plan is to keep adding cores... by Anonymous Coward · · Score: 0

      When they added real threading (in Windows 95, I think), each application was still single threaded, which meant having the GUI and underlying processing on the same thread, making responsiveness sucky.

      Not exactly. Responsiveness is sucky when you do long-running tasks in a thread responsible for drawing. You can solve that by having more threads, but in many applications you can also solve that by not having any long-running tasks. Most apps generally go for this approach, but there are gaps. The canonical example is DNS lookups: for some stupid reason no one's ever added to libc an asynchronous resolver interface, so most applications block for the entire time it takes to do a DNS lookup. If the DNS server stops responding, your applications do, too, until they hit the (15-second?) timeout.

      They never bothered making the OS interface (Explorer) multithreaded, which is why on XP you can still crash Explorer and thus your entire desktop (although Explorer restarts after a few seconds).

      You clearly don't understand what threads are. They share memory, so they provide no protection against crashes. You might be thinking of processes. In any case, the reason you can make Explorer crash is that there are bugs in it, and in third-party plugins run from the same process space.

    16. Re:Microsoft's plan is to keep adding cores... by edxwelch · · Score: 1

      Looks like your sense of humour got deadlocked during that post

    17. Re:Microsoft's plan is to keep adding cores... by ookabooka · · Score: 1

      I believe what he meant was that a thread that goes wonky and eats up as much CPU as it can is much less noticeable on a multi-core system. If you have 1 program in a state like that on a 1 core machine, your machine is essentially unusable. If you have 3 threads lock up on a 4 core system you might not notice at all. . .

      --
      If you are about to mod me down, keep in mind that this post was most likely sarcastic.
    18. Re:Microsoft's plan is to keep adding cores... by jeremyp · · Score: 1

      Not true actually.

      Windows 95 was a pre-emptive multitasking multithreaded operating system. However, the GDI, which was the bit that drew all the graphics, was 95% identical to that of Win 3.1 which was cooperatively multitasking and the code was not reentrant. Microsoft "solved" this by protecting it with a semaphore, yes one semaphore for the whole OS. This meant that a process that grabbed it and then hung would appear to freeze the whole system because nothing else could update the display. If you could find a way to kill the errant process, everything else would leap back into life.

      WinXP traces its lineage back to Windows NT which was a completely different operating system to Win95 (written in C rather than assembler, for one thing) which had proper threading from the start. In fact, WinNT had proper support for threading before any of the *nixes including Linux (if my memory serves me correctly, it may not).

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    19. Re:Microsoft's plan is to keep adding cores... by drinkypoo · · Score: 1

      WinNT had proper support for threading before any of the *nixes including Linux (if my memory serves me correctly, it may not).

      it may or may not but one thing that is true is that Windows NT spawns threads faster than Linux, and Linux spawns processes faster than Windows NT. This is part of the "legacy of UNIX" that continues in Linux to this day; Unix was traditionally process-centric, not thread-centric. In fact threading is still somewhat problematic even on Linux (although it is so vastly better than in the earlier days of Linux that it's not even worth complaining about... almost) and the difference is not usually the kind of thing that's going to hurt your feelings. One usually tries not to be spawning and destroying threads very rapidly anyway.

      I do remember always having to go fetch a threading implementation "back in the day" to build multithreaded software on linux. IIRC MIT had a posix threads implementation, and I forget who else did.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    20. Re:Microsoft's plan is to keep adding cores... by drsmithy · · Score: 1

      It's irrelevant if Explorer is multi-threaded or not, when it's dependency, GDI in whatever today's incarnation is, is single-threaded and just about everything runs through GDI or one of the incredibly useful shared libraries that are also single-threaded.

      What single-threaded libraries ? Windows NT is, largely, multithreaded and re-entrantand has been since it's first release.

      Let's say you're downloading a rather large file from an Exchange server with Outlook over a slow connection. Most of your GUI functions just ceased to respond. That's a sign of a badly coded system with single-threaded dependencies.

      If your whole GUI grinds to a halt when you're downloading something, it's very atypical behaviour.

    21. Re:Microsoft's plan is to keep adding cores... by Rufty · · Score: 1

      Atypical? Not at all.

      --
      Red to red, black to black. Switch it on, but stand well back.
    22. Re:Microsoft's plan is to keep adding cores... by Gr8Apes · · Score: 1

      It's standard where MS is concerned. Try it sometime. It was one of the major points that people were pointing to as failures in NT 4.x onward (when the GDI two other modules were moved into kernel space and all semblance of security and user space/kernel space separation vanished). Yes, you can lock up your entire GUI, even today with the latest XP service packs (don't know about Vista - fortunately I don't have to use it). I'm not sure if you can completely lock out network access post SP2, but you certainly could prior to SP2 (VNC would drop, Remote Desktop would drop, and direct calls to ports 135-139 would time out).

      BTW, PMMail (a former OS/2 app) proved that the single-threaded behavior of the entire MS Office suite was entirely due to bad coding. Why do I say this? Because you can test the Exchange server download with PMMail and still have a highly responsive app, not to mention OS. (PMMail uses multiple threads splitting even I/O into their own threads, one for in, one for out, separated from the main app thread) No - I'm not associated in any way with PMMail, it's merely an example that shows how badly MS apps are coded with regard to multi-threadedness.

      --
      The cesspool just got a check and balance.
    23. Re:Microsoft's plan is to keep adding cores... by drsmithy · · Score: 1

      It's standard where MS is concerned. Try it sometime.

      Try what ? Multitasking ? I've been multitasking heavily in Windows NT for over a decade now and the occasions that the GUI "grinds to a halt" are few, far between, pretty much always due to some unusual even occurring (eg: hardware failure, network connectivity failure) and occur similarly in other OSes. NT's GUI/interactive responsiveness while multitasking has always been good - certainly, at *worst*, at least as good as Linux, MacOS or OS X, especially when multiple CPUs are involved (better, IMHO, which is the primary reason I use it over any of the alternatives).

      It was one of the major points that people were pointing to as failures in NT 4.x onward (when the GDI two other modules were moved into kernel space and all semblance of security and user space/kernel space separation vanished).

      Right. Because Windows NT is the only OS in the world that's not a textbook microkernel.

      Yes, you can lock up your entire GUI, even today with the latest XP service packs (don't know about Vista - fortunately I don't have to use it). I'm not sure if you can completely lock out network access post SP2, but you certainly could prior to SP2 (VNC would drop, Remote Desktop would drop, and direct calls to ports 135-139 would time out).

      So ? You can "completely lock up" just about any OS's GUI if you're being nasty enough, *especially* if you can interact with it locally with elevated privileges. Heck, if you're trying to multitask in OS X on a machine with less than a gig of RAM, it'll do it fr you a few times an hour.

      If you want to make statements about "problems", call them typical and relate them to architectural aspects of Windows, more evidence and examples, and less rhetoric, would be helpful.

    24. Re:Microsoft's plan is to keep adding cores... by Gr8Apes · · Score: 1

      It's standard where MS is concerned. Try it sometime.

      Try what ? Multitasking ? I've been multitasking heavily in Windows NT for over a decade now and the occasions that the GUI "grinds to a halt" are few, far between, pretty much always due to some unusual even occurring (eg: hardware failure, network connectivity failure) and occur similarly in other OSes. NT's GUI/interactive responsiveness while multitasking has always been good - certainly, at *worst*, at least as good as Linux, MacOS or OS X, especially when multiple CPUs are involved (better, IMHO, which is the primary reason I use it over any of the alternatives).

      I've been multi-tasking since I can't remember, and on PCs since at least 89. There was this little app called Deskview386 for x86 PCs. We're not talking about multi-tasking in context of user running one program, then another, then back to the first. We're talking about actively doing multiple simultaneous things in the CPU space. With MS software, you can break this easily because the framework is fragile.

      As for responsiveness, yes, NT based systems since 4.x have been "better" from a user perspective, primarily because they moved the GDI+ into the kernel space. Direct access to interrupts has an amazing effect on latency.... This only holds true of course when the single thread in the GDI isn't otherwise occupied.

      It was one of the major points that people were pointing to as failures in NT 4.x onward (when the GDI two other modules were moved into kernel space and all semblance of security and user space/kernel space separation vanished).

      Right. Because Windows NT is the only OS in the world that's not a textbook microkernel.

      But it is the only major OS that doesn't cleanly separate user space from kernel space.

      Yes, you can lock up your entire GUI, even today with the latest XP service packs (don't know about Vista - fortunately I don't have to use it). I'm not sure if you can completely lock out network access post SP2, but you certainly could prior to SP2 (VNC would drop, Remote Desktop would drop, and direct calls to ports 135-139 would time out).

      So ? You can "completely lock up" just about any OS's GUI if you're being nasty enough, *especially* if you can interact with it locally with elevated privileges. Heck, if you're trying to multitask in OS X on a machine with less than a gig of RAM, it'll do it fr you a few times an hour.

      Well, since I don't run any of my computers with less than 1GB these days, I can't comment on that. I'm going to guess that you're talking about when you start paging out to disk. In that case, when you suffer paging on Windows it isn't any faster or more responsive(hint: it's a disk access issue).

      What I'm talking about is that a single program (and an up to date MS program at that) doing a standard function will lock you out completely. That's not a hardware issue, that's an OS architectural issue.

      If you want to make statements about "problems", call them typical and relate them to architectural aspects of Windows, more evidence and examples, and less rhetoric, would be helpful.

      I'll give you some additional specifics of the problems with Windows. Brand new Dell Latitude 820 w/ 2GB of RAM. Damn thing won't sleep/hibernate reliably. Sometimes it does, sometimes it pretends to, other times it just locks up. It's an OS thing too, as things got even worse when running VMWare while attempting those actions. I've had it 2 months and hate it. It's my work PC, for now. It also weighs 2 more pounds than my MacBook Pro.

      Speaking of, my MacBook Pro has never failed to go to sleep when closing the lid, nor to wake up after going to sleep. I've had it 6 months and use it daily. The only GUI lockups/slowdowns are when I'm loading/paging large amounts of memory (loading iPhoto/Aperture, for instance, w/ 6K photos) I can't really argue too much over

      --
      The cesspool just got a check and balance.
    25. Re:Microsoft's plan is to keep adding cores... by Loki_1929 · · Score: 1

      "We're talking about actively doing multiple simultaneous things in the CPU space. With MS software, you can break this easily because the framework is fragile."

      Really? I have 4 monitors and am writing this within the VMware virtual machine I use for most daily tasks. Within the virtual machine, I have Google Talk, 2 Word Docs, Foxit Pro (PDF reader), and a remote desktop window open, in addition to Mozilla 1.7.x being open with 7 tabs, two of which are auto-refreshing (Gmail and cnn.com). I also have Filezilla running, which is downloading a several hundred MB gzip dump of html and php files from a web server to a network drive on the local network server. On the main machine, I have Winamp playing a playlist of mp3s, Google Earth sitting in the background with directions up on a map, Rhapsody sitting idle, Dreamweaver sitting idle, 7 remote desktop windows open to various servers, and an IE window open simultaneously displaying the video feeds from 4 Panisonic IP-based cameras we have throughout the office. In the 'real' machine, I also have 3 Mozilla windows open, with a total of about 20 tabs open to various sites. This is all running on a single-core Athlon64 3000+ with 2GB of RAM at 71% usage on Windows XP Pro SP2.

      I believe I last rebooted this machine some time in May for some security patches and to fix an odd issue with Rhapsody.

      Fragile... yeah.

      "What I'm talking about is that a single program (and an up to date MS program at that) doing a standard function will lock you out completely. That's not a hardware issue, that's an OS architectural issue."

      Which program would that be? I have not encountered a program I couldn't simply close via the task manager. Oh, wait, I have the task manager open on both the virtual machine and the main machine, so please add that to the aforementioned list. If you're having trouble with Explorer, why not simply run it in a separate process? (it's an option inside Windows, pretty easily accessible)

      "I'll give you some additional specifics of the problems with Windows. Brand new Dell Latitude 820 w/ 2GB of RAM. Damn thing won't sleep/hibernate reliably. Sometimes it does, sometimes it pretends to, other times it just locks up."

      Sounds like a machine hardware/BIOS problem; my Sony Vaio PCG-SRX77 hibernates and comes back to life without any problems whatsoever. It's ancient, only has 512MB of RAM, and doesn't have any trouble. Maybe your mistake was purchasing a Dell. Spend a little more and you might find the machine more reliable. Lenova Thinkpads are pretty decent; maybe try one of those instead?

      "It's better than when Explorer chokes on displaying a directory with 40+ zip files in it, which happens even after viewing it the first time if its cache expired that information. Which brings up another issue: what the hell is the problem with Explorer that it can't properly show the directory tree on the left nor show new files/folders in the appropriate sort order? (Just another jibe at the single-threaded nature of Explorer and the underlying supporting libraries)"

      Yer doin' it rong. I browse to the network drive with our daily backups of multiple servers from the past 6 months and I see about 300 zip files displaying just dandily. What, exactly, are you doing to your machine?

      "Explorer is part of the OS and the problem exists when running within its own hardware. The issues with Explorer escalate hugely if you try to view directories/files on remote systems, even 100% homogeneous MS systems."

      They do? Sounds like you have some sort of botched AD or WINS install. What's going on over there, do you need help? My misc folder on the server has about 800 files in it at this point and displays after about a 1.5 - 2 second delay. Is your network on 10 Mbit? Try going to 100Mbit. Maybe it's just congested.

      "Now I'll admit I see this issues because I do more with my computers than merely read email and browse the web. But they're typical problems that are directly rela

      --
      -- "Government is the great fiction through which everybody endeavors to live at the expense of everybody else."
    26. Re:Microsoft's plan is to keep adding cores... by Gr8Apes · · Score: 1

      Loki... appropriate name for a trouble maker, and an old nick of mine in a time prior to the internet as we know it. :)

      I note that only at the bottom do you actually address the specific scenarios that I mentioned (you balked on Outlook's issues entirely). Explorer has problems. Running it as a separate process only separates it from IE, AFAIK (but I'll give it a try) The explorer problems occur on 3 separate single workstations under admin (or any other local account) as well as in 2 separate networked business systems. Despite your insinuations to the contrary, I ditched the Windows sysops route long ago, when that abortion we now know as AD came out. I probably know more about WINS than you, unless you wrote it and dealt with the WAN deployment specification which also applies to large rollouts, but that's neither here nor there. We won't get into the rest of what I used to do regarding MS systems, lets just say that despite being more than 8 years ago most of the problems still exist as the core architecture was never fixed.

      I'll also disagree with you on OSes. Win2K was the zenith of MS OSes. XP can be trimmed down to closely approximate it, but that's as far as it goes. Despite the fact that you can run 50 different processes on a Windows OS, it still doesn't get around the fact than any Office app loading a large file across a slow network will lock the GUI, including Outlook (try opening a large PDF within Outlook with the mail sitting on an Exchange server for a very specific example). Explorer has similar issues, although I believe it doesn't categorize zip files on network shares, thus addressing your supposed counterpoint. Try opening that directory on the local machine in an explorer window. Now, for my own counterpoint, I know it's solely an Explorer issue due to the fact that from a command prompt, a 'dir' has no issues and responds quickly.

      Oh, and when the GUI lock up occurs, depending on the specifics (I'll take notes in the future) you can't bring up TaskManager. That particular app is supposed to come up no matter what (in a non domain PC you'll get it via the Ctrl-Alt_del sequence). If, however, TM is already up or a command prompt is, you can usually click on it and get to it that way if your mouse is working or via ALT-TAB showing that those two apps, for whatever reason, have separate input/output threads and don't get locked by the GDI as easily, but they still can get locked under certain circumstances. (Using either method to try to get to another app results in no response.)

      I don't write to "yell about problems that don't exist" but only to relay facts about how shoddy this steaming pile of OSes are. It doesn't need falsehoods stated about it. The truth is plenty bad enough. Oh, and our production systems in my last 8 years have all been non-MS, despite the crap IS forces us to use for our daily systems.

      --
      The cesspool just got a check and balance.
  5. Multithreaded won't be optional any more. by cmowire · · Score: 5, Insightful

    Given that most machines are already starting to come default with 2 cores, and you can fit 8 cores (2 CPUs) in a nice desktop package, it's pretty clear that it's going to be a requirement.

    It's not entirely the operating system's fault. The biggest advance of BeOS wasn't necessarily just that the kernel was designed to multithread nicely, Be also did their best to force you to write multithreaded code when you wrote a Be application.

    I suspect that the first thing that's going to become clearly a performance bottleneck is the applications. And that's not going to be fun, because there's a lot of applications out there and you can't just magically recompile them with threads turned on and see much difference. You need to synchronize the data structures for multiple threads touching them at the same time and split things up so that you can actually keep a decent number of cores busy. This is not trivial when you are talking about an app that somebody wrote single threaded in the mid 90s without any notion that threads might be useful later.

    1. Re:Multithreaded won't be optional any more. by larien · · Score: 3, Insightful
      Multithreaded CPUs are become more and more common, yes, look at Sun's Niagra with 8 cores & 4 threads per core (looks like 32 CPUs from the OS...). In the consumer desktop space, Intel/AMD both have 4-core CPUs either in the market or coming soon.

      As for applications - if you're running 5 applications, multi-cores will help without recompiling assuming the kernel's scheduler is reasonably sane and kernel writers are getting smarter at writing different schedulers. If you are running one single-threaded app, multiple cores aren't going to help you much at all. Of course, the other advantage of multi-threading apps (even on a single core) is that if the app is blocking on one thing (I/O is most common for blocking), the other threads can carry on doing work.

    2. Re:Multithreaded won't be optional any more. by cmowire · · Score: 1

      Sure, but most desktops don't run more than one or two apps at a time. So, 2-4 cores is all that you get "for free" without new apps. Sure, if I'm building a web server application, it'll scale much more gracefully, but it already scales rather gracefully.

      The big problem is that most single threaded apps *can* be made multithreaded and *can* be optimized for a more "modern" architecture. In some cases, you can also work around various hidden latencies in modern hardware (like cutting the problem set into smaller chunks that can be split across multiple cores and also can fit better into the cache) at the same time.

      The second implication of moving to many cores is that some level of NUMA is inevitable, and there are far fewer NUMA-cognizant coders than SMP-cognizant coders.

    3. Re:Multithreaded won't be optional any more. by kripkenstein · · Score: 2, Informative

      Multithreaded won't be optional any more.[...] Given that most machines are already starting to come default with 2 cores, and you can fit 8 cores (2 CPUs) in a nice desktop package, it's pretty clear that it's going to be a requirement.
      Sure, the trend towards more cores does imply that an inherently multithreaded OS makes more sense. But on the other hand, the main advantage heard about such pervasive multithreading is 'better responsiveness', and I am not sure that modern OSes are 'unresponsive' - current Linux desktops seem very responsive even when running multiple apps (except Firefox, btw, which locks up often for a second or two on intensive websites. Annoying, but still the best browser out there.)

      So, I am not convinced a rewrite of an OS just to add pervasive multithreading is a good idea. Anyhow, for those interested in that concept, there is Haiku, which is the FOSS OS inspired by BeOS. Looks like they are making nice progress (but nothing you'd want as your main productivity OS just yet).
    4. Re:Multithreaded won't be optional any more. by ShieldW0lf · · Score: 3, Interesting

      Sure, but most desktops don't run more than one or two apps at a time. So, 2-4 cores is all that you get "for free" without new apps. Sure, if I'm building a web server application, it'll scale much more gracefully, but it already scales rather gracefully.

      Are you serious? The idea is to have all your programs running all the time, and interact with them whenever you want with instantaneous response. Not to mention that most apps people run nowadays either are servers (P2P, LAN Shares, etc), clients that sit around listening to servers (IM) or querying them with frequent regularity (Email Client). And the progression is towards having personal servers that you can connect to using either a local or remote client.

      The next generation of computing is going to come from the vast multitude of developers who are accustomed to writing client-server applications applying what they know to computers that behave like a server cluster. They are better equipped to approach the problems and rewards of this architectural progression than the guy who has been working in the traditional application space. Now, that's a generalization that's full of exceptions, but it'll be still be proven true on the wider scale.

      --
      -1 Uncomfortable Truth
    5. Re:Multithreaded won't be optional any more. by TheRaven64 · · Score: 2, Interesting
      How many applications do you run that peg a single core at 100%? I use three:
      • GCC.
      • Final Cut Express.
      iTunes used to be on that list when ripping CDs, but since my last upgrade the CD drive has become the bottleneck. GCC doesn't need to be multithreaded, because I can always add a -j option to my make command and run one instance of it on each code (and a floating spare one or two for when one CPU is waiting for I/O). Final Cut can consume pretty much as much CPU power as it's possible to throw at it, but anything involving video is an embarrassingly parallel problem (decompose along the time access or into macroblocks as you wish).

      There is no reason to add support for SMP machines to any program that only uses a fraction of a single core's power. If you're doing something in the background then it might be worth spawning off a worker thread to keep the UI responsive, but most other things are better handled with co-routines, which are much easier to reason about (hence the fact that pretty much every GUI toolkit uses some form of them).

      When you are not performing embarrassingly parallel computations, threads aren't such a good idea, since you end up with a lot of synchronisation issues that can be avoided by moving to an asynchronous model such as that used by Erlang.

      --
      I am TheRaven on Soylent News
    6. Re:Multithreaded won't be optional any more. by wwahammy · · Score: 3, Insightful

      Look at Windows. You realistically have somewhere in the area of 5-10 programs running simultaneously. Most of those programs take very little CPU and memory but in certain cases you will notice it. For example, the entire audio stack is service, so is UPnP, wired networking, wireless network discovery, indexing, etc.. Those things run most of the time and don't take a huge amount of resources but they do some which can lead to situations where they'll decrease system responsiveness. This isn't a standard Slashdot criticism of Windows, just an acknowledgement of the fact that usually LOTS of things are running when it seems like none are.

      As an aside, I would think that a true micro-kernel based OS would work the best using multi-core. Putting every possible function in a different process would seem to be a better use of a multi-core architecture than to have larger kernels.

    7. Re:Multithreaded won't be optional any more. by Poltras · · Score: 1

      Sure, but most desktops don't run more than one or two apps at a time. So, 2-4 cores is all that you get "for free" without new apps. Sure, if I'm building a web server application, it'll scale much more gracefully, but it already scales rather gracefully.
      You don't seem to count services/daemon/background apps. Although they are not application, they can become a large problem since there can be up to thousands of them (threads at least) running, while only one "application" is up in the foreground. And this seems to get worse every year... without a really good scheduler, the number of thread is becoming more and more a bottleneck.
    8. Re:Multithreaded won't be optional any more. by nomadic · · Score: 3, Informative

      current Linux desktops seem very responsive even when running multiple apps

      I'm guessing you never used BeOS; by comparison Linux looks weak in terms of responsiveness.

    9. Re:Multithreaded won't be optional any more. by mikael · · Score: 1

      Sure, but most desktops don't run more than one or two apps at a time.

      For software house applications development work including documentation, it wouldn't be uncommon for somebody to be using at least four application simulataneously.
      Visual Studio for editing code, Microsoft Word for writing up the documentation, Mozilla Mail for reading/writing E-mail and viewing online documentation, and Adobe PDF reader for viewing additional documentation, not forgetting running virus scanners in the background.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    10. Re:Multithreaded won't be optional any more. by EmperorArthur · · Score: 1

      I agree. It's too bad that micro-kernel based OS's never seem to have gone mainstream.

      --
      So lets pretend that we've just completed writing this code, as opposed to having just completed sabotaging it -Altera
    11. Re:Multithreaded won't be optional any more. by misleb · · Score: 1

      As for applications - if you're running 5 applications, multi-cores will help without recompiling assuming the kernel's scheduler is reasonably sane and kernel writers are getting smarter at writing different schedulers.


      Presumably if you actually have cores to run a program on, a good scheduler woudl not be required. Schedulers are important when you're trying to share one CPU with many threads.

      For most people, "running" an application means just having it sit there in the background idle. Very few people would actually have 5 application running (in the sense of taking up CPU time). And even when they're running a single application, it is usually doesn't use 100% CPU. I can really only think of a few common tasks that might actually push a CPU. Ripping CDs, processing home videos, and perhaps Photoshop. But really intensive photoshop work is usually reserve for professionals.

      So really, you need individual applications to implement threading on large scale in order to really take advantage of all those cores.

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    12. Re:Multithreaded won't be optional any more. by misleb · · Score: 1

      I can really only think of a few common tasks that might actually push a CPU. Ripping CDs, processing home videos, and perhaps Photoshop.


      Oh, and games, of course! :-)

      -matthew
      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    13. Re:Multithreaded won't be optional any more. by misleb · · Score: 3, Insightful

      Are you serious? The idea is to have all your programs running all the time, and interact with them whenever you want with instantaneous response. Not to mention that most apps people run nowadays either are servers (P2P, LAN Shares, etc), clients that sit around listening to servers (IM) or querying them with frequent regularity (Email Client). And the progression is towards having personal servers that you can connect to using either a local or remote client.


      Are YOU serious? Not one of those applications/services you mention requires much CPU. A single CPU with a good scheduler can easily handle all of that with good responsiveness and little or no loss in overall performance. Well, in the case of Windows XP, it woudl also help to have a sane virtual memory system. A lot of the responsiveness problems you see on Win XP machines (Vista may have addressed this) is because Windows likes to swap apps out to disk when you minimize them. It has very little to do with available CPU power.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    14. Re:Multithreaded won't be optional any more. by jbengt · · Score: 1

      "Sure, but most desktops don't run more than one or two apps at a time."

      At work I'm likely to have CADD, spreadsheet, word processor, e-mail client, web browser, instant messenger, and pdf viewer open simultaneuously, each with multiple documents open.
      At home, I'm likely to only have 3 or 4 of those open at a time. (I currently have BricsCad, Firefox, Adobe Acrobat, Evolution, and Nautilis open.)
      That doesn't count background services that the OS might have running.

    15. Re:Multithreaded won't be optional any more. by tkrotchko · · Score: 1

      "Sure, but most desktops don't run more than one or two apps at a time."

      I beg to differ. Boot up Windows XP or Vista. Hit cntl-alt-del, click on "show processes for all users", then count the processes.

      That's why more processors will make your computers faster. The days of "1 or 2 applications" went away the day Windows 95 shipped.

      I'll give you a perfect example. I just went from Windows XP with a 3.2ghz P4 to a machine I built, Windows Vista, E6600 processor (2 cores at 2.4 ghz), and I use dbPowerAmp to convert music from flac to mp3. On the old machine, it took about 10-15 minutes. The new machine will handle this same task in about a minute, utilizing both cores. And if I had 4 cores, it would go twice as fast.

      I would suggest if anything, CPU architectures may consist of many smaller CPUs that allow the procesors to process ratio to get smaller.

      --
      You were mistaken. Which is odd, since memory shouldn't be a problem for you
    16. Re:Multithreaded won't be optional any more. by Nasarius · · Score: 1

      Slow IPC was a big issue until fairly recently. And at the moment, it would be a bad idea to start a new F/OSS microkernel OS, because we're only a few years away from having some very powerful "next generation" microkernels to work with. L4 is fast enough, but doesn't really do much to take advantage of the fact that it's microkernel. Coyotos is the project to watch, unless someone writes an L4.Sec implementation before then.

      --
      LOAD "SIG",8,1
    17. Re:Multithreaded won't be optional any more. by dbIII · · Score: 1

      and you can fit 8 cores (2 CPUs) in a nice desktop package

      You can get two motherboards with that side by side in a 1U unit with the power supply in the middle and a lot of little fans. It would be almost possible to do a mini-ITX 8 core system that would double as a hair dryer.

    18. Re:Multithreaded won't be optional any more. by gig · · Score: 1

      If you are looking to challenge a desktop CPU then pro audio is a great test case. A single song can have dozens of channels, and they all have to play in sync, and audio processors are virtualized, everything real time.

    19. Re:Multithreaded won't be optional any more. by kripkenstein · · Score: 1

      I'm guessing you never used BeOS; by comparison Linux looks weak in terms of responsiveness.
      That's true, I haven't had the opportunity. I have looked at videos of BeOS, though, and tried Haiku. But I guess it is possible that neither is representative enough.

      My point was that, using Linux, I don't really feel the need for it to be more responsive. But perhaps you are right, and I am just used to a certain type of responsiveness.
    20. Re:Multithreaded won't be optional any more. by Anonymous Coward · · Score: 0

      >> Of course, the other advantage of multi-threading apps (even on a single core) is that if the app is blocking on one thing (I/O is most common for blocking), the other threads can carry on doing work.

      This is nothing to do with multi-threading. This is about blocking/asynchronous programming.

    21. Re:Multithreaded won't be optional any more. by Anonymous Coward · · Score: 0

      Anyhow, for those interested in that concept, there is Haiku, which is the FOSS OS inspired by BeOS.

      What does an OS have to do to get a little recognition around here anyway? There is also Syllable, which is a FOSS OS not inspired by BeOS.

    22. Re:Multithreaded won't be optional any more. by jb.hl.com · · Score: 1

      I'm guessing you never used BeOS; by comparison Linux looks weak in terms of responsiveness.

      I'd go further: BeOS kicks just about every other desktop OS (Windows, Linux, OS X) to death with regards to speed and responsiveness. Shame it died young, there was a lot of promise there.

      --
      By summer it was all gone...now shesmovedon. --
    23. Re:Multithreaded won't be optional any more. by the_arrow · · Score: 1

      Sure, but most desktops don't run more than one or two apps at a time.

      Uhm, have you ever opened the task-manager in Windows sometimes? For extra fun, add the Thread Count column.
      It's no wonder that the relative speed doesn't seem to increase over time, as more and more processes and threads are needed just to get an empty desktop with no user applications running.
      --
      / The Arrow
      "How lovely you are. So lovely in my straightjacket..." - Nny
    24. Re:Multithreaded won't be optional any more. by Anonymous Coward · · Score: 0

      BeOS kicks just about every other desktop OS (Windows, Linux, OS X) to death with regards to speed and responsiveness. Shame it died young, there was a lot of promise there.
      Yes, shame for poor BeOS Lee...
    25. Re:Multithreaded won't be optional any more. by Anonymous Coward · · Score: 0

      "I use three:
              * GCC.
              * Final Cut Express."

      GCC counts as two: the compiler, and the program being compiled.

    26. Re:Multithreaded won't be optional any more. by Ravnen · · Score: 1

      As an aside, I would think that a true micro-kernel based OS would work the best using multi-core. Putting every possible function in a different process would seem to be a better use of a multi-core architecture than to have larger kernels.
      Why? On a system designed around threads, a process is essentially just a virtual address space and set of related resources, whereas a thread is the unit of execution. The NT kernel in Windows is heavily multithreaded, for example, and right now there are 110 threads assigned to the 'System' process (i.e. the kernel-mode components) on my PC, all executing in the same kernel address space.
    27. Re:Multithreaded won't be optional any more. by TALlama · · Score: 1

      Look at Windows.

      Do I have to?
      --

      - The Amazina Llama

    28. Re:Multithreaded won't be optional any more. by ccp · · Score: 1

      My point was that, using Linux, I don't really feel the need for it to be more responsive.

      You don't feel the need because you're now running vastly superior hardware.

      In its day, BeOS just flew in clunkers that choked to death under Gnome or KDE. So, you have to factor the years of HW evolution when reading the teary remembrances of BeOS from old farts like myself.

      And, in case you're wondering, yes, it felt like magic then.

      Cheers,
      CC
    29. Re:Multithreaded won't be optional any more. by cmowire · · Score: 1

      So? When you are running an application that manages to max out your CPU, it doesn't matter that you have 10,000 threads running on your system, it matters how many threads are running in the application that's maxing your CPU at the moment.

    30. Re:Multithreaded won't be optional any more. by cmowire · · Score: 1

      Too little, too late.

      I love microkernels. I think they are the greatest thing ever. Especially microkernels like L4 that actually have fast IPC and work nicely in ways that Mach never did.

      But, we've been "a few years away" from a good F/OSS microkernel ever since the Hurd announcement in *cough* 1990.

      The problem is that most of the big advantages of a good microkernel have been hacked, often times in a fairly ugly fashion, into the Linux kernel. So the Linux kernel is multithreaded and has asynchronous interrupts and modules and everything else. And it's not as conceptually simple as a good microkernel OS, but it works well on a wide variety of hardware, is production-grade, etc.

    31. Re:Multithreaded won't be optional any more. by Rudd-O · · Score: 1

      That tdepends on the scheduler. On Linux with the default O(1) scheduler, your assertion is true. On Windows, it isn't. If the scheduler must investigate every task every time it needs to decide whom to yield control to, then 10.000 threads have you screwed.

      --
      Rudd-O - http://rudd-o.com/
  6. No Maybe Yes by nukem996 · · Score: 1, Insightful

    Windows, No they'd have to do a require which they already tried doing and failed at OS X, Possibly but FreeBSD would have to do it first Linux, yes but probably won't happen until the 2.8 kernel since it would rework how the kernel works while making sure it still runs on older hardware. glibc would also have to include support but its much more likely on GNU/Linux being that its all open source and thus anyone can work on it.

    1. Re:No Maybe Yes by Anonymous Coward · · Score: 3, Interesting

      Well, it's not really an OS issue. Sure the OS has to provide some underpinnings so that the programmers can take advantage of it. But I think most of it is already mature enough for applications to use it. Why don't they use what is already there? I mean everybody whines about how unresponsive X is. Until X is rewritten to be multi-threaded, you won't see the UI responsiveness that you see in BeOS. On your typical Linux box, X is the real bottleneck. There is no point in rewriting QT or any UI toolkit until X is fixed. You won't be able to replicate the multiple videos trick unless X is fixed first and then the applications are modified to use multi-threading to its fullest.

    2. Re:No Maybe Yes by Anonymous Coward · · Score: 0

      the *BSD std libraries have reentrant versions of all legacy single-threaded functions.

    3. Re:No Maybe Yes by someone300 · · Score: 5, Informative

      X is being fixed, thankfully (finally). There are a lot of interesting projects, including but not limited to Xegl. Xegl, is the long term goal of the X server and pretty much reduces the X server to a tiny part of the system, basically mediating the input devices, rotation and display management and TCP/over-the-wire GL, if I understand correctly, by using the Embedded GL specifications.

    4. Re:No Maybe Yes by PacoTaco · · Score: 4, Funny

      This is a multithreaded comment, right?

    5. Re:No Maybe Yes by Anonymous Coward · · Score: 0

      This thread is certainly deadlocked. You have your priorities inverted.

    6. Re:No Maybe Yes by diegocgteleline.es · · Score: 1

      X was multithreaded once, for a paper about how much you could gain from multithreading X. It looks like you didn't gain almost anything from multithreading. Of course, that was a lot of years ago - today it may very well have a lot of sense.

    7. Re:No Maybe Yes by Rudd-O · · Score: 1

      What multiple videos issues and responsiveness issues? I can play ten videos simultaneously just fine, X is not the bottleneck.

      Armchair architects always want to multithread X. It is USELESS to do so. X won't draw faster because of threads (since the bottleneck is the graphics card), and X does NOT BLOCK on clients (it's completely asynchronous). So shut the hell up already.

      --
      Rudd-O - http://rudd-o.com/
  7. I hope so by datapharmer · · Score: 4, Interesting

    I still hate that BeOS went belly up. It was a great operating system but was crushed before it ever got very far. The hardware support was also amazing: it would run winmodems and other windows only hardware. I've never tried writing an operating system, but I hope some of the features from BeOS make it into linux/OSX. One interesting thing to note is Be was originally a mac alternative and was only later moved to x86.

    Another cool operating system to check out is MenuetOS... it is written entirely in Assembly! Very fast boot times and the GUI and eevrything fits easily on a floppy!

    --
    Get a web developer
    1. Re:I hope so by Bryan+Ischo · · Score: 3, Interesting

      Well, just for another perspective to balance this out, I found BeOS' hardware support to be pretty poor and the operating system pretty much left you high-and-dry if your hardware wasn't perfectly supported. To whit, I tried to get a modem to work with BeOS back in the day (1999 or so) and if I recall correctly (it's been a long time), I was getting very generic error dialogs ("Error 0xFFFFFFFF occurred") with no other useful diagnostics whatsoever. I vaguely remember playing with some settings and getting rid of the messages but the modem never worked. The operating system would "think" it was working (no error messages, the OS would show that I had connected to the ISP), but it would never transmit any data. There were literally ZERO tools to help me diagnost this, and the OS refused to give me ANY information at all on what was going on.

      I distinctly remember thinking that it was very, very much like Windows in this regard. Linux was awesome because the operating system could give you a wealth of information about what it was doing, so that if you put time into it, you could diagnose and fix pretty much any problem. The tools were there for you. With BeOS and Windows, where the tools and logging would be, was simply a big empty void. There was nothing you could do if your hardware was not perfectly supported. You could not figure out what was wrong. The operating system had no facilities to support any kind of diagnosis of the problem.

      I never expected BeOS to support every piece of hardware out there. But then again, I *did* expect it to, since it was such a new and unsupported OS, provide tools to the user to let them solve problems. But BeOS didn't, and for this reason, I think that it was not a very good OS. Sure it had nice pretty demos, but I'm guessing that Be the company focused all of their efforts on the code paths necessary to enable the pretty demos, and left all of the other critically useful (and underrated) aspects of the operating system unimplemented.

      Perhaps with enough time, they could have addressed that. But BeOS, as it was, was only a cute toy, in my opinion.

    2. Re:I hope so by Anonymous Coward · · Score: 0

      Where is whit?

    3. Re:I hope so by myowntrueself · · Score: 1

      The hardware support was also amazing

      This is something that I find amazing.

      When I experimented with BeOS I installed it on a computer with some fairly standard hardware including a nice standard NIC (a 3c509 IIRC).

      When I had to download the NIC driver from the net and copy it onto a floppy disk in order to get the BeOS machine onto the network that made me wonder.

      When I then had to download a third-party application in order to access samba fileshares I began to doubt.

      When said 3rd-party application turned out to be beta and extremely flakey, I uninstalled BeOS and gave the box to a friend and said 'good luck'.

      --
      In the free world the media isn't government run; the government is media run.
    4. Re:I hope so by SkunkPussy · · Score: 1

      What idiot of a moderator marked this as redundant? The parent comment contains loads of useful information.

      --
      SURELY NOT!!!!!
    5. Re:I hope so by Queer+Boy · · Score: 1

      Be went belly-up in direct relation to Jean-Louis Gassee. He came from Apple and had the concept that an operating system had to be tied directly to a hardware manufacturer. His fault.

      --
      Not since Marie-Antoinette played milkmaid has looking simple and honest been so fake and complicated.
    6. Re:I hope so by bedouin · · Score: 1

      The hardware support was also amazing

      The hardware support definitely was not amazing. Mind you, I'm writing this as a fan of BeOS who would likely buy a PC (still using a PPC Mac) just to run Haiku when it matures. If you had the standard hardware of the day (a 3DFX card, Sound Blaster, external modem) you'd be safe, and fortunately I was without making any additional purchases. Anything other than that though and you were in trouble. For example, it only supported two network card chipsets, and if you wanted to have two NICs in one machine, neither could be using the same chipset. Frankly I'm shocked it had support for any winmodems.

      Even with my trusty external US Robotics 56k, the most vanilla of any modem you could own, I would experience an error where the carrier would drop when uploading any files greater than about 5mb. I never figured that out, and it was never an issue with any other operating systems.

      Hardware support was seriously lacking, but if you fed it the right components it was insanely stable and fun. RIP BeOS. It was my gateway drug that lead me away from Windows for good.

    7. Re:I hope so by Anonymous Coward · · Score: 0

      Have you *ever* used BeOS?

      BeOS launched debuggers (gdb is the default on Haiku) wherever anything crashed: a userland application (opened a Terminal window) or the kernel (infamous "Welcome to Kernel Land!"). So I guess that's your point out of the window...

    8. Re:I hope so by evel+aka+matt · · Score: 1

      He repeated the same exact comment further up the page, and it was debunked there.

    9. Re:I hope so by Bryan+Ischo · · Score: 2, Informative

      Yes, I used it. I paid $100 or more for it if I remember correctly. I was very excited about it, thinking it would be really cool. It definitely had nice demos. I don't know why it didn't open a debugger when I got errors trying to use the modem. I really don't. Who knows, maybe it did, and I've forgotten - it was 8 years ago. But in any regard, whereas I expected to be able to find documentation on how to configure the modem, how to manually force IRQs and DMA addresses and stuff, I found nothing. If it wasn't covered by one of the few GUI controls for that particular device, I couldn't do it. I gave up.

      Maybe there were workarounds that I didn't know about. I am not sure. All I know is I was never able to figure it out, and I went back to Linux in a hurry. It's possible that the problem was with me and that BeOS was an absolutely perfect, completely polished and bug-free product. People seem to be suggesting that's so. But my vote is "not worth it", and apparently the market agreed with me ...

    10. Re:I hope so by FFFish · · Score: 1

      The original Microware OS/9 was pretty remarkable, too. Forced one to write address-independent code, for one thing; forced one to write multi-userable code, too.

      I believe QNX is pretty neat as well.

      --

      --
      Don't like it? Respond with words, not karma.
    11. Re:I hope so by hcdejong · · Score: 1

      Why is this modded Offtopic? I use the damn OS 8 hours/day. I spend enough time looking at hourglass cursors and otherwise unresponsive UI to know that there are bottlenecks. CPU access isn't so bad these days (since W2k and XP), but I still have apps that can monopolize my single-core machine. Firefox is one of them (loading Java applets). Quadralay Webworks Publisher is another [1]. Windows disk access looks rather single-threaded to me.
      And while we're at it, the other mainstream OS (OS X) isn't scot-free in this regard. The infamous Finder network issues come to mind. Disk access is arbitrated much better than on XP, though.

      1: although that stems in part from the application forcing itself to be the frontmost window, so you can't use the computer to do anything else while WWP is doing its hour-long processing cycle.

    12. Re:I hope so by Anonymous Coward · · Score: 0

      Haiku does look interesting, and I'm saying this as someone who's working on another desktop OS. Many people seem to have selective memories about old operating systems. I bought a demo version of BEOS 5. I popped it in the day I got it and it didn't even support my video card. I had two different computers accessible at the time. One was a Packard Bell Pentium 100Mhz with a cirrus 1MB video card. I forget how much RAM was in it at that point. The other was slightly newer and built to run Linux on. I can't remember if it was a Pentium 166 or AMD K6-2 300 at that point, but I think the former. My AMD phase was at the end of my linux phase. Anyway, I found BEOS to be quite weak on hardware support. I loved OS/2 Warp 3 and 4 which had dreadful hardware support, but ran perfectly on that Packard Bell and to some degree on the P166. BEOS did seem to work better than Solaris on x86 hardware around that time period. All of the above did better than FreeBSD. I couldn't get it to run on any machine I owned until 2002 for one reason or another.

    13. Re:I hope so by drinkypoo · · Score: 1

      It's possible that the problem was with me and that BeOS was an absolutely perfect, completely polished and bug-free product. People seem to be suggesting that's so.

      Anyone suggesting that is a dirty liar. I used all the official BeOS intel releases, and for a while owned a 66MHz BeBox (nifty case, whee.) Hardware support was amazingly poor, period, the end.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  8. Threading isn't any easier when it is pervasive by mwadams · · Score: 5, Interesting

    It isn't really the pervasive multithreading that does the job on responsiveness for BeOS, and nor does having the "two threads per window" thing (which I think is what the poster is referring to in terms of "pervasive multithreading) avoid "programmer's tricks" - in fact, you have to be just as careful as if you were developing with Windows, and span up a background thread. One issue for BeOS developers was the amount of hard thinking you had to do to perform simple tasks in a pervasively multi-threaded environment, when you're still having to deal with all the pitfalls of lock-based programming.

    However, taking only a few cycles to spin up or kill a thread (rather than the 10,000 plus it takes Windows), or perform a context switch, is a significant help. (There used to be an interesting article benchmarking those things on the Be website, but I can't find it any more).

    MS have also added some more interesting stuff to the scheduler in Vista, which helps with uninterrupted sound or movie playback, so at least some of that stuff is possible without a complete redesign.

    1. Re:Threading isn't any easier when it is pervasive by PCM2 · · Score: 2, Informative

      MS have also added some more interesting stuff to the scheduler in Vista, which helps with uninterrupted sound or movie playback, so at least some of that stuff is possible without a complete redesign.

      Really? Man, tell that to my box running Vista Media Center. Media Center has a helpful (cough) habit of capturing the mouse cursor to the screen running the Media Center app. Hit the Windows key to break out of it and your video playback is interrupted for as much as 20 seconds while Windows struggles to switch screens and render the Start menu. What's more, despite the fact that Vista has been re-engineered to support multiple sound output devices, it is not possible to assign one particular device to Media Center. In other words, you cannot force Media Center to always use your SPDIF output for sound and then use the computer speakers for other apps. You MUST specify SPDIF as the default sound device for the entire OS if you want Media Center to output sound in that way. It's clear that, for as powerful and multi-thread capable as modern hardware may be, Vista Media Center was written with the assumption that your PC will become a single-purpose appliance. It's kinda pathetic.

      --
      Breakfast served all day!
    2. Re:Threading isn't any easier when it is pervasive by Lost+Engineer · · Score: 1

      The Vista part is true, but it also takes 3 times as much CPU to play a video as it did under XP. 3% to play the video, 3% to let Aero have a realtime preview of your video, and 4% to make sure you are not copying the video. Despite claims by Microsoft and others, the DRM eats cycles even when playing non-protected video. Also that process is bound to the same CPU as the video playing so good luck spreading out the load, should you ever need to.

      I understand the need for DRM to play Blu-Ray or whatever, but WTF. Why are my pirated DivX videos taking so many cycles, heating up my laptop, and forcing fans to come on everywhere.

      Cool trick for anyone experiencing this though. Use VLC for unprotected stuff. It will automatically disable Aero (current version at least), which could be seen as a bad thing, but I like it. Cycles and power used go back to XP levels. Who needs Aero when you're playing video anyways? If you want it back you can always use WMP.

    3. Re:Threading isn't any easier when it is pervasive by oggiejnr · · Score: 1

      I believe that the main reason for the increase is that, until DX10 cards become commonplace which support GPU multitasking, WMPlayer by default disables the hardware overlay to ensure that desktop does not switch to Areo Basic everytime a video is played as happens with VLC. By disabling the hardware overlay in VLC you get the same experience as in WMP.

    4. Re:Threading isn't any easier when it is pervasive by dreamchaser · · Score: 1

      I never have any stuttering or pausing problems with video playback on Vista via MC or any other means. I think you might have some other problem because it's certainly not Media Center causing it.

    5. Re:Threading isn't any easier when it is pervasive by PCM2 · · Score: 1

      Reread my post. You're probably not running Media Center on a TV with the rest of your PC running on a monitor and trying to switch back and forth between the two screens. In fact, you're probably running your Media Center PC as a single-use appliance. Right?

      --
      Breakfast served all day!
    6. Re:Threading isn't any easier when it is pervasive by dreamchaser · · Score: 1

      Nope, I read your post and I still maintain you've got some other problem. I drive a TV and a monitor from my machine and it seems to work fine. It's not my main workstation, it's more of a shared media machine for the family.

    7. Re:Threading isn't any easier when it is pervasive by cnettel · · Score: 1
      It sounds like what is actually happening is that you're disabling and reenabling Aero on the fly. This basically means that all window manangement has to be shut down and reinitialized. Don't ask me WHY Media Center needs that to go fullscreen, but it does. (So does some games when run fullscreen.) Playing just about anything else fullscreen on one monitor and working on the other presents no problems to me.

      So, I agree that this is broken, but it's not to due to bad threading but due to the fact that the seemingly simple operation you try to perform is actually one of the most complex ones the UI can do at all.

    8. Re:Threading isn't any easier when it is pervasive by profplump · · Score: 1

      Vista Media Center was written with the assumption that your PC will become a single-purpose appliance.

      Yes, it was. Hence the "Media Center" part of the name. If you a general-purpose OS that can also play video buy the version that doesn't claim to be a single-purpose OS.

    9. Re:Threading isn't any easier when it is pervasive by owlstead · · Score: 1

      "So, I agree that this is broken, but it's not to due to bad threading but due to the fact that the seemingly simple operation you try to perform is actually one of the most complex ones the UI can do at all."

      Yes. Well. I call that broken. If anything needs to go full-screen to work, something is seriously wrong. If it needs to completely restart the GUI manager for this, doubly so. Then again, as you said, it's probably not the multi-threading that is broken.

    10. Re:Threading isn't any easier when it is pervasive by PitaBred · · Score: 1

      Yet, somehow, my desktop with Beryl will play multiple HD resolution videos simultaneously without hiccuping on a 6600GT, and on my laptop with a 7600Go in it. Neither of which are DX10 class cards. Hell, I can even start up a windowed OpenGL application, too. You don't need a DX10 card to support GPU multitasking. You just need a decently structured OS.

    11. Re:Threading isn't any easier when it is pervasive by PCM2 · · Score: 1

      It sounds like what is actually happening is that you're disabling and reenabling Aero on the fly.

      Yes, that's what makes it so gruesome on Vista. But it did something similar on XP, too.

      --
      Breakfast served all day!
  9. Not gonna happen on Mac until... by Anonymous Coward · · Score: 1, Interesting

    ...QuickTime and the AppKit become threadsafe. Which might be a priority for Apple, but then again might not, given that they've had multicore machines for a long time. Cocoa doesn't lend itself well to the UNIX approach of multiple processes, so if we really want to take advantage of multiple cores, Apple's going to need to seriously step up their multithreading support.

    The AppKit docs are riddled with notes like "on the main thread" or "some thread will receive this notification". Maybe Leopard will change that.

    1. Re:Not gonna happen on Mac until... by Anonymous Coward · · Score: 2, Informative

      Apple are adding the NSOperation and NSOperationQueue in Leopard to help with creating multithreaded applications. There's no public documentation on these yet, but based on what has been told in public it seems that it's mainly a worker thread API.

    2. Re:Not gonna happen on Mac until... by Anonymous Coward · · Score: 0

      It would be nice to have AppKit be thread safe but it's not necessary for most apps. Most apps have their bottlenecks in calculations, not GUI. Cocoa makes multithreading your calculations nice and easy, with the simple performSelectorOnMainThread: call which lets you spawn off a background thread, compute, then ship the results back to the main thread for GUI display.

    3. Re:Not gonna happen on Mac until... by maztuhblastah · · Score: 2, Informative

      I realize that I may be treading on shaky NDA ground, but I can say that Leopard makes some serious advances in this respect. I don't know if QuickTime and AppKit are fully multi-threaded yet -- but I can say that they seem to be a hell of a lot closer than in Tiger. Also, xnu has had a HUGE amount of work put into it in an effort to reduce locking situations, and it seems to have paid off -- a lot of stuff that would cause a UI hang in Tiger is no longer an issue in Leopard. It also seems that CoreVideo/CoreAnimation have been written with SMP situations in mind.

      That's about all I can say without the black helicopters descending on^NO CARRIER

    4. Re:Not gonna happen on Mac until... by KAMiKAZOW · · Score: 2, Informative

      Apple spoke about multithreading in last year's WWDC "Mac OS X State of the Union" session. Apple provided a recording of that session (among two others) for free though iTunes. Since they're free, I uploaded a short clip. Once Veoh encoded that video, it will be available at http://www.veoh.com/videos/v801272G85gFFER.

    5. Re:Not gonna happen on Mac until... by drix · · Score: 1

      That's about all I can say without the black helicopters descending on^NO CARRIER ++ATDL ! :-)
      --

      I think there is a world market for maybe five personal web logs.
  10. Will Bit-Slice architecture return? by BanjoBob · · Score: 1, Offtopic

    I would like to see bit-slice systems return. I had an AMD system built around four of the 2900 4-bit slices and an old TTL Xerox Alto.

    I like them because you could microcode these to act like a whole range of different machines. Intel, Motorola, Signetics (2650), Mesa, etc. They were a lot of fun, fast and resource efficient.

    Yes, they were power hungry because of all the TTL but a single computer could be configured to be many different machines depending on what you wanted.

    --
    Banjo - The more I know about Windoze, the more I love *nix
    1. Re:Will Bit-Slice architecture return? by C.A.+Nony+Mouse · · Score: 1
      You can't possibly be serious.

      Programming a bitslice machine to faithfully emulate a modern processor architecture, including behavior in face of exceptions (yes, that is a requirement if any non-trivial software is to run unchanged) is bloody hard. In fact, even programming one modern processor to emulate another 100% correctly at the ISA level is hard enough. 95% is easy, 98% is manageable, but ...

      ... and of course, the performance level per watt even with current technology is nowhere close to what can be achieved with a custom design. Granted, there are applications that fit well in a Xilinx chip, but emulating a Pentium isn't one of them.

      --
      J
    2. Re:Will Bit-Slice architecture return? by Anne+Thwacks · · Score: 1
      Why have a slice when you can have the whole cake?

      Get an FPGA and design your own cpu - then reprogram it on the fly to be another CPU!

      Yes, one minute its a VAX, then the next its a Sparc. Then MIPS, then Arm (Arm is quite cute really) and then your own architecture (or maybe DEC10 or CDC7600). Its easy :-) its simple. Just do it (TM).

      Yes I have tried. After several years, I decided it was better just to buy a Niagara and have done with it. Sure I could do 10% better than Sun's entire hardware development team, given enough time, but I have a life!

      Hint: don't try CDC7600 first!

      --
      Sent from my ASR33 using ASCII
    3. Re:Will Bit-Slice architecture return? by DaveLG526 · · Score: 1

      Isn't that bit slice technology what Transmeta was built upon?

  11. BeOS rocked! by Anonymous Coward · · Score: 4, Interesting

    A few years ago, on a Dual Celeron 366Mhz with 256MB of RAM, I went out of my way to attempt to crash it. I opened about 120 OpenGL demos with only minor decrease in performance. After inherriting that mainboard, processors and RAM from my uncle and then increasing it to 512MB, the same test ground both FreeBSD and Linux to a halt.

    1. Re:BeOS rocked! by Ant+P. · · Score: 1

      Heh. I think I got (on a P4 + r200) about 20 glxgears windows running before Linux/X started doing strange things.

    2. Re:BeOS rocked! by zerocool^ · · Score: 1

      Wasn't that the "epic dual proc board" everyone wanted in 1999?

      I think I remember that - something about those celerons made them sickly overclockable, and the cheap models had more L1 cache than the higher clock speed ones or something. Everyone wanted that one board and two of the celerons that would overclock to 500mhz each, back in the day when the rest of us were rocking the 400Mhz AMD K6-2's and whatnot.

      ~Wx

      --
      sig?
  12. We had different programmers 10 years ago by mazphil57 · · Score: 1

    Today's programmers are not trained to write efficient code (i.e. massively parallel) using good tools, or even in making good technical decisions. The goals of "cheapest available coders" won, so now they will need to develop AI programs to generate this kind of code becuase today's group of lowest-cost "programmers" certainly cannot do it.

    1. Re:We had different programmers 10 years ago by bratboy · · Score: 4, Insightful

      Bah. Today's programmers aren't better or worse than they were ten years ago - they're just distributed differently. Programming video games on a console is an exercise in (frustration) poor tools, worse documentation, highly constrained memory / CPU / IO / bus, multiple threads utilitizing multiple specialized processors, microcode, assembly, etc. Ditto for cell phones. Not so for business applications.

      So yes, if you mean "developers of business applications aren't generally hardcore down to the metal programmers," then I'd agree with you. John Carmack and Michael Abrash would be bored out of their skulls working on UI issues for Quicken 2008. And, given their aesthetic sensibilities, they wouldn't necessarily be the best choices (just *try* to balance your checkbook).

      But if you mean that great programmers are no longer among us, then I'd say that you should change jobs, because it's more likely that they're simply not around *you*.

    2. Re:We had different programmers 10 years ago by dc29A · · Score: 4, Insightful

      Bah. Today's programmers aren't better or worse than they were ten years ago - they're just distributed differently. I am not so sure. I remember my first C++ class in college, we didn't touch C++ for at least half the semester (well almost). We learned the basics of OOP and the rest of time was spent on learning how compilers compile code. We also learned a lot of assembly. Hell, in mainframe assembly class we wrote an entire assembler. Bonus points were given to people who used their own assembler to generate the code of the assignment.

      While C++, assembly and C might no longer be "cool", it definitely teaches people how to write optimal code, how to debug efficiently, understand a wide variety of computing concepts.

      The same college today is too busy teaching C# and Java. While those languages are nice and all, not teaching low level C, C++ and assembly IMO leads to sloppy coders, people who don't understand the byte code generated, people who don't mind wasting system resources because hey ... the garbage collector will take care of it.

      I was nearly crucified when I suggested my boss to recode a piece of an application in C so it scales better than the current shitty VB COM version. He just looked through me and said: add another server! Lot of today's code is written by people who don't even understand how the code is getting executed.
    3. Re:We had different programmers 10 years ago by Anonymous Coward · · Score: 0

      GET OFF MY LAWN!!!

    4. Re:We had different programmers 10 years ago by kz45 · · Score: 3, Interesting

      "I was nearly crucified when I suggested my boss to recode a piece of an application in C so it scales better than the current shitty VB COM version. He just looked through me and said: add another server! Lot of today's code is written by people who don't even understand how the code is getting executed"

      Was it more cost effective to have a programmer recode it in C (which includes the required maintenance) or use the less optimal but easier to maintain VB COM? I'm all for using C over C#, Java, and VB, but sometimes you need to look at the situation from a business standpoint.

    5. Re:We had different programmers 10 years ago by gbjbaanb · · Score: 1

      Too true. When I was a university, I had classes in.. assembler, Pascal, Concurrent Euclid, Simula, Prolog and C! I had to suffer statistical job throughput algorithms (stats! in a comp course, were they mad? Actually no.)

      Now they teach any old crap 'cos its easy. Java for OO teaching , threading in theory only, memory constraints.. only taught in archeology classes. Shame those kids coming out of university will have to be taught how to program, but that's how it always was.

      The trend now is to reduce the number of servers by putting them in VMs, so its your boss who is killing the environment! Perhaps you ought to mention the cost in electricity and carbon involved in not making your apps more efficient.

    6. Re:We had different programmers 10 years ago by Original+Replica · · Score: 4, Insightful

      I was nearly crucified when I suggested my boss to recode a piece of an application in C so it scales better than the current shitty VB COM version.

      His reaction likely had little to do with code and alot to do with business. To managment's ears you said "This part is done, but I want to take time and money and re-do it really shiny." Now if craftsmanship meant anything in terms of the sales of software, you may have been listened to. But since the hardware companies are all too quick to step up and offer a new gizmo that will have you computer running "blazing fast", the consumer thinks that the sluggish performance is a hardware problem. The end result of all of this is the management of software companies sees little to no reason to take any more time or money than necessary to make a program clean and efficient.

      --
      We are all just people.
    7. Re:We had different programmers 10 years ago by Actually,+I+do+RTFA · · Score: 1

      Today's programmers are not trained to write efficient code (i.e. massively parallel) using good tools, or even in making good technical decisions.

      Actually, I disagree. 10 years ago, we were still manually unrolling loops in assembly to squeeze out precious cycles. Nowadays, the costs of developing and maintaining those programs in terms of programmer hours and the potential of introducing bugs just isn't worth it. My boss always tells me that "hardware is cheap"

      --
      Your ad here. Ask me how!
    8. Re:We had different programmers 10 years ago by multipartmixed · · Score: 2, Interesting

      > When I was a university, I had classes in.. assembler, Pascal, Concurrent Euclid, Simula, Prolog and C

      Concurrent Euclid? Dude, where did you go to school? U of T? In the 80s?

      I had the distinct pleasure of having Jim Cordy as a prof when I was an undergrad in the 90s. In particular, studying compilers with the man was the single most ... eye-opening ... computer-related experience I have ever had. It was the first time I REALLY "got it" -- and understood EVERYTHING that was happening under the hood as a system of disjoint events, acting together in concert.

      Actually, thinking back to the days reminds me of a funny story I haven't thought about in about a decade. I was taking first year computer science. There was a fellow in my class, smart guy, good C coder.. couldn't see the forest for the trees. In fact, he still owes me a pair of Sony headphones he borrowed about a thousand years ago. Anyhow. He stood up in class one day and asked Cordy something like "What kind of an IDIOT would design a language like TURING?".. "Well, Mr xxx... that idiot would be me".

      Haha hahaha

      I kind of miss being in school.

      But I don't miss stats.

      I do miss forging usenet control messages.

      Too bad you can't do that any more. Kids are missing so much nowadays!

      --

      Do daemons dream of electric sleep()?
    9. Re:We had different programmers 10 years ago by JNighthawk · · Score: 1

      It's Computer Science in general that's the problem. CS is for theory, which is what some people don't understand. I dunno if there are any really good non-game, programming schools out there, but you usually won't find a top-notch programming team inside of a CS program.

      --
      Wheel in the sky keeps on turnin'.
    10. Re:We had different programmers 10 years ago by nschubach · · Score: 1

      If you ever hear of one, let me know! ;)

      I've been looking for a college that actually teaches C/C++ in depth. Every school I've been in I find absolutely boring. I'm going on 30 and I've yet to be able to sit through a course where the teacher doesn't start off trying to teach you to triple click in Word or they spend two weeks on class construction. Perhaps I already know too much for college with my work experience and the Internet as my knowledge base. (Scary) ...but unfortunately, work thinks that degree is still important...

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    11. Re:We had different programmers 10 years ago by The+One+and+Only · · Score: 1

      C Factorial? Is that some obscure C variant I've never heard of before?

      --
      In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
    12. Re:We had different programmers 10 years ago by IWannaBeAnAC · · Score: 1

      Best I can think of are Indiana, and perhaps Waterloo. They have both been the source of a lot of good C++ libraries. Not sure how much of that filters down to the undergraduate courses though.

    13. Re:We had different programmers 10 years ago by the_mushroom_king · · Score: 0

      So yes, if you mean "developers of business applications aren't generally hardcore down to the metal programmers," then I'd agree with you. John Carmack and Michael Abrash would be bored out of their skulls working on UI issues for Quicken 2008. And, given their aesthetic sensibilities, they wouldn't necessarily be the best choices (just *try* to balance your checkbook). John Carmack will make your finances his bitch.
    14. Re:We had different programmers 10 years ago by ClosedSource · · Score: 1

      If you go back even farther you find that game programmers writing "to the bare metal" were doing so without threads and sometimes even without an OS, monitor, or interrupts. It was a challenge, but that ability really has little value today (as I'm painfully aware).

      In any case, the number one issue in a multicore world isn't whether programmers can write the code properly, but rather whether the performance of typical applications can actually be improved when capable developers have a crack at it. Once feasibility has actually been demonstrated, we can work on training.

    15. Re:We had different programmers 10 years ago by gig · · Score: 1

      The problem I have with the code to the metal argument is that it is so arbitrary. I am more impressed with a programmer who can code up to the user, create an interface that is useful and has some art in it.

    16. Re:We had different programmers 10 years ago by TheLink · · Score: 2, Insightful

      Given that you actually suggested rewriting in C instead of Python or something similar, I think your boss made the right call.

      To be blunt: writing VB business apps in C is usually a stupid idea. Business app requirements change often and usually for nontechnical reasons. C is a low level language. But for business apps you'd only need to manipulate stuff at the "Lego level", not the "molecular level". So why use it?

      It's near impossible for a normal company to hire programmers who can _rapidly_ write reasonably bug free C and maintain it AND _WILL_ do so.

      And it usually takes a lot longer to get a new C program to decent standards than say a Python/Perl/Ruby program.

      Getting a faster machine to run app = $$.
      Weeks of programmer coding, testing and debugging = $$$$
      Weeks of programmer NOT being able to do other stuff because busy rewriting old stuff = $$$$$$ - $$$$$$$$

      Assuming a reasonable programmer ability, if you used a higher level language, changes would usually be done faster and with a better chance of correctness.

      So my suggestion for most stuff nowadays is:
      1) Use a high level language. Usually the performance bottlenecks for a business app are not due to the language but the architecture and design, or just plain IO.
      2) Spend a lot of time designing it right with the future in mind - getting time and resources to rewrite in a business environment is rare - so if you do it right you maximize the lifespan of your software before cruft builds up to extremely annoying or even dangerous levels.
      3) Leave the low level stuff to the John Carmacks.

      So what if those high level languages are 20x slower than C? Unless totally braindead they are a _CONSTANT_FACTOR_ slower, so if they are fast enough NOW, then that's good enough. In 3-5 years time, even if the performance requirements may go up, new hardware is likely to run the programs at least 2-3X faster, and it's probably about time to replace the hardware as part of a preventative measure. If you are lucky and wise and your architecture can scale OUT instead of UP then that's a good situation to be in.

      --
    17. Re:We had different programmers 10 years ago by JNighthawk · · Score: 1

      The school I went to (Full Sail) was for game programming, so it probably wouldn't help you, but more tools never hurt :-)

      --
      Wheel in the sky keeps on turnin'.
    18. Re:We had different programmers 10 years ago by gbjbaanb · · Score: 1

      I went to the University of Newcastle upon Tyne, England. And yes, it was the late 80s.

      And yes, I miss sending email messages by inputting control codes directly via telnet - so amusing to send someone a mail from themselves.

      Kids of today, just want to sit on facebook and collect 'friends' who aren't really, and expect it all to be done for them. No wonder I have to install 2 gig of RAM on my desktop to get any work done now. Can't wait for it to need 4Gig in a year or two :(

    19. Re:We had different programmers 10 years ago by multipartmixed · · Score: 1

      Interesting, I wasn't aware that concurrent euclid had spread that far. Of course, my career has been incredibly C and web-tech dominated; my C.E. exposure was strictly academic lectures discussing the origins of Turing which we were using at the time.

      I hear you about facebook et al. Drives me bananas that my eldest wants nothing more out of life than to sit on her computer chair reloading her facebook page to see if anything has changed. I had to hack custom firewall software to do user-based authentication on the house network and kick her off after so much use.

      As for the workstation dilemma. I "solved" that years ago but stopping the upgrade cycle. Of course, I work in an environment where I can get away with that. My workstation is a Sparc Ultra 5 running Solaris 2.5.1 hardware 11/97. Fully patched, all non-essential services shutdown, and off the internet. It runs xemacs 19.14, fvwm 1.24. The Xsun + fvwm RAM foot print is around 12 MB, the box is BLINDINGLY fast for desktop switching and anything else I want it to do.

      The 1GB harddisk I had /usr on died last week after 9.5 years of faithful service, so I pulled an old Ultra 5 out of my lab and recreated my workstation. The new is quite nice; twice the disk (8 GB), twice the RAM (256 MB now!), more CPU (336 new 270 MHz old), and I threw in a Raptor GFX card I pulled from an old E450 for an extra monitor (which worked right out of the box, BTW). I installed the exact same software and went right back to work.

      Of course, the workstation for me is just a place to write notes, record phone numbers, read email, run emacs, and run ssh. Compiling is done on a faster machine, as is testing.

      Oh, here's another Cordy story - I took compilers with him. The compiler building platform we used was S/SL, Syntactic/Semantic Language IIRC. Anyhow, you could use it kind of like lex or yacc, we used a two-pass S/SL setup for our toy pascal language. Anyhow, I just realized, the story isn't really relevant or funny, but starting to tell you means that I just figured out a possible solution to a work problem. Assuming S/SL is reentrant and available. Gotta go!

      --

      Do daemons dream of electric sleep()?
    20. Re:We had different programmers 10 years ago by Anonymous Coward · · Score: 0

      Hellooo McFly!! This topic is "multithreading".. That single-threaded VB app will _never_ become significantly faster, since it's probably not multithreaded.
      The idea of "code crap now, let Intel/AMD fix it later" is, and has always been, stupid.

    21. Re:We had different programmers 10 years ago by Anonymous Coward · · Score: 0

      Hello McIdiot(TM), OP was suggesting rewriting a VB app in C.

      That's as crazy as it gets.

      Given the program is already running tolerably in VB (see his boss's response), it means it does not HAVE TO be written in C.

      You should only write those sort of apps in C, if you have no other choice.

    22. Re:We had different programmers 10 years ago by Bodrius · · Score: 1

      Which is why he mentioned 'fix it in a high-level language such as Python', I imagine.
      There are no shortage of high-level language that provide complete threading control - including Python, Java, C# or for that matter even VB.NET.

      That is, assuming the issue is a highly parallelizable problem in the first place.

      The thread doesn't really seem to indicate that, since the topic had changed to the usual 'new coders are not hardcore' rant.
      Rather, it is very probable performance concerns were the typical concerns about memory use and going through COM for everything.

      --
      Freedom is the freedom to say 2+2=4, everything else follows...
    23. Re:We had different programmers 10 years ago by PitaBred · · Score: 1

      And then you say to management "We can sell this software by saying we can do a better job on much less expensive hardware than our competitors, because of our 1337 sk1lz". Or something to that effect ;)

    24. Re:We had different programmers 10 years ago by Frumious+Wombat · · Score: 1

      Your story about Jim Cordy is similar to the one that was floating around about 10 years back when uSoft put out a unix compatibility layer for NT, and used Korn shell. During the public announcement someone from teh audience pointed out they'd picked one of the more deficient implementations, to which the microsoftie replied in effect, "we believe this version to be just fine". It was then pointed out the critic was David Korn.

      Some days I miss the old days, if only because I came from the VAX/VMS side of the fence, and had languages such as VAX Pascal, and VAX FORTRAN, which could be used for systems programming if you wanted (the orange wall had some great examples in Fortran) and were actually readable. I realize that C succeeded in part because it was cheap to free, and came with all Unixes, but it still looks like line-noise to me, and it's still too easy to shoot yourself in the foot with it, not to mention it's barely higher level than some older mini/mainframe assembly languages. Now, because of lazy CSci programs, its successor, C++, is spreading in chemical programming, so I have to deal with mixed C++/Fortran programs. There should just be a rule; if you're doing science, and not writing an OS or games, just use Fortran95. Clean, modern, easy to optimize, talks to libraries such as LAPACK, and relatively safe.

      OTOH, I don't miss compiling programs on a 0.6 VUP (~MIPS) shared with 20 other people.

      --
      the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
    25. Re:We had different programmers 10 years ago by Anonymous Coward · · Score: 0

      Often throwing hardware at the problem is less expensive than spending developer time on some performance issue. Good engineering and good business are different things. Look at MSFT success.

  13. Better than xubuntu by fishthegeek · · Score: 3, Informative

    for older (p2 & p3) laptops. I have the opportunity several times a year to receive old laptops to use to teach my students with. Whenever I need to I use Beos Max on the machines and it is just amazing to watch how effecient and responsive Beos really is.

    Check out Beos Max

    Beos is still a lot of fun on older hardware.

    --
    load "$",8,1
  14. I don't get it by nanosquid · · Score: 4, Insightful

    The ability to play eight movies simultaneously is a bad way of determining OS thread performance. Most modern operating systems have efficient, low-overhead threads. How well they play multiple videos depends much more on the display pipeline, the codec, and how the players adapt to load. To say anything about system performance, you'd need to know frame rate, resolution, codec, postprocessing options, etc.

    Overall, I really don't see anything in BeOS that you don't get as well or better in a modern Linux system. BeOS has some efficiency gains from having been developed from the ground up with little need for backwards compatibility, but that's probably also why it wasn't successful in the market. And threading and scheduling in particular are highly efficient and mature in Linux.

    (Not that OS X is basically a hacked NeXTStep; the NeXTStep kernel is Mach, the same kernel that is the basis of the GNU Hurd.)

    1. Re:I don't get it by rivimey · · Score: 1

      I'm not supporting parallel movie players as a benchmark, but "most operating systems have efficient, low overhead threads" - Ha! All I can say is you have never seen "efficient threads". Not one of the major OSs have truly efficient threading. For that you have to look at the real time kernels, where it really counts, and to projects like jcsp (http://en.wikipedia.org/wiki/JCSP) where both thread startup and context switches take a few hundred cycles, not tens of thousands.

      --
      Ruth Ivimey-Cook
      Software Engineer and Author
    2. Re:I don't get it by larry+bagina · · Score: 1

      Let me know when a modern linux system can asynchronously notify a process that a file/directory has been modified.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    3. Re:I don't get it by nanosquid · · Score: 2, Informative

      Let me know when a modern linux system can asynchronously notify a process that a file/directory has been modified.

      You mean--like every one? Beagle uses it, and so does Nautilus. It's been there for a number of years.

    4. Re:I don't get it by nanosquid · · Score: 1

      Not one of the major OSs have truly efficient threading. For that you have to look at the real time kernels,

      Real time kernels can get by with very low thread overhead because they don't need to do a lot of things that kernel threads in desktop operating systems must do. But kernel threads aren't the only threads available on Linux anyway.

      and to projects like jcsp

      In fact, there are a number of thread implementations on top of Linux that are more efficient than Linux's kernel threads, so JCSP is nothing special. And, being part of Linux, they're there if you need them. In fact, even JCSP runs on top of Linux, so it's hard to see how it could be an example of threading that's better than what's available on Linux.

    5. Re:I don't get it by Anonymous Coward · · Score: 1, Interesting

      >> Let me know when a modern linux system can asynchronously notify a process that a file/directory has been modified.

      > You mean--like every one? Beagle uses it, and so does Nautilus. It's been there for a number of years.

      It's ok. Too bad there is no recursive directory support in inotify. Software has to add a watch for every subdirectory of a tree it wants to monitor.

    6. Re:I don't get it by MoxFulder · · Score: 1

      It's called Inotify. Everything and its mom uses it on Linux nowadays...

      The PowerTop folks have been going around and finding a lot of programs that do polling rather than asynchronous notification, and fixing them to use things like inotify.

    7. Re:I don't get it by mabinogi · · Score: 1

      What on earth does that have to do with threading?

      --
      Advanced users are users too!
    8. Re:I don't get it by RzUpAnmsCwrds · · Score: 1

      Linux can do this through a variety of methods, as can Windows since Windows 95.

      But, hey, it's not like Windows or Linux can hold a candle to the popularity of BeOS!

    9. Re:I don't get it by nanosquid · · Score: 3, Interesting

      It's ok. Too bad there is no recursive directory support in inotify. Software has to add a watch for every subdirectory of a tree it wants to monitor.

      So what? Why do you want to put more functionality into the kernel than necessary? You can write user-mode code around inotify for recursive watches--Beagle does just that. If enough people wanted it, it could be wrapped up as a library.

    10. Re:I don't get it by moosesocks · · Score: 2, Insightful

      No, it's not at a good rubric for a Computer Scientist to compare the schedulers of two different operating systems.

      However, from the user's perspective, it's a very big deal. Having used BeOS a few years ago on what was very modest hardware (even at the time), I can easily say that it felt like it was the fastest and most responsive operating system that I've ever used.

      Even Linux on modern hardware doesn't come close to the snappiness of BeOS. You also can't beat the fact that it could boot from BIOS to the desktop in under 10 seconds (again, on a *very* modest PC).

      Be should have been the future of Operating Systems, and it's an absolute shame that the code is lying to rot under Palm's guidance. Windows, Linux, and MacOS simply can't touch the simple elegance and efficiency that BeOS mastered almost 10 years ago, which is an absolute shame. (Remember that BeOS was released alongside Mac OS 9 and Windows 98)

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    11. Re:I don't get it by CoughDropAddict · · Score: 1
      And threading and scheduling in particular are highly efficient and mature in Linux.

      When you speak about "mature" scheduling in Linux, are you referring to the scheduler that was written completely from scratch in 62 hours three months ago, or the one that was written completely from scratch five years ago and described as

      ...[involving] numerous strange computations involving a number of magic constants; it is difficult to understand, much less improve. --Linux Weekly News
      Just wondering.
    12. Re:I don't get it by The+One+and+Only · · Score: 2

      Hacked? Mac OS X is Nextstep, except Nextstep 4.0 was called Mac OS X 10.0 for marketing purposes. All that was changed was the UI and graphics engine. And it was ported to a different processor. And another API was added. And a VM was added for Mac OS 9. Other than that it was exactly the same OS--but really, I'm sure you can find two Linuxes that are more different from each other than Nextstep and Mac OS X are.

      --
      In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
    13. Re:I don't get it by gig · · Score: 1

      There is a lot of Mac OS in OS X also. For example QuickTime and AppleScript and Software Update. The Mac tools are there just like the Unix tools. There have also been many additions made since 2001, for example CoreAudio has totally pro specs with Audio Units plugs and full device abstraction. Part of what makes OS X different is the different user base of Apple and NeXT.

    14. Re:I don't get it by The+One+and+Only · · Score: 1

      QuickTime and Software Update are on Windows too. And while there have been many additions, that's generally the definition of a new version of your operating system.

      --
      In Repressive Burma, it's not just your connection that dies. slashdot.org/comments.pl?sid=314547&cid=20819199
    15. Re:I don't get it by renoX · · Score: 1

      >The ability to play eight movies simultaneously is a bad way of determining OS thread performance.

      Agreed.

      >Overall, I really don't see anything in BeOS that you don't get as well or better in a modern Linux system.

      Well, you didn't look close enough to the demo: he launched 5 application simultaneously and had them running in a snap and whatever he did, the OS stayed responsive and very fast.

      Linux/Windows users don't enjoy such responsiveness, even though we have far more powerful computer now.. As an example, when you open several bookmarks on Firefox, the window just freeze for several seconds, and people are used to this kind of behaviour :-(, whereas on BeOS everything stayed responsive all the time.

      This is an application design issue (need to be supported by the kernel and the libraries of course), we could probably have this on Linux or Windows, but we don't unfortunately..

    16. Re:I don't get it by nanosquid · · Score: 1

      However, from the user's perspective, it's a very big deal.

      Running eight movies in parallel is important ... why? And if it were such a big deal, why do users so often choose to configure their systems with slower, more powerful software?

      Even Linux on modern hardware doesn't come close to the snappiness of BeOS.

      Sure it does. What makes Linux less responsive than BeOS is the apps and the configuration people choose to run, not the kernel. If you want to, you can configure your Linux system to be very snappy. For starters, try Xubuntu, although that's still much more heavy-weight than you might want.

      You also can't beat the fact that it could boot from BIOS to the desktop in under 10 seconds (again, on a *very* modest PC).

      Sure I can: Linux could (and can) boot that fast as well. The reason distributions don't is because the flexibility of the boot script system is more important than faster boot times. (Another reason is that some modern hardware takes a long time to initialize.)

      Windows, Linux, and MacOS simply can't touch the simple elegance and efficiency that BeOS mastered almost 10 years ago, which is an absolute shame.

      It's easy to be simple and elegant when you have a tiny user community. The reason for all that crap in Windows, Linux, and OS X is that real users want it, just like real users prefer less snappy apps that do what they want to more snappy apps that don't.

      (Remember that BeOS was released alongside Mac OS 9 and Windows 98)

      Yes, about 30 years after the concepts in BeOS were originally invented. The fact that Apple and Microsoft released even more obsolete operating systems around that time doesn't make BeOS modern or elegant.

      I understand the nostalgia, but it's inappropriate. The BeOS designers believed that the areas that they optimized and were working on were more important than compatibility and functionality, but the market proved conclusively that they were wrong. If BeOS were open sourced tomorrow, I predict it would also fail.

    17. Re:I don't get it by Bernie · · Score: 1

      The scheduler in Linux has just been ripped out.

    18. Re:I don't get it by dysprosia · · Score: 1

      The kernel in OS X and OPENSTEP and NeXTSTEP is Mach, but it's not performing like a microkernel like it may be in Hurd. That isn't to say that OS X and OS/NS are fundamentally different -- they're not.

    19. Re:I don't get it by 12357bd · · Score: 1

      Inefficient, the parent poster has a point, it's a shame that linux doesn't have yet an efficient system to notify user programs of changes in file systems. Setting up a watch on every directory on the tree is an ugly and wasteful way to make what it should be a simple and logical thing. Making a library to make it simple is just the kind of coding it should never be done, design flaws should never be hidden.

      --
      What's in a sig?
    20. Re:I don't get it by Anonymous Coward · · Score: 0

      I think Windows has actually had this since Windows NT 3.1, which was a couple of years before Windows 95.

    21. Re:I don't get it by nanosquid · · Score: 1

      Inefficient, the parent poster has a point,

      Ah, so you're of the "if it's a single system call, it must be efficient" school of thought. Sorry, you really don't know what you're talking about.

      Making a library to make it simple is just the kind of coding it should never be done, design flaws should never be hidden.

      Putting complex, large latency operations in the kernel would be a design flaw. Putting the minimum amount of stuff necessary into the kernel and implementing the rest in user code is good design. Now, inotify can probably be improved, but doing what you suggest is just a bad idea.

      And that's probably why Linux is still around and BeOS failed.

    22. Re:I don't get it by Lproven · · Score: 1

      It's not a question of how many movies it can run in parallel or anything like that.

      Have you ever actually /used/ BeOS?

      It won't cost you anything. It was freed shortly before the company left the desktop PC marketplace. Try it.
      http://www.beosmaxfiles.org/

      It is very common to see questions or criticisms of this type from people who don't know enought to judge. For instance, I ride recumbent bikes, and I have been asked /thousands/ of times - no exaggeration - why I do. The answer is, of course, because they're better than upright bikes. They are faster, easier, comfier, safer and more fun. But they are nonetheless criticized by those who have never ridden them.

      I have both car and motorcycle driving licences. I believe and argue that car controls have a worse design than bike controls: they are less precise and less ergonomic. However, the counter-argument I get most often is that "hundreds of millions of people drive cars, so they must be fine." This is an illogical statement; the fact that something can be done, or is generally done one way, doesn't mean it can't be done a better way.

      Modern systems based on multi-gigahertz processors with abundant memory and other resources can rival - not match, certainly not exceed, but come close to - the responsiveness of BeOS 5 on a 90MHz Pentium. That is true, but not relevant.

      The questions that matter are:
      - how did BeOS do this?
      - are these techniques generally applicable?
      - can we bring such techniques to more established OSs?

      But in your case, don't knock it until you've tried it. If you *have* tried it and still don't get it, why not?

      --
      Liam P. ~ "Intelligence is a lethal mutation." (me)
    23. Re:I don't get it by nanosquid · · Score: 1

      Well, I was trying to be polite, but, yes, you're right: OS X is basically the same as the 20 year old operating system called NeXTStep. So much for Apple's claims of innovation. At least Objective-C in Leopard will (finally) get garbage collection.

    24. Re:I don't get it by nanosquid · · Score: 1

      Well, you didn't look close enough to the demo: he launched 5 application simultaneously and had them running in a snap and whatever he did, the OS stayed responsive and very fast.

      So what? I can launch 20 applications simultaneously in Linux and have them running in a snap; that just isn't a big deal. Whether the OS stays responsive and fast depends on the apps.

      If you launch Firefox, OpenOffice, F-Spot, Nautilus, MPlayer, Beryl, and Eclipse simultaneously on BeOS, I guarantee you it would also bring it to its knees.

      This is an application design issue (need to be supported by the kernel and the libraries of course), we could probably have this on Linux or Windows, but we don't unfortunately..

      Firefox is a pig not because of Linux but because of the Firefox developers. Even on Windows, Firefox performs much worse than, say, Opera, and on Linux, the Firefox developers seem to be completely out of their depth (and don't seem to give a damn either). But everybody uses Firefox because, in the end, it's still fast enough.

    25. Re:I don't get it by Anonymous Coward · · Score: 0

      Minor quibbles, but: (a) the kernel of the Hurd is not Mach. It used to be. It's not anymore. It is now L4; (b) it's inaccurate to suggest that OS X's kernel is Mach. It's XNU. It's true that XNU has a lot of Mach in it, but there's a lot more FreeBSD in it than there is Mach.

    26. Re:I don't get it by renoX · · Score: 2, Interesting

      >>Well, you didn't look close enough to the demo: he launched 5 application simultaneously and had them running in a snap and whatever he did, the OS stayed responsive and very fast.
      >So what? I can launch 20 applications simultaneously in Linux and have them running in a snap;

      Well, I'm using Linux everyday at work, and I tell you: it doesn't feel responsive.
      I played with BeOS (quite some time ago now) and it felt smooth, quick, reactive (on a PC ten time less powerful).

      > that just isn't a big deal. Whether the OS stays responsive and fast depends on the apps.

      Sure, if you ported FF to BeOS, it would suck as much on BeOS as it sucks on the other OS, that's true, but it's also true that using BeOS and its application felt responsive because they designed the applications which came with the OS, the toolkits, the programming guides this way, whereas using Linux or Windows don't feel responsive, and IMHO *this is* a big deal.

      >If you launch Firefox, [..] simultaneously on BeOS, I guarantee you it would also bring it to its knees.

      The thing is, you can bring an OS to 'its knees' while still making it 'responsive', and the video showed it quite well.. I remember another video where they overloaded the computer so that video rendering was stuttering, but the interface was still smooth, that's a priority issue and BeOS was nicely tuned for desktop load.

      >But everybody uses Firefox because, in the end, it's still fast enough.

      Well, I started using Opera because I don't think that FF is responsive enough. I don't understand why FF has a bigger marketshare than Opera: I think that Opera is better than FF.
      Currently I'm using 50% FF and 50% Opera because I cannot stand Opera's weird tab management scheme (which cannot fully emulate FF tab management), but as soon as they fix this, I'll gladly drop FF until it becomes responsive (I'm not holding my breath)..

    27. Re:I don't get it by Baba+Ram+Dass · · Score: 1

      However, from the user's perspective, it's a very big deal.

      Running eight movies in parallel is important ... why? Running eight movies in parallel isn't what's important; it's the fact the system can do that and still have a responsive UI. BeOS didn't have an hourglass for no reason, and your average user likes not having to wait for the interface to respond.

      Even Linux on modern hardware doesn't come close to the snappiness of BeOS.

      Sure it does. What makes Linux less responsive than BeOS is the apps and the configuration people choose to run, not the kernel. We're not talking complete OS versus a kernel. We're talking OS versus OS, and Linux here is being used to describe the entire OS distribution. I'm sure Linux can be fine-tuned to be quite snappy, but BeOS doesn't require such tuning.

      You also can't beat the fact that it could boot from BIOS to the desktop in under 10 seconds (again, on a *very* modest PC).

      Sure I can: Linux could (and can) boot that fast as well. The reason distributions don't is because the flexibility of the boot script system is more important than faster boot times. (Another reason is that some modern hardware takes a long time to initialize.) Again, we're talking OS versus OS (distro). Of course you can get Linux booted fast, much faster than BeOS, but you won't end up with a desktop OS comparable to BeOS.

      (Remember that BeOS was released alongside Mac OS 9 and Windows 98)

      Yes, about 30 years after the concepts in BeOS were originally invented. The fact that Apple and Microsoft released even more obsolete operating systems around that time doesn't make BeOS modern or elegant. I don't think anyone denies BeOS brought little to the table in terms of new concepts (though, it certainly did bring some respectable ones). The elegance, however, was that it brought the best from all the existing systems at the time with the goal to create a better desktop OS.

      The BeOS designers believed that the areas that they optimized and were working on were more important than compatibility and functionality, but the market proved conclusively that they were wrong. If BeOS were open sourced tomorrow, I predict it would also fail. If BeOS were open sourced tomorrow, it definitely would fail. But that's because it's outdated (10+ years old afterall), and Haiku has pretty much recreated all the hard parts and improved on that. The market didn't prove anything; the decisions made by the Be executives (such as being greedy when Apple made them an offer for the BeOS IP) and Microsoft's arguably anti-trust tactics to keep BeOS off of OEM PCs is what sealed the fate of BeOS, not bad system design decisions.

      I'm beginning to wonder if you used the OS that much or simple tinkered with it a time or two.
      --
      Truckin like the Doo-Dah man...
    28. Re:I don't get it by ccp · · Score: 1

      ...
      I understand the nostalgia, but it's inappropriate. The BeOS designers believed that the areas that they optimized and were working on were more important than compatibility and functionality, but the market proved conclusively that they were wrong. If BeOS were open sourced tomorrow, I predict it would also fail.

      You raise some interesting points, but why the angry tone?

      Did BeOS run over your dog or something?

      Cheers,
      CC
    29. Re:I don't get it by nanosquid · · Score: 1

      Well, I'm using Linux everyday at work, and I tell you: it doesn't feel responsive.

      Well, if it is, you're doing something seriously wrong:

      http://youtube.com/watch?v=ZD7QraljRfM

      That sort of stuff works on standard $600 desktop hardware.

      Well, I started using Opera because I don't think that FF is responsive enough. I don't understand why FF has a bigger marketshare than Opera: I think that Opera is better than FF.

      Well, and you also think that BeOS is better than Linux. It appears your preferences differ from those of most computer users.

    30. Re:I don't get it by renoX · · Score: 1

      >>Well, I'm using Linux everyday at work, and I tell you: it doesn't feel responsive.
      >Well, if it is, you're doing something seriously wrong:
      >http://youtube.com/watch?v=ZD7QraljRfM
      >That sort of stuff works on standard $600 desktop hardware.

      Pretty effect != responsiveness. All these shiny effects don't prevent FF from freezing when you open several tab for example.

      >Well, and you also think that BeOS is better than Linux. It appears your preferences differ from those of most computer users.

      I think that the responsiveness on BeOS was better than what we have on Linux now (on 10 times more powerful hardware), yes, but it doesn't mean that I think that BeOS was better than Linux: there were not enough free apps on BeOS to make it more interesting than Linux.

    31. Re:I don't get it by 12357bd · · Score: 1

      File notification was not on the kernel for historical reasons, not technical ones. File notification was not a priority at the time and so was (and still is in my opinion) poorly designed at the kernel level.

      inotify is a step in the right direction (the interface looks almost right), but shares the same fundamental flaw that dnotify have, it's unable to detect changes below the desired directories, and NO, adding thousands of watches (one for subdir) is not an acceptable option, it's inefficient and a resource hog, that's why it should never be hidded inside a library.

      The idea is quite simple, you tell the system to notify you when a certain branch of the filesystem is accesed/modified. That's not intrinsiquely difficult or time consuming, is just that the current kernel/filesystem abstraction does not fit well with that behaviour for historical reasons, but that should not be an excuse, threads were also a simple idea with a complex implementation, but it was considered necesary and it was done, file notification is not that different.

      --
      What's in a sig?
    32. Re:I don't get it by Anonymous Coward · · Score: 0

      Pretty effect != responsiveness. All these shiny effects don't prevent FF from freezing when you open several tab for example.

      And FF would freeze the same way on BeOS! It's FF freezing, not Linux.

      I think that the responsiveness on BeOS was better than what we have on Linux now

      Well, you're wrong, and that's all there's to it. What was more "responsive" wasn't BeOS, it was BeOS apps, and they were more responsive because they didn't do much.

    33. Re:I don't get it by renoX · · Score: 1

      >And FF would freeze the same way on BeOS! It's FF freezing, not Linux.

      Sure but who cares? On BeOS, the few applications which were available didn't freeze, on Linux they do because classic Unix style application are single threaded.
      So on Linux, the responsiveness experienced by the user suck, on BeOS, it didn't.

      >What was more "responsive" wasn't BeOS, it was BeOS apps, and they were more responsive because they didn't do much.

      No, it's more a design issue than anything: BeOS designers encouraged dual-thread usage for applications which make their interface very responsive.

      FF's interface appears to be single threaded as shown by the way it freeze, this has nothing to do about doing more or doing less (except that coding multi-threaded interface is more complex so for the same development time you have a little less time to develop feature).

    34. Re:I don't get it by drinkypoo · · Score: 1

      Hacked? Mac OS X is Nextstep, except Nextstep 4.0 was called Mac OS X 10.0 for marketing purposes. All that was changed was the UI and graphics engine. And it was ported to a different processor. And another API was added. And a VM was added for Mac OS 9. Other than that it was exactly the same OS

      I just thought this was funny, so I wanted to quote the whole thing.

      NeXTStep was fast on a 68k processor back in the day. OSX is slow (as in, unresponsive, chunky) on a Dual 2.0 GHz G5. WTF?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    35. Re:I don't get it by Rudd-O · · Score: 1

      That's not true. I developed python-inotify, and this was impossible due to race conditions. Fast directory creation followed by removal would cause my library and the kernel not to agree on what was being watched AT ALL.

      Plus you're limited to 4000 watches per process. Amarok just gives up on my music collection exactly for this. And Beagle too. They spend countless cycles adding watches that take PRECIOUS kernel memory only to give the ghost when they quickly reach their limit.

      Non-recursive watch notification was the stupidest idea behind inotify.

      --
      Rudd-O - http://rudd-o.com/
    36. Re:I don't get it by Anonymous Coward · · Score: 0

      Sure but who cares? On BeOS, the few applications which were available didn't freeze, on Linux they do because classic Unix style application are single threaded.

      That's total b.s. Firefox, for example, is not a "classic Unix style application", it's a poorly written Windows style application that's been ported to Linux--badly. And its responsiveness doesn't suck for lack of multithreading, it's responsiveness sucks among other things because of AJAX and networking issues.

      So on Linux, the responsiveness experienced by the user suck, on BeOS, it didn't.

      Yeah, it's just that the BeOS user experience doesn't include most of the applications people actually want to run.

      No, it's more a design issue than anything: BeOS designers encouraged dual-thread usage for applications which make their interface very responsive.

      Multithreading doesn't automatically make applications any more responsive. It may prevent a window from staying damaged longer, that that's an illusion of responsiveness: if the content thread isn't ready, all that that thread can redraw is outdated content and respond to user interaction by doing... nothing. In fact, newer window managers like Beryl actively create window "damage" to prevent non-responsive applications from looking like they are responding--they grey out busy windows.

      And the reason that web browsers are non-responsive is usually that there's a lot of Javascript running. Another reason is slow network response. Desktop apps are non-responsive usually because they're waiting for the network or the disk. These are not issues that BeOS can fix with multithreading. Multithreading can even hurt responsiveness.

      Well-written applications use multithreading when it makes sense and they avoid it when it doesn't. There are a lot of poorly written applications out there, but most of them are "good enough" if they are popular, and that's what counts.

      You can easily configure a Linux system with the same limited functionality as BeOS; most people choose not to because, ultimately, functionality and getting the job done matters more than "feel".

    37. Re:I don't get it by renoX · · Score: 1

      >That's total b.s. Firefox, for example, is not a "classic Unix style application", it's a poorly written Windows style application that's been ported to Linux--badly. And its responsiveness doesn't suck for lack of multithreading, it's responsiveness sucks among other things because of AJAX and networking issues.

      Try something, open a bunch of non-ajax webpage in multiple tabs: the main window will freeze for some time: this sucks as if you have tab already opened, you'd want to read them while the other tabs are loading, but you can't and this is not an issue caused by AJAX or by networking issue (as the tab you'd want to read are already here).

      >Yeah, it's just that the BeOS user experience doesn't include most of the applications people actually want to run.

      That's true unfortunately, but this doesn't change the fact that the responsiveness seen by users on Linux or Windows sucks compared to what BeOS provided.

      >Multithreading doesn't automatically make applications any more responsive.

      True it depends of the application, but with modern multi-tab applications, multi-threading ensure that the user can still read the other tab even if one tab becomes busy, that's a very interesting form of responsiveness which has nothing to do with 'damaged window'.

      >You can easily configure a Linux system with the same limited functionality as BeOS; most people choose not to because, ultimately, functionality and getting the job done matters more than "feel".

      No, you cannot, you're the one who is saying responsiveness == windows damage: I'm not..
      Note that the nice thing that BeOS provided was that it was responsive/booted fast/application started fast *by default* no need to tweak it..

  15. Haiku by Keruo · · Score: 4, Funny

    Is not haiku(beos) open source?
    Take the features and port to linux.
    New scheduler rules them all.
    Speed improvements would increase the desktop performance.
    As they would increase performance with services.

    --
    There are no atheists when recovering from tape backup.
    1. Re:Haiku by larry+bagina · · Score: 1

      sticking the batmobile engine into a station wagon won't help you get laid.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  16. Uh, IRIX anyone? by pathological+liar · · Score: 2, Funny

    Aside from having "legendary responsiveness", from a single CPU box to SMP monstrosities, you could even guarantee disk/cpu/whatever throughput.

    A lot of the old unixes had "legendary responsiveness"; you are not a unique and beautiful snowflake.

    BeOS fanboys are funny.

    1. Re:Uh, IRIX anyone? by Anonymous Coward · · Score: 0

      BeOS ran on commodity hardware, not $10.000 workstations and multi-million dollar super-computers. I bet UNICOS had really great response time, too, but a CRAY was hardly the desktop machine of its day, even if modern desktops can outperform some of the original "super computers." It's a totally unfair comparison.

    2. Re:Uh, IRIX anyone? by delirium+of+disorder · · Score: 1

      You can get an o2 or octane2 on ebay for a few hundred bucks. Sgi hardware has a better price/performance ratio than PCs these days!

      --
      ------ Take away the right to say fuck and you take away the right to say fuck the government.
    3. Re:Uh, IRIX anyone? by pathological+liar · · Score: 1

      "Today, more than ten years after BeOS's introduction, its legendary responsiveness is still unmatched."


      What IRIX (and everything else) ran on is irrelevant, that statement is simply wrong.
    4. Re:Uh, IRIX anyone? by Lost+Engineer · · Score: 3, Insightful

      Yeah, but yesterday's supercomputers are todays commodity machines. The last IRIX "super"-computer I used had 16 processors with a uniform memory architecture. We're quickly approaching that level on commodity hardware. My el-cheapo box has 2 processors with a uniform cache-coherent memory architecture.

      What I'm getting at here is that perhaps we could look to the past for some ideas about multi-threading, and IRIX is not a bad choice at all, particularly since it was Unix-derived, like the Linux we use now, whereas BeOS is not.

    5. Re:Uh, IRIX anyone? by Lost+Engineer · · Score: 1

      After re-reading my post, I should correct myself. The IRIX machine I used did not have a UMA, however it appeared so to userland. Unlike a cluster, you didn't have to worry about whether the memory you were addressing was on your CPU for correct function, only for performance. It used a touch policy, wherein the last CPU to touch a page had it in its local memory.

      How does this compare to say a quad core Xeon running Linux? Anybody know?

  17. Tried (for Windows) and killed by gnetwerker · · Score: 4, Interesting

    Recall that this was the effet of Intel's NSP (the ill-named "Native Signal Processing"), a real-time multui-thread scheduler inserted at the device-driver level of Windows. Combined with something called VDI (Video Direct Interface), which allowed applications to bypass the Microsoft GDI graphics layer in certain ways, this allowed multiple video, graphics, and audio streams, mixed and synchronized, on circa-1993 computers, something largely not even possible today. While NSP was intended primarily for media streams, its technology was broadly applicable to more responsive and vivid interfaces. The result was Microsoft's threat to cut off Intel from future Windows development and specifically to withhold 64-bit support from Itanium, to more publically support AMD (which they did, for a while), and to threaten any OEMs using the code with withdrawal of Microsoft software support. Much of this was detailed in the Microsoft anti-trust trial and the accompanying discovery documents. Under this pressure, Intel abandoned the software, transferring VDI to Microsoft (it formed the core of what was later called DirectX), and outright killing NSP. Andy Grove admitted to Fortune magazine "We caved." (http://cyber.law.harvard.edu/msdoj/transcript/sum maries2.html) This is not to suggest that this was the best or only way to do this, or that others haven't done it and done it well. But despite the best efforts of Linus and friends, Windows remains the dominant desktop OS, and Windows continues to be built on a base of 1970s-era operating system principles. Microsoft has, and continues to, build substantial barriers to anyone trying to substantially modify the behaviour of Windows at the HAL/device layer. Whether VMWare and equivalent virtualization technologies are finally a camel's nose under the tent edge remains to be seen. But as long as Windows remains the dominant desktop OS, you can expect the desktop to lag 10-15 years (at best) behind the state of the art in OS, GUI, and real-time developments.

    1. Re:Tried (for Windows) and killed by CajunArson · · Score: 4, Insightful

      Windows continues to be built on a base of 1970s-era operating system principles.


      Thank Gawd Linux isn't using any relic of an OS that started in the 1970's as its base! No, no, all 100% 21st clean legacy-free implementation there.

      On a more serious note, I used Beos myself back in the day. It was definitely more responsive than Win98 was, but not everything was perfect either. The networking implementation absolutely sucked. Oh, it had lots of threads, its just that the threads were not all that beneficial to actual performance. The networking stack and some other forms of processing in the system that handle streams of many relatively similar tasks would probably parallelize better via a pipeline scheme where parallelism is achieved by having independent stages of the pipeline run in parallel (much as CPUs break up the task of executing instructions into a pipeline). The type of parallelism that works best can depend on the application, and the one-size fits all philosophy is not usually correct no matter what the solution is.

      --
      AntiFA: An abbreviation for Anti First Amendment.
    2. Re:Tried (for Windows) and killed by Man+On+Pink+Corner · · Score: 1

      NSP was a terrible idea, in pretty much any respect you care to consider. If you think Winmodems suck now, take one with you on your next trip back to 1994 and see how you like it.

      NSP would have kneecapped the entire PC games industry, and it would have strangled the emerging multiplayer genres in the crib. It was a craven attempt by Intel to market general-purpose CPUs against dedicated audio and communications hardware. You can get away with that now that everybody has more CPU cores than they know what to do with, but dedicated hardware was actually needed back then. No sane developer who wasn't on Intel's payroll would have welcomed any artificial market forces that threatened to marginalize it in favor of host-based signal processing.

      Intel backed down because a lot of people, not just Microsoft, screamed bloody murder.

    3. Re:Tried (for Windows) and killed by diegocgteleline.es · · Score: 1

      Thank Gawd Linux isn't using any relic of an OS that started in the 1970's as its base! No, no, all 100% 21st clean legacy-free implementation there.

      And BeOS is not very different in this area. The basic ideas that linux implements are the same used in windows or beos.

      As many people has already said here, the smp-friendliness of beos cames from the threading of all the userspace libraries. Linux handle millions of threads efficiently, you just need userspace that actually uses threads. GTK/QT and X.org just doesn't.

      It's funny to hear beos fans talk about this, even beos was not 100% "multithreaded", using a beos app wouldn't actually saturate all cpus in your system, it'd just use it a little. I've tried, I tried beos on my smp machine and cpu hungry applications would fully use the first cpu, but less than half of the capacity of the second CPU. I suspect that BeOS in a quad machine will result in most of the cpus not being used anyway. BeOS has the same problems than Linux, Windows and Apple in this area, they just were ahead.

    4. Re:Tried (for Windows) and killed by gnetwerker · · Score: 1

      Your note is correct, to a point, but contains a serious error as well.

      NSP was in part an attempt to forestall the rise of what are now known as GPUs. It is a matter of opinion whether, if it had been allowed to come to market, it would have "knecapped" the gaming industry. Personally, I doubt that, and I think that GPUs would have developed along a very similar trajectory, as the CPU doesn't do well many of the things the GPU grew to do.

      But with respect, your final statement is flat wrong. "Intel backed down because a lot of people, not just Microsoft, screamed bloody murder." This is just plain wrong. Few people knew anything about NSP before it was killed, and fewer still complained about it. A number of game developers were excited about it, because it would have allowed them to more easily bypass parts of Windows that got in their way.

    5. Re:Tried (for Windows) and killed by netcrusher88 · · Score: 1

      Thank Gawd Linux isn't using any relic of an OS that started in the 1970's as its base! No, no, all 100% 21st clean legacy-free implementation there.

      Indeed, thank Goddess it isn't. You'll notice it's evolved over it's ~15 years of life significantly. Journalling filesystems, ACL-enabled filesystems, b-tree filesystems... and that's just the FS concepts that nobody dreamed of in the 70s. Oh, and there are snapshot-ish FS's if that's your thing (ala VMS). New schedulers, new threading systems, new power management systems, new security systems, new memory management systems, all based on concepts that didn't exist in the 70s, or even when Linux was born.

      For the record, I'd say that Linux is far past its 21st implementation. 100% clean legacy-free code? Not by a long shot. But from what I understand, most of the kernel is relatively clean. There is a lot of legacy code in it, but not much, and a lot of it is scheduled for removal from the kernel. It sticks around in that state for a while to give people time to migrate from, say, DevFS (which never reached stable, but was so nice everyone used it anyway) to udev. And some code is there that hasn't been touched for years, because someone uses it and there is no reason to throw it out. If it works, why scrap it?

      --
      There's an old saying that says pretty much whatever you want it to.
    6. Re:Tried (for Windows) and killed by Man+On+Pink+Corner · · Score: 1

      I'm afraid that's not correct. Believe me, nobody was contemplating GPUs at the consumer level in the 1993-1994 timeframe. The initial target for NSP was audio-rate processing such as modems and MIDI synthesis.

      Further, it's absurd to say that "a number of game developers were excited about (NSP) because it would have allowed them to more easily bypass parts of Windows that got in their way." Nobody was seriously interested in doing game development for Windows at this time. The first Game SDK (pre-DirectX) hadn't even shipped when Intel began evangelizing NSP.

      The whole idea behind NSP was to add a layer of ring-zero crapware that nobody, not even Windows itself, could avoid dealing with.

  18. Yes by MarkPNeyer · · Score: 5, Interesting

    I'm a CS grad student at the University of North Carolina. I've never used BeOS, but I'm confident that responsiveness will increase, because the work I'm doing right now is attended to address this very issue.

    The thing that makes multi threaded programming so difficult is concurrency control - it's extremely easy for programmers to screw up lock-based methods, deadlocking the entire system. The are newer methods of concurrency control that have been proposed, and the most promising method (in my opinion) is 'Software Transactional Memory' which makes it almost trivial to convert correct sequential code to code that is thread-safe. Currently, there are several 'High Performance Computing Languages' in development, and to my knowledge, they all include transactional memory.

    The incredible difficulties involved in making chips faster are precipitating a shift to multicore machines. The widespread prevalence of these machines, coupled with newer concurrency control techniques will undoubtedly lead to an increase of responsiveness.

    --

    My blog
    1. Re:Yes by rivimey · · Score: 2, Interesting

      The best way, in my opinion, for people to create an application that uses concurrency is to design it that way. I know that sounds trite, but it's true. A simple example. If you start with a very large number of parallel processes, and wish to create a sequential version of them, the solution is so simple we delegate it to OS run-time in the form of the scheduler. If you have a single sequential process, and wish to create a large number of parallel process, the problem is so difficult that, in the general case, you can't (although some compilers manage some parts of the job, and some processors manage some parts). The formalism that has proved itself time and time again in getting parallel design right is Hoare's CSP, which promoted the idea of autonomous processes sending and receiving discrete messages to each other. The reasons for this include: - a process' memory (state) cannot be changed without its explicit say-so (because messages must be accepted, not just sent). - various properties ensure "WYSISYG", or compositional, programming - if you put two processes together that have been independedntly tested, you can be sure that their behaviour doesn't change just because you've put them together. This is not true of pthreads/winthreads (in general). - because there is a formalism (CSP) behind implementations such as JCSP (http://en.wikipedia.org/wiki/JCSP) there are clear program transformational rules, which helps in many ways to make programs safer. Do have a look... One last point. Once you have a somewhat threaded[1] system, UI responsiveness is, on modern systems, mostly a function of program size. Large programs (including the OS) find it very difficult to be responsive because the CPU is being asked to access items all over memory. The reason that is bad is that a memory access that misses CPU cache incurs an enormous penalty - maybe as much as 1000 CPU cycles - during which the processor is often twiddling its thumbs. Reducing code bloat is essential to improve this, not increasing the number of threads. [1] that is, tasks that take noticeable time are separated out.

      --
      Ruth Ivimey-Cook
      Software Engineer and Author
    2. Re:Yes by TheRaven64 · · Score: 1

      Most of your locking problems disappear when you use an asynchronous model to design your application. I've written code in Erlang that scales cleanly up to 64 CPUs (the most I had access to) without any problems. It also hides latency nicely, which will become important as NUMA machines become more common (AMD machines are all NUMA masquerading as UMA).

      --
      I am TheRaven on Soylent News
    3. Re:Yes by Coryoth · · Score: 1

      STM always struck me as the half-assed solution designed to let programmers not have to think. In that sense I see it is rather akin to C++ when it first came out. You could go with a proper language that was designed for OO from the ground up like Smalltalk or Eiffel, or you could stay in your happy little comfort zone and go for the half-assed kluge that was C++. Naturally, most programmers, being lazy bastards, chose the latter option because it didn't involve actually having to think; they could essentially stick with their old C style ways and sort of work in OO in a hacky sort of way where required. STM does the same thing; there are good solutions out there that make concurrency much easier (generally I'm thinking CSP/Actor model type stuff, such as Erlang here) but that would actually involve thinking about concurrency properly. Instead you can use STM which is pretty clunky and not the pleasant, but you can continue to write serial code as before and pretend that you don't really have to think about concurrency.

      Thus I predict that STM will win out as the option for how to handle concurrency, but it will do so to the detriment of us all.

    4. Re:Yes by chiph · · Score: 2, Insightful

      Forgive me, but STM is a crutch.
      Yes, it will help the programmer masses not shoot themselves in the foot, but the overhead in STM is phenomenal, and you're relying on Moore's Law to save you.

      If you want a responsive system (running on thread-unfriendly OSs like Windows) there's no substitute for knowing what you're doing.

      We currently have some offshore developers who are peppering their code with Thread.Sleep() statements, with sleep values selected so that the code kinda-sorta works on their machines. They might as well as be doing Thread.Sleep(Rnd()) for all the good it's doing them.

      What's needed is some education in how to write multithreaded programs -- and most universities are not able to provide that education or experience in the time available for a bachelor's degree.

      I wish that Palm had open-sourced the BeOs source when they acquired the company. Or at least the parts that weren't encumbered by other people's IP. If it had been placed on Sourceforge, it would have been a good starting point for people to learn how to do it correctly, and gotten some eyeballs on it to fix some it's warts.

      Chip H.

    5. Re:Yes by Anonymous Coward · · Score: 0, Funny

      I'm a CS grad student at the University of North Carolina. I've never used BeOS, but I'm confident that responsiveness will increase, because the work I'm doing right now is attended to address this very issue.


      Hey, everyone! Don't worry about multithreading! We've got a CS grad student at UNC taking care of it!

      :)

    6. Re:Yes by TodMinuit · · Score: 1

      We don't need newer methods for concurrency control. The actor model and CSP work just fine. CSP has been implemented in a handfull of languages, including Limbo. The actor model also has been implemented in a bunch of languages, including Erlang which has been used to build the massively concurrent British telecommunications system.

      Concurrency is a problem that was solved decades ago.

      --
      I wonder if I use bold in my signature, people will notice my posts.
    7. Re:Yes by Anonymous Coward · · Score: 0

      Concurrency is a problem that was solved decades ago.

      I totally agree. Unfortunately, stupidity wasn't, and so we see applications using threads in dangerous or badly designed ways even today. The same is true for OOP, MVC, and many other software architectural mechanisms that should really be understood by now.

    8. Re:Yes by jimbo · · Score: 1

      I never ever felt that concurrency control was difficult. Really, it's just a question of getting some experience under the hood and using good programming practices. Debugging it on an embedded system with no on-target debugger can be difficult at times.

      What I find difficult, in the extreme sometimes, is to figure out:
      1/ Whether it is possible at all to parallelize the task at hand
      2/ What the benefit will be (is it worth it).

      Sometimes these are mathematical problems more than anything and I suck at that...

  19. Proof MS set computer industry back by Tony · · Score: 3, Insightful

    I think both NeXTStep and BeOS are living (dead) proof that Microsoft set the computer industry back over a decade. It wasn't until MS-Windows 2k that MS-Windows was even close to NeXTStep in features, and the cost was a lack of simplicity. (The only downside to the NeXT: Netware networking sucked. But Netware networking sucked on everything but DOS, so I guess it's no surprise.)

    Same with BeOS. It had many features, including stability, ease-of-use, and responsiveness that MS-Windows can't seem to find today. Granted, neither can GNU/Linux or Mac OSX, but since they are hardly the predominant OS, I can't really fault them to the same extent.

    Anyway, it's an old rant. Never mind the ravings of an oldster who never got over the sopranoing Microsoft gave DR-DOS. Those like me are just bitter our careers turned from fun and interesting to tedious and dull because of Microsoft. Y'all go on and play with your shiny new toys. No, really, don't mind me. I'm just gonna sit up here on my porch and get rip-roaring drunk and talk about the old days, whether anybody's listening or not.

    --
    Microsoft is to software what Budweiser is to beer.
    1. Re:Proof MS set computer industry back by Billly+Gates · · Score: 1

      Linux is not where the industry is heading and the need for one solid platform being more important is being replaced with open internet standards like xml, ajax, java, apache, etc.

    2. Re:Proof MS set computer industry back by TheRaven64 · · Score: 1

      You know, NeXTStep isn't exactly dead. OS X is basically OPENSTEP with a new graphics subsystem, IOKit instead of the old Objective-C driver framework, and some MacOS 9 legacy compatibility stuff, plus a bunch of new frameworks. If you want something a bit closer to the old NeXT vision, come and join us over at Étoilé

      --
      I am TheRaven on Soylent News
    3. Re:Proof MS set computer industry back by Billly+Gates · · Score: 1

      Oops make the "not" to "now" as in Linux is now where the industry is heading ...

    4. Re:Proof MS set computer industry back by kahei · · Score: 1


      Unix killed NeXTStep. BeOS (a better OS than Unix and Windows -- perhaps not in terms of features but in terms of fundamental agenda) was killed by a combination of factors but mostly just the cost that it's hard to enter a market that's already been carved up.

      Also... if your career became tedious because of a change of vendor, really I don't think you had a career to begin with.

      --
      Whence? Hence. Whither? Thither.
    5. Re:Proof MS set computer industry back by Anonymous Coward · · Score: 0

      OS X is basically OPENSTEP with a new graphics subsystem, IOKit instead of the old Objective-C driver framework, and some MacOS 9 legacy compatibility stuff, plus a bunch of new frameworks.

      An Indy 500 car is basically a Model T with some different wheels and a bigger engine. Oh and sponsor stickers all over it.

    6. Re:Proof MS set computer industry back by Tony · · Score: 1

      We haven't *had* a change of vendor. Microsoft has dominated the scene for far too long.

      Unix killed NeXTStep.

      Unix didn't kill NeXTStep. Unix, at that time, was almost exclusively a server OS. The NeXT was trying to bring a Unix-like OS to the desktop. It was far easier to use than MacOS or MS-Windows, had the full memory protection of Unix, and was all-around a superior OS to MS-Windows.

      The fact that MS-Windows was sold by all PC vendors is what killed NeXT. It was stillborn.

      BeOS (a better OS than Unix and Windows -- perhaps not in terms of features but in terms of fundamental agenda) was killed by a combination of factors but mostly just the cost that it's hard to enter a market that's already been carved up.

      It's hard to enter a market in which the only real player won't let you on the playground. Be Inc. offered to let PC vendors install BeOS for free, even in a dual-boot configuration. According to Jean-Louis Gassée, the PC manufacturers told him their deals with Microsoft wouldn't let them.

      Microsoft's stranglehold on the distribution chain has caused much, much damage. You can blame DR-DOS, OS/2, BeOS, NeXT, and a slew of other vendors/products on "market forces," but the only market force that matters to any degree is Microsoft's regulation of the PC distributors.

      --
      Microsoft is to software what Budweiser is to beer.
    7. Re:Proof MS set computer industry back by Actually,+I+do+RTFA · · Score: 1

      Granted, neither can GNU/Linux or Mac OSX, but since they are hardly the predominant OS, I can't really fault them to the same extent.

      Why? Marketshare and quality are somewhat independent. If you meant to say that Windows not have a feature implies that Linux and OSX don't have it, you must have meant to imply that Windows is a superior OS in every way.

      Also, you refer to MS Windows and Mac OSX, and in the same breath to GNU/Linux... but I suppose that's a seperate rant.

      --
      Your ad here. Ask me how!
    8. Re:Proof MS set computer industry back by Joe+The+Dragon · · Score: 1

      you forgot OS/2 it was a better os and was able to run windows apps faster then on windows was so what did M$ do they stopped helping them and came out with updates to windows to brake win os2.
      and they also stopped it form being per loaded on new systems.

    9. Re:Proof MS set computer industry back by Anonymous Coward · · Score: 0

      holy crap! 765!!

    10. Re:Proof MS set computer industry back by drsmithy · · Score: 2, Informative

      It wasn't until MS-Windows 2k that MS-Windows was even close to NeXTStep in features, and the cost was a lack of simplicity.

      Depends on what you're measuring. NT had (still has, comparing to OS X) better internals - SMP, fine-grained locking, etc, etc.

    11. Re:Proof MS set computer industry back by drsmithy · · Score: 1

      It was far easier to use than MacOS or MS-Windows, had the full memory protection of Unix, and was all-around a superior OS to MS-Windows.

      Bollocks. Even with all the work Apple has done to NeXT since buying it, NT is *still* better in many ways (anything to do with multiple CPUs, for example).

      The fact that MS-Windows was sold by all PC vendors is what killed NeXT. It was stillborn.

      Uh, no. The $10,000 workstation you had to buy to use it was what killed NeXT.

      It's hard to enter a market in which the only real player won't let you on the playground. Be Inc. offered to let PC vendors install BeOS for free, even in a dual-boot configuration. According to Jean-Louis Gassée, the PC manufacturers told him their deals with Microsoft wouldn't let them.

      I'm sure BeOS's still-beta status, dismal hardware and software support and complete lack of presence outside a tiny core of geeks had nothing at all to do with their decision.

    12. Re:Proof MS set computer industry back by Ash-Fox · · Score: 1

      you forgot OS/2 it was a better os and was able to run windows apps faster then on windows
      The funny thing is that I find games often run faster under Linux+Wine than they do under native Windows on the same hardware.

      was so what did M$ do they stopped helping them and came out with updates to windows to brake win os2.
      I have heard this argument many times about 'Microsoft breaking OS/2 windows support', some of these updates are known as... Win32s, vxd drivers etc.

      Microsoft made Windows evolve. Could Microsoft have made 32bit support and a whole new driver framework that would work with OS/2? Well, perhaps, but it would of required investing a lot into a system that wouldn't work that well.
      --
      Change is certain; progress is not obligatory.
    13. Re:Proof MS set computer industry back by Anonymous Coward · · Score: 0

      So, aside from a different kernel, userland, and GUI, it's all the same?

    14. Re:Proof MS set computer industry back by Richard+Steiner · · Score: 1

      I have heard this argument many times about 'Microsoft breaking OS/2 windows support', some of these updates are known as... Win32s, vxd drivers etc.

      Mostly Win32s updates, actually. Windows 3.1 support was almost totally complete in OS/2 2.1 and later due to IBM having the actual source to Windows 3.1 through an agreement with Microsoft (the WinOS2 subsystem is a tweaked and recompiled version of the real Windows 3.1 code), but every few months a Win32s update would be released which changed various aspects of Windows' behavior. Since many software makers decided to use the latest and greatest WIN32S.DLL in their products whether or not they actually used the new features, this presented a moving target to OS/2 users.

      IBM kept up with Microsoft's changes for a surprisingly long time, but Win32S 1.30 actually changed the virtual machine size and used very high memory locations by default, breaking support in OS/2.

      Microsoft made Windows evolve. Could Microsoft have made 32bit support and a whole new driver framework that would work with OS/2? Well, perhaps, but it would of required investing a lot into a system that wouldn't work that well.

      OS/2 Warp 4 actually has a sizable amount of support for the real 32-bit Win32 API, mainly intended to ease the porting of Windows software to OS/2. The Odin project takes advantage of those libraries (formally called DAX and then DAPIE before finally being called Open32).

      --
      Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
      The Theorem Theorem: If If, Then Then.
    15. Re:Proof MS set computer industry back by TheRaven64 · · Score: 1

      The kernel and userland are incremental improvements (XNU is an update to the OPENSTEP/Mach kernel, and the userland is an updated version of the old 4BSD userland supplied with OPENSTEP, largely to the FreeBSD version (although with some NetBSD contributions). The GUI is very similar; the APIs are incremental improvements at the high level, and at the low level they moved from a PostScript to a PDF model for more deterministic rendering times. Apart from some eye candy and MacOS compatibility, OS X is basically OPENSTEP 5. It's not the same as OPENSTEP 4.2, but most of the changes are incremental.

      --
      I am TheRaven on Soylent News
    16. Re:Proof MS set computer industry back by Frumious+Wombat · · Score: 1

      NeXTStep isn't dead, it just evolved into OS-X (which given current Mac sales may make it the most prevalent Unix out there). OTOH, you're right about uSoft setting the industry back. In 1987 I could have bought a 386/16 which matched in performance our VAX 11/750 (if you were willing to drop $800 on the math coprocesser). Sun built a Unix workstation around it. Microsoft's answer? 8-bit DOS 5.x. It wasn't until Grad school, when I convinced my boss to buy the Watcom compilers for the lab that we actually made those machines sing. The DOS extender for the Windows 3.0/DOS hold-outs, and native OS/2 32-bit apps, ported straight off the VAX, for everything else.

      Then there's the lack of queueing (VMS, late 70s) multiple jobs in the background, and the database-based WinFS that was supposed to ship with Vista (IBM AS/400), Virtualization (IBM, 1960s), TCP/IP (stolen at the last minute from BSD, and relabeled Microsoft TCP/IP), included compiler to encourage tinkering (Unix 1970s, MSDOS 1981). They just have a real bad case of NIH (not invented here), which they should get over.

      A former boss who'd dealt professionally with microsoft in the 80s put it, "the problem is, Bill has a vision..... One vision, and it's mired in the 1970s."

      btw, the only problem with NeXT is that they were freaking expensive. Mathematica alone must have been $500 of the base price.

      --
      the more accurate the calculations became, the more the concepts tended to vanish into thin air. R. S. Mulliken
  20. Why can't we learn from the past? by Anonymous Coward · · Score: 0

    This is just another example of wonderful old technology that has gotten lost instead of getting incorporated into the current technology.

    It makes old folks boring, but when they go on and on about how wonderful something was in many cases they are right. Burroughs processor architecture... Multics security... AppleTalk networkings ease of use... why can't the new stuff be as good as the old stuff, rather than being a quantum leap ahead in some aspects but a quantum leap behind in others?

    As nearly as I can tell, the computer industry has the worst case of Not Invented Here I've ever seen. Somehow it seems as if we lovingly keep all the worst crap from the past, but completely throw out the good stuff.

    1. Re:Why can't we learn from the past? by soft_guy · · Score: 1

      As nearly as I can tell, the computer industry has the worst case of Not Invented Here I've ever seen If you think the computer industry is bad in this respect, you know very little of other industries. They all have this problem whether you are talking about cars, appliances, pens, firearms, or whatever.
      --
      Avoid Missing Ball for High Score
    2. Re:Why can't we learn from the past? by nightgeometry · · Score: 1

      Quantum - definition - "The smallest physically realizable unit of something.", "The smallest discrete amount of any quantity (plural: quanta)." and various others

      Why do people say quantum leap thinking it means a huge jump, when it should in fact be the smallest movement possible? Am I just being cranky?

      yeah yeah, I know that google page has a link to ;quantum jump' one defn of which is a huge leap. So mod me redundant or something.

      --
      The best is the enemy of the good
  21. I hope so by hcdejong · · Score: 1, Insightful

    given that Windows still bogs down at the drop of a hat.

  22. Amiga beat them all by Anonymous Coward · · Score: 4, Informative

    Serious back in the mid 1980's I used to love putting PC and Mac owners to shame by showing them literally dozens of open, active graphics applications displaying animations, while formatting a floppy disk, and downloading a file online, and still having a normal responsive system with no hic-ups, all in a computer with on 128MB RAM.

    Amiga was a multi-tasking, multi-threaded OS, with multiple processors (graphics and I/O were separate co-processors operating on opposite clock cycles from the CPU, and the graphics co-processor could be dynamically loaded with special executable code).

    It was so far ahead of it's time that people today still don't believe it existed in the 80's when I tell them about it.

    But just because it was better than everything else did not assure it's success. A concept the BeOS fanbois might be familiar with.

    1. Re:Amiga beat them all by nogginthenog · · Score: 5, Insightful

      128MB? In the mid 80s? Maybe you mean 4Mb :-)

    2. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      See?!?! No one believes me. ;-)

      That should have been a K not an M. And actualy it should have said 256KB, with an option to expand it to 512KB. And that included space for the OS! Oh, and forgot to mention that it was a fully 32-bit OS and applications back when most everything else was still 8 bit code.

      http://en.wikipedia.org/wiki/Amiga

    3. Re:Amiga beat them all by GreggBz · · Score: 5, Informative

      Hey, I'm all for Amiga's but in the mid Eighties, if you had 128MB of ram and was downloading a file online, you must have been from the future.
      What the heck are you talking about?

      Just to be a little more correct here, I'm no hardware engineer but will try to be far more accurate.

      The Amiga had a great messaging system in it's OS, you could easily pass messages to other windows and programs in intuition. Further, you had all that ARexx stuff, and you could script programs to interact very easily with it. Basically, every program could listen on it's own ARexx socket for commands from other programs. Of course, there was the poor (read, no) memory protection which made things very unstable if you did not know what you were doing. Despite all this cool stuff, the OS was actually the weakest link. It was rushed. I remember reading specs on the original intended, but non-implemented file system, and it was about as robust as a single user file system could possibly get.

      You also had preemptive multitasking (not true co-operative) and a fantastic unified memory architecture with a very fast blitter. Another nice thing was
      that the kernel was contained on ROM so that it booted quicker then any other platform of it's day, and still faster then most this day. And all those chips played nice
      and were synced to an internal clock that ran on NTSC (or PAL) timings. This, of course, meant that interrupts worked seamlessly, and the chipset was handily compatible with video signals from television equipment. That last thing turned into an incredible boon for the entire film and television industry.

      The strength of the Amiga was it's bus and it's architecture. They absolutely nailed so many things in it's design, it really was a thing of beauty.

    4. Re:Amiga beat them all by Anonymous Coward · · Score: 3, Informative

      Corrected the memory size in another reply. The base system had 256KiloBytes of RAM. Sorry for the mix up, I'm so used to putting MB after memory sizes. ;-)

      As for downloading files online, back then "online" meant downloading from BBS systems. The closest thing to the internet back then for the average consumer was FidoNet.

      http://en.wikipedia.org/wiki/Fidonet

      And yes, the lack of an MMU, as well as a lack of FPU, in the CPUs used in the early models was a shame. But it did keep the price of the system within reach of the average Joe Computer Geek.

    5. Re:Amiga beat them all by Anonymous Coward · · Score: 1, Insightful

      It also wasn't pre-emptive, nor did it have protected memory. It also didn't keep up with progress, when it ultimately died there really wasn't anything special to it, and the various recreation projects are struggling to retrofit more modern concepts into the basic design.

    6. Re:Amiga beat them all by man_of_mr_e · · Score: 3, Insightful

      Apart from the corrections already brought up, the Amiga was rife with limitations and problems of its own. It worked great in the narrow range that it was designed for, but had all kinds of other issues. For example, upgrading the video was a hack job that usually require patching the ROM libraries with ones that new about the new video hardware. It was tightly integrated, which meant doing anything outside what it was designed for was often difficult and expensive.

      And I was an amiga fanatic. And, while I held out hope that Commodore would get their act together and provide the features that were rumored and needed (DSP's, retargetable graphics, etc..) I always knew it would never happen. If only Dave Haynie had been allowed to do what he wanted, but then again that probably would have made it too expensive for people to buy.

    7. Re:Amiga beat them all by operato · · Score: 1

      what are you smoking? i want some! amigaos was pre-emptive. it ultimately died because commodore went bust due to a negligent management. aros is going well.

    8. Re:Amiga beat them all by Zaiff+Urgulbunger · · Score: 1

      It was preemptive!

      But you're right about the lack of memory protection, but then again, did Windows 9.x have memory protection? 'cos if it did, it didn't help reliability much did it?! ;)

      When the Amiga died, it was less "special" (compared with other platforms) than when it was created, but remember it died circa 1992-ish when the PC world only had Windows 3.x to offer. The things that killed Amiga [IMHO] were No. 1 mis-management by Commodore (let's face it, they were not cut out as a modern business.. seriously!), and No. 2 they were comparatively expensive; they should've adopted IDE HD's earlier than they did.

      **I hate that I've been dragged into this thread and turned into "one of those" people who talk up the Amiga like it's about to return or something.


      ...

      ..that said, I'm sure 2008 will mark the return of AmigaOS! :D

    9. Re:Amiga beat them all by MysteriousPreacher · · Score: 1

      Well, 8-bit if you're comparing it to the obsolete hardware of the day - the Commodore 64 for example.

      Mac OS was using 24-bit addressing (on the same family of processors as the Amiga) and Windows of the era was 16-bit if I remember correctly.

      The Amiga was an amazing machine. I was still using mine until the late 90s.

      --
      -- Using the preview button since 2005
    10. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      A system where a single task can lock out all other by eg. disabling interrupts is not pre-emptive. And when I tried out MorphOS a couple of years ago they had the "A-box" classic Amiga environment working pretty well, but the advanced "Q-box" which would offer memory protection etc. never happened. IIRC AmigaOS 4.0 is in pretty much the same shape.

    11. Re:Amiga beat them all by Dun+Malg · · Score: 1

      ...meant downloading from BBS systems. So, what do you suppose the 'S' in "BBS" stands for?
      --
      If a job's not worth doing, it's not worth doing right.
    12. Re:Amiga beat them all by antime · · Score: 1

      Win95 ran all Win32 tasks inside one process, it was one of the many disgusting compromises done in the name of speed. (Microsoft had promised Win95 would run on a 386 with 4MB of memory, and unfortunately they kept that promise. You couldn't really do anything with a machine like that, but the OS booted.)

    13. Re:Amiga beat them all by operato · · Score: 1

      ok, give me an example of a single task locking out all others. morphos is more like a fork than a continuation. and os4 is just a half baked attempt (ie. it was to port from 68k to ppc) from which will develop more in the future (hopefully).

    14. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      Sex?

    15. Re:Amiga beat them all by VGPowerlord · · Score: 1

      Just to be funny, I'm going to say Software. :P

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    16. Re:Amiga beat them all by tkrotchko · · Score: 1

      The Amiga 1000 (I think) had 256K memory standard, and the best option was to get the 256K memory expansion to fill up "chip" memory. There was no standard way of adding "fast" memory to an amiga internally until the 500/2000.

      I have to admit, I miss my Amiga 4000.

      --
      You were mistaken. Which is odd, since memory shouldn't be a problem for you
    17. Re:Amiga beat them all by edwdig · · Score: 1

      You're thinking of Win16 tasks. Win16 programs expected cooperative multitasking, whereas Win32 programs expected preemptive. To avoid breaking the interactions between Win16 programs, they were all run under one process, which internally handled the cooperative multitasking.

    18. Re:Amiga beat them all by Jon+Kay · · Score: 1

      Amiga was a multi-tasking, multi-threaded OS . . . But just because it was better than everything else did not assure it's success. A concept the BeOS fanbois might be familiar with.

      Actually, I'd say its high level of threading support was one big reason it failed. I found writing for it hard because I'd spend vast time debugging the multithreading and communication bits. They must've had to pay alot for programmers and their software upgrades were generally slow to come and late.

      Yes, overall, we'll see more and more better-threaded programs because of widespread multiprocessors, but slowly because they're hard to write.

      Notice that, though AmigaDOS could multithread well (except when it crashed, which happened alot because it had no MMU), that also slowed down its overall pace of doing things because there's an inevitable performance overhead for threading. E.g., yeah, you could issue several graphics programs, but the frames got pretty slow, slower than they would've been if running in one program.

    19. Re:Amiga beat them all by wall0159 · · Score: 3, Informative

      "128MB? In the mid 80s? Maybe you mean 4Mb :-)"

      Actually, I think the GP probably meant 128KB.

      My parents bought a 486SX33 in 1994, and that had 4MB, but in 1985....

    20. Re:Amiga beat them all by aim2future · · Score: 1

      Notice that, though AmigaDOS could multithread well (except when it crashed, which happened alot because it had no MMU)

      True, but there were a lot of extension boards which included MMU, like the Fusion40 (with 68040) board. A friend of mine wrote an MMU handler that had e.g. memory protection, which allowed a lot of crashes to be catched so only that program would have to be killed as in all modern OSes (if the program hadn't destroyed any structures in chip memory (that common DMA area for blitters etc) that couldn't be MMU protected. This MMU handler didn't reach mainstream though, but I think he made a deal with that Canadian company so you could get it when you bought a Fusion 40 accelerator.

      I actually used my Amiga with Fusion40 in my research work until 1996 when I started running Linux instead. There are still features I miss from AmigaDOS like the global environment variables.

    21. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      I still have a Amiga 1200 and 500

    22. Re:Amiga beat them all by Dun+Malg · · Score: 1

      Sex? Hah! You wish!
      --
      If a job's not worth doing, it's not worth doing right.
    23. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      did not assure it's success

      "its".

    24. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      a great messaging system in it's OS
      could listen on it's own ARexx socket
      any other platform of it's day
      was it's bus
      and it's architecture
      so many things in it's design

      "its".

    25. Re:Amiga beat them all by snuf23 · · Score: 2, Informative

      The Amiga performed much better with at least 1MB of RAM. The upgrade to 512KB on the original Amiga 1000 was almost mandatory as a lot of applications required it. On the Amiga 500 the expansion to 1MB was very popular as something simple such as adding a second disk drive could use up a little memory and make programs wanting the 512KB not run.

      --
      Sometimes my arms bend back.
    26. Re:Amiga beat them all by CarpetShark · · Score: 2, Informative

      Wrong. The very first Amiga was 256KB, the most popular varieties were 512k-16MB (averaging 1-2MB, probably).

    27. Re:Amiga beat them all by DusterBar · · Score: 3, Informative

      From today's perspective (and even 10 years ago) the Amiga has many limitations. But lets not forget that the Amiga started over 20 years ago! (Boy, I must be getting old...)

      Multi-threaded programming was a core feature of the Amiga. The UI, Filesystem, core input management, sound, etc. All were managed via threads. This is what allowed some of the very smooth behaviors that so many still talk about today. (Albeit with some rose colored glasses)

      Yes, multi-threaded programming is hard for those who learned with BASIC on C64/Apple-II and MS-DOS environments. But that does not mean it is (or was) fundamentally hard. It just takes a slightly different mindset and approach.

      There are many times I had wished other platforms had good multi-threading. After leaving Commodore-Amiga, I actually built/designed something known as MMOS on top of which Scala technology then moved to. Multi-tasking/multi-threading makes some of the harder problems just so much easier to solve. (Especially in event-based or near-real-time systems)

      I am generally amazed at how many people have difficulty with the multi-threading concept. I was amazed back then and even more so now. One time, I worked with a 3rd party ISV to help them with some software design of a game for the Amiga. They ended up really "getting" the treading concept, so much so that they had to write their own threading OS layer on top of DOS in order to port the game to MS-DOS. (A hockey game where each computer player AI ran in its own thread and the display thread did the coordination of behaviors - it was a great game for its time).

      BTW - The entire AmigaOS software team could fit in a single van (and did a number of times when going out to events). (Ok, a large van, but still a van). Our whole team was less than 1/30th the size of the Apple OS team in the late 80's and an unimaginable amount less than the Microsoft Windows team. As far as slow/late software upgrades - the AmigaOS 2.0/2.04 software upgrade was a long time in coming as the target kept moving and we had this "99.99% compatible" requirement, even for software that was doing silly things like assuming certain values in undocumented OS data structures. Even so, the upgrade was only 16 months late relative to the initial target date, of which 6 months was trying to convince the marketing department that they should actually sell the upgrade. (They thought that the Amiga was not worth doing upgrades - users should buy new ones)

      -- ex-Commodore-Amiga OS Systems Engineer (Exec/Expansion/680x0/Audio/Layers/Workbench/IEEE/ etc.)

    28. Re:Amiga beat them all by mdwh2 · · Score: 1

      It also wasn't pre-emptive, nor did it have protected memory.

      It was pre-emptive. No, it didn't have protected memory, like many other operating systems of the time. Honestly, I'm not sure why people keep grinding on about this point - OS X and Windows NT didn't exist back then, and Linux was far from user-friendly at that point.

      It also didn't keep up with progress

      Well, the company going bust might have had something to do with that...

      and the various recreation projects are struggling to retrofit more modern concepts into the basic design.

      Which at the end of the day is a hard job for any OS. Look at the struggle of improving DOS/Windows 9x - finally it was better to switch to the NT line. And Apple didn't even bother, they had to ditch the old MacOS altogether rather than trying to fit in basic technologies like pre-emptive multitasking or protected memory (indeed, getting back on topic - BeOS was at one time a candidate for the replacement OS).

    29. Re:Amiga beat them all by RoboJ1M · · Score: 1

      Acorn Archimedes A3000, 4MB RAM, ARM2 CPU (8MHz 32bit RISC) running RISC OS 2.
      Also put PCs to shame. And Amigas.
      It could even do hardware emulation of it's predecessor, the Acorn BBC Microcomputer.
      All multi-threaded as well.

      J1M.

    30. Re:Amiga beat them all by guriboy · · Score: 1

      I lived overseas when the Mac came out in 1984, and when I got back to the states in 1985, the first computer I saw was the Amiga. It was impressive. I remember how disappointed I was when I finally saw a Mac some months later.

    31. Re:Amiga beat them all by Anonymous Coward · · Score: 1, Informative

      The Archimedes put atari STs to shame, not amigas particularly. Archies were cooperative multitasking - processes had to yield the CPU, or they would starve other processes. Amigas had pre-emptive multitasking. While the Archie's default-CPU ARM processor was undoubtedly faster than the CPU of a default-CPU Amiga, Archies burnt much of their faster CPU's time on doing stuff the Amiga had secondary processors doing in the background.

    32. Re:Amiga beat them all by Jon+Kay · · Score: 1

      True, but there were a lot of extension boards which included MMU,

      ..yeah, but not until most of the market window had passed. It was certainly too late to help me.

      ...But that does not mean it is (or was) fundamentally hard. It just takes a slightly different mindset and approach.

      ..yes, of course. You can walk up to any computer anywhere, whisper to it in multithreaded assemly and have it do whatever you want. The rest of us are human, though. Nor was the Amiga my only experience of low productivity in multithreaded environments.

      The entire AmigaOS software team could fit in a single van

      Doesn't that just mean the time for serioup upgrades is even more of a flag? And, C/A was famously undercapitalized, wasn't it? It didn't take much to give it financial trouble. And, despite its platform's success, it was ALWAYS in financial trouble.

      As far as slow/late software upgrades - the AmigaOS 2.0/2.04 software upgrade was a long time in coming as the target kept moving and we had this "99.99% compatible" requirement, . . . .

      Yeah, but everybody else has management problems, too. OK, C/A's really was bad, especially its sales. But, FIVE YEARS to see major improvements? Also, how much of that target motion was due to the market window moving while multithreading-related difficulties were being debugged?

      Plus, there were other implications. Half the computer-related companies in the world were talking about how they were working on an Amiga port or version of their product. But not so many of those actually showed up, and those mostly showed up late and had fewer versions than other platforms.

      Since we have no Amiga without AmigaDOS (until Amigix, way too late) to compare with, of course we don't know how much a less-threaded OS would've helped or hurt, and how many of its troubles were due to executive vs technical mistakes, so I'm just speculating.

    33. Re:Amiga beat them all by mdwh2 · · Score: 1

      For example, upgrading the video was a hack job that usually require patching the ROM libraries with ones that new about the new video hardware.

      In what sense do you mean upgrading video hardware? I mean, the custom chipset couldn't be upgraded - so yes, that was a downpoint, but using a standard chipset had advantages too.

      It was a problem that there was never official support for graphics cards, but remember this was at a time when PC and Mac graphics weren't anything special to speak of in comparison. By the mid-to-late '90s, Commodore had gone bust, so it's not surprising that hacks were needed to keep things up to date.

      I don't think the Amiga's "range" was any narrower than PCs or Macs of the time, which were also limited compared to today's machines.

    34. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      The Amiga's were cool and ahead of their time, and could put the other guys to shame in SOME ways, but not ALL ways. Disk acess on the Amgia was very slow. I used to test my old 4.77mhz XT clone against a buddy who had an Amiga 500, and if anything involved drive access, my crate would pull ahead - which was a lot, since neither of us head harddrives.

      He used to take me to the local Amiga users club. The multitasking was very cool, and so were the pre-rendered 3D animatiosn and such, but merely getting the directory on a hard drive caused a delay. Compare that to a 286 with a hard drive, and it just FELT faster.

      I was able to run DesQview on my old crate, even with 640k ram and it multitaskted very well actually. I could, for example, be downloading something from a BBS and mess around in DOS at the same time, or even run simple games, even graphical games, though they would pause when I switched to the term program - my version couldnt multitask grpahical apps. Of course, at the time, most DOS apps were console apps, and even my friend would do many things from the Amiga "cli". My term program, Telix, was actually "DesQview aware", meaning it could draw to the screen FAST without clobbering other running programs.

    35. Re:Amiga beat them all by drinkypoo · · Score: 2, Informative

      Most Amiga 1000s I have seen had only 512kB, most 500s have had 1MB (the expansion had the realtime clock in it, too, sigh.) Most 2000s had 1MB, but lots had 2MB, after that all bets are off. A friend of mine had an A500 with 16MB (he hacked a Zorro II slot onto the side.)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    36. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      Any modern computer, running any modern OS, can execute "dozens of open, active graphics applications displaying animations" (at 1980's resolutions) while "downloading a file online" (at 1980's speeds). No, you cannot play a dozen of DVD-quality movies at the same time, while downloading something at 100Mbps, but you could not do that back in 1980 either.

      The problem is that our demands are still growing faster than hardware is.

    37. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      Any modern computer, running any modern OS, can execute "dozens of open, active graphics applications displaying animations" (at 1980's resolutions) while "downloading a file online" (at 1980's speeds). No, you cannot play a dozen of DVD-quality movies at the same time, while downloading something at 100Mbps, but you could not do that back in 1980 either.

      True, but we have machines that are 1000x the speed of the ones we had in the '80s, with 1000x the memory and 1000x the disk space. That doesn't equate to 1000x the performance, though.

      Just to give you an idea of how fast 3 GHz is, take a DVD video stream. Imagine for the sake of argument, that the video stream is uncompressed, there are no bus bandwidth problems, and the processor can write 1 pixel to the screen per cycle.

      A DVD frame is 720 x 480, or 345,600 pixels. Say you move a 32-bit word for each pixel (24-bit color + alpha), that's 1,382,400 bytes per frame. 30 frames a second gives 41,472,000 bytes per second, 10,368,000 32-bit words per second.

      3 billion cyles per second divided by 10,368,000 is about 290, so in ideal conditions that's how many DVD-size videos a 3-GHz processor could blit onto the screen at once.

      Of course, the real world ain't like that, because of HD and bus bandwidth issues, the overhead for video decompression, and the other tasks the processor must execute at the same time. But I certainly would expect a modern computer to be able to handle at least a dozen DVD-size streams without stuttering, and as I'm sure you're aware, we're nowhere near that.

      Parallelizing the data streams is the most effective step, but it's essentially a hack onto Von Neumann architecture. The CPU has to be involved in way too much; ideally it should just be able to tell the video hardware "start this stream at this point, in this window - I'll tell you when it changes position" and the graphics subsystem would do the rest. Then the user could drag around dozens of DVD-quality movies at the same time. The Amiga had a head-start on that very idea.

      - Neal

    38. Re:Amiga beat them all by rkww · · Score: 1

      I had Perq 5 in 1987 that had 132Mb of RAM :-)

      4Mb of video RAM and 128Mb of general purpose. About £15000 worth at the time...

    39. Re:Amiga beat them all by Anonymous Coward · · Score: 0

      I had Perq 5 in 1987 that had 132Mb of RAM :-)

      4Mb of video RAM and 128Mb of general purpose. About £15000 worth at the time...

      Interesting. Wasn't that marketed by Crosfield Electronics as the Studio 9xxx workstation? ...68020-based if I'm not mistaken. About on a level with Quantel's Harry?

  23. Multithreaded Windows by Tablizer · · Score: 5, Funny


    [BSOD]

      . , . . , . . [BSOD]

      - . [BS0D]

    [BSOD]

      . . , . [BS0D]

      - . [BSOD]

    1. Re:Multithreaded Windows by Anonymous Coward · · Score: 0

      Hey, you forgot to add [reboot] between [BSOD]s ;)

    2. Re:Multithreaded Windows by Billly+Gates · · Score: 1

      You just described where I used to work with a clusters of NT4 and win2k servers with an expensive switch. Of course 1 sun machine could handle it for a fraction of the cost but hey it was in all 100% ms integrated solution that would save money! Whatever it was still funny as the machines went down every other day but no one would know due to the switch/cluster.

  24. yup BeOS rocked. by tempest69 · · Score: 1
    BeOS was brutal..

    I still get weird clicks when my XP box plays mp3s. My iMac (core2duo 3gb-ram) gets a bit flaky when it gets busy, and it will lag a bit when asked to move things around.

    When I completely blasted my Be and it still manages to keep the mp3 from sounding like garbage. It was freaky smooth to deal with.. I still think of the Bebox when thing get weird.. Shame that it got killed the way it did.

    Storm

  25. Clarify the claims a bit by Anonymous Coward · · Score: 0

    Eight 160x100 videos simultaneously?

    1. Re:Clarify the claims a bit by Anonymous Coward · · Score: 0

      8 * 160x100 = 1280x800 which is more pixels than 720p HD. Pretty good for a dual 266 pII machine.

    2. Re:Clarify the claims a bit by Anonymous Coward · · Score: 0

      Wrong. 8*160x100 = 160x800 or 1280x100 but not both.

    3. Re:Clarify the claims a bit by msuarezalvarez · · Score: 1

      8 * 160x100 = 1280x800 ?!

    4. Re:Clarify the claims a bit by goaty_the_flying_sho · · Score: 1

      yeah dude, i just bought a second monitor and i have FOUR TIMES the desktop space i did before!

    5. Re:Clarify the claims a bit by Anonymous Coward · · Score: 0

      In 160x100, the x really means multiplication. You must actually do this: 8 * 160 * 100. Not 8 * 160 and 8 * 100.
      Honest, no joking. :) You basically have 160 columns each containing 100 pixels. 160*100.

      160*100 pixels = 16,000 pixels.

      16,000 pixels * 8 = 128,000 pixels.

      1280*800 = 1,024,000 pixels.

  26. He committed suicide by appointing LBJ VP by HornWumpus · · Score: 1

    That was just plain suicidal. Which is why Hillary will never be VP.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  27. JFK was Jewish. by Anonymous Coward · · Score: 0, Offtopic

    No, really.

    He was shot in the temple.

  28. Time to load applications by LiquidCoooled · · Score: 2, Insightful

    The time to load apps is still routed in the size of the exe and the work needed doing to run it.

    Old systems didn't have bloat because characters were bytes and graphical entities were flat bitmaps.
    Nowadays we have jpeg encoded resources and double byte strings and all sorts of other magical crap.
    Programs were (mostly) written for one language and didn't need to adapt themselves to multiple systems.

    I bet if you tried to work inside the restrictions of olders systems programs would fly along now, startup times would be low, response times would be low.

    Just because we have faster systems does not mean we can add more bloat.

    --
    liqbase :: faster than paper
    1. Re:Time to load applications by antime · · Score: 1

      Storing all graphical resources for modern resolutions and bitdepths as uncompressed bitmaps is a great way to reduce bloat! And who the fuck needs any characters not included in the ASCII set? Speak english or die, I say. To further reduce bloat and speed up start times we should also ditch shared libraries, because it's far more efficient to link everything statically than having to deal with relocations and shit. In fact, we should all go back to single-tasking computers so the operating system doesn't have to waste resources juggling several programs at once. In fact, why don't we ditch the operating system altogether?

    2. Re:Time to load applications by Just+Some+Guy · · Score: 1

      Just because we have faster systems does not mean we can add more bloat.

      You're smoking crack. Old systems sucked. Do you really think that embedded bitmaps and the inability to work outside of Europe and the Americas is good? Or maybe you liked the days when every word processor came with its own set of printer drivers. That, to me, is bloat.

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:Time to load applications by Billly+Gates · · Score: 1

      "single-tasking computers so the operating system doesn't have to waste resources juggling several programs at once. In fact, why don't we ditch the operating system altogether"

      Ahh the old days of DOS where the bios used to read input from the keyboard because DOS could not handle it. More like a shell than an operating system. I wonder how fast those 386s were with limited binaries like you described above vs apps today? When WIndows95 and Java came out it showed their age.

  29. Re:Yes...well, maybe eventually... by kimanaw · · Score: 3, Interesting
    Unfortunately, STM is very resource heavy and very slow. Yes, it abstracts away lots of issues, but that abstraction comes at a significant cost. In most instances, STM is slower than "classic" locking schemes until 10+ cores are available. (FYI: University of Rochester has a nice bibliography for STM info)

    If/when the CPU designers currently screaming "more threads, more threads!" at us coders get around to implementing efficient h/w transactional memory, painless fine grain parallelism may become a reality. Until then, STM may be fine for very large applications on systems with huge memories and lots of cores, but probably isn't an option for the average desktop.

    But STM does present some intriguing possibilities for distributed parallel environments (think STM + DSM).

    --
    007: "Who are you?"
    Pussy: "My name is Pussy Galore."
    007: "I must be dreaming..."
  30. Ummm... by Bluesman · · Score: 3, Insightful

    The big advantage with threads is that the TLB doesn't have to be flushed on a context switch, since they share the same address space. This has great performance advantages over processes, but you lose all of the advantages of protected virtual memory, hence the need for locks, mutexes, critical sections, etc. Threads are actually a step backward from a reliability/security standpoint.

    BeOS was a single-user system, if I recall, so that partially reduces the need for the security features that having multiple processes provide.

    But beyond that, modern OS's seem to offer a lot more flexibility. They have processes if you want separation of address space, shared memory if you need better performance for communication between threads, threading if you want a shared address space, and user-level threading libraries for the ultimate in performance if you're willing to spend the time to code it properly.

    Being able to watch eight movies at a time is a neat trick, but it's not particularly useful, especially when we'll soon have processors with a ridiculous amount of cores on them. With a large number of cores, the overhead of a process context switch is hardly more than that of a thread, since a CPU intensive process can run on its own core.

    I think the future of OS's is more likely to be in micro-kernel architectures that can move processes around efficiently to balance the processing load between many CPUs. Or a hybrid microkernel/monolithic architecture that could run the big kernel on one CPU for tasks that require responsiveness, and the rest of the kernel processes balanced between remaining CPU's for throughput.

    --
    If moderation could change anything, it would be illegal.
    1. Re:Ummm... by Billly+Gates · · Score: 1

      I always wondered what the difference between processes and threads were and you summed it up. Thank you.

      Also I am toying with kidbasic for a project of mine.

    2. Re:Ummm... by TheRaven64 · · Score: 1
      The problem really is that MMUs do two things:
      • Memory translation.
      • Memory isolation.
        • Most designs, however, try to pretend that these are one thing, and so you can't change the protections without changing the isolation as well. You also have to use the same granularity for both, when they have very different requirements (translation wants to be coarse-grained, fixed size, while isolation wants to be fine-grained, variable sized). Having things run in the same address space is nice, since you can share pointer-based data structures between them. Without this, shared memory is a pain to use, and so people tend to go with threads.

      --
      I am TheRaven on Soylent News
    3. Re:Ummm... by Bluesman · · Score: 1

      You're welcome.

      Have fun with basic-256, and let me know if I can help at all.

      --
      If moderation could change anything, it would be illegal.
    4. Re:Ummm... by Billly+Gates · · Score: 1

      I am just planning to teach children math with it at a school district. :-)

    5. Re:Ummm... by Anonymous Coward · · Score: 1, Informative

      This has great performance advantages over processes, but you lose all of the advantages of protected virtual memory, hence the need for locks, mutexes, critical sections, etc. Threads are actually a step backward from a reliability/security standpoint.


      This is something of a confused summary. You make it sound as if constructs like locks are hacks to get around the lack of memory isolation in multi-thread applications. That's not true at all. Locks, mutexes, and other synchronization constructs are necessary to synchronize access to memory under all circumstances where multiple execution contexts (that is, multiple threads or multiple processes) share data. A multi-threaded application can be designed to avoid sharing memory just as much as a multi-process application can, and as a result, it won't need locks. Likewise, multi-process applications can share data (for instance, using POSIX shared memory), and when they do, they aren't off the hook for locking because they don't use threads.

      Also, your statement that "Threads are actually a step backward from a reliability/security standpoint," makes no sense to me. You might be conflating the difference between shared memory concurrency and other ways of writing concurrent programs with the difference between processes and threads. I'm sure many people argue that shared memory concurrency is unreliable and potentially insecure, but that's not because of threads.

      In fact, the difference between processes and threads is a subtle one. Neither term has a definitive meaning (they are not theoretical computer science constructs). The definition of a process and of a thread depends on what system you're talking about.
                      --Justin
    6. Re:Ummm... by Bluesman · · Score: 1

      "Locks, mutexes, and other synchronization constructs are necessary to synchronize access to memory under all circumstances where multiple execution contexts (that is, multiple threads or multiple processes) share data."

      I didn't mean to imply that processes don't need to use locks, etc. when sharing data. But processes are protected a lot more from this in the common case by virtue of the fact that they don't share address spaces.

      Sure, if you are using shared memory between processes, you'll need to protect access to it the same way as you would with threads.

      The problem with threads is that all of the memory has the potential to be accessed by any other thread, which is a lot more unsafe, even if you're trying to do the right thing. So in the case of C program that has a potential security flaw or bug (i.e. all of them), you have to treat all memory as if it can be accessed by any thread at any time, in order to be certain that nothing goes wrong.

      Take, for example, a web browser with a thread that accesses the network -- if there were a vulnerability in that thread, the whole browser process is now compromised. If the browser launched a separate process to get network data, it's isolated from the rest of the browser and has a reduced ability to cause damage.

      For clarity, when I talk about threads and processes, I define them as follows: A process is an execution context with it's own virtual address space. A thread is an execution context that exists in the same address space as other threads, but has its own control stack.

      The only real difference between a thread and a process the way I've defined them is how memory is mapped. Shared memory blurs the difference.

      --
      If moderation could change anything, it would be illegal.
  31. Re:Puh-lease by Anonymous Coward · · Score: 0

    Windows, as it stands today with it's Window NT origins, developed by VMS developers, has always had mutli-threading as part of the OS. *nix, on the other hand, has only had multi-threading as a pathetic add-on library long after the kernel was developed without multi-threading in mind. *nix has far more catching up to do than Windows, full stop.

    I find it amusing when hearing people whine about how hard multi-threading and synchronization is. It just illustrates your weaknesses in coding. If I am hiring on a project that requires multi-threading (pretty much everything these days) I'll put Linux fan bois at the bottom of the resume pile.

  32. Re:No Maybe Yes, sentance stucture by Anonymous Coward · · Score: 0

    "." they separate the sentences. Usa "." to break up the ideas into pieces that humans can follow.

  33. The Japanese must be Jewish too by A+nonymous+Coward · · Score: 1, Funny

    Their signal at Pearl Harbor was Torah Torah Torah.

  34. Re:Puh-lease by Gothmog+of+A · · Score: 3, Interesting

    What you say may have been true some years ago. Nowadays Linux is far more advanced technically than Windows with respect to multi-threading and even more multi-processor / multi-core support.

    E.g. gcc does thread-safe initialization of local static variables -- Visual C++ does not. Linux runs on up to 4096 processor machines -- Windows does not. Linux can be run tickless (to some extend) -- Windows can be not. Linux has support for the SUSv3 realtime API with support for nanosecond resolution timers -- Windows has nothing comparable. Linux will shortly have the new completely fair scheduler (CFS) were a user reported that the system is still quite usable with 32k busy threads running in parallel -- Windows would be not.

  35. Is High Performance Computing Really the Goal? by Proudrooster · · Score: 3, Insightful

    Ask yourself this question, "Is High Performance Computing Really the Goal?" or is herding the consumer to newer shinier hardware the goal? The amount of computing power found in a typical Pentium III computer sitting out and someones curb far exceeds the needs of most users.

    1. Re:Is High Performance Computing Really the Goal? by blankaBrew · · Score: 4, Insightful

      I'm so sick of hearing that most users don't need anything greater than say a P3. That is bogus. Users today do more things with their computers than was done during P3's day. Today, people retouch photos and import them into a library with thousands of photos, they render home movies taken from their camcorder, they run movies (quicktime, flash, etc.) at hi resolutions and at full screen, they rip CDs, they sometimes rip DVDs, video teleconferencing, and so much more. Heck, you need a decent system to render most popular websites today. Here's my generalization: Most slashdotters don't give "Joe Six-Pack" enough credit. He may not know how it works, but he uses more features than you think. The fact is that the software has gotten easier and more powerful, thus allowing people to use more and more features. To say that most users don't need anything more than 6 year old technology is insulting to software developers. It essentially is saying that these developers have been wasting their time for the past 6 years.

    2. Re:Is High Performance Computing Really the Goal? by Anonymous Coward · · Score: 0

      Except the vast majority of users still just sit there and web-browse, type a paper, and mabe watch a movie or something. Yes many more people are doing the things you mentioned, but many of those could also be done on a P3, albiet at a slower rate, and the majority of users out there still are not ripping CD's or doing photo editing, they are checking email, browsing YouTube, and maybe writing something in Word.

      I know the great majority (95%+) of the Core 2 Duo machines at my office are VASTLY overpowered for what people (are supposed to) do on them. I still use an AMD Thunderbird machine for pretty much anything that isnt gaming.

    3. Re:Is High Performance Computing Really the Goal? by Proudrooster · · Score: 1

      I apologize if you thought I was picking on Joe Six Pack. My point is that the hardware is up to the task, but the bloated, slow, and inefficient software grinds down the performance of the machine. I base this on personal experience and run a MythDora (MythTV + Fedora Linux) media center on a Pentium III without any performance issues. It happily plays and records TV, burns DVDs, shows pictures, plays games, plays/rips DVDs, transcodes video, surfs RSS feeds, streams video and audio without any performance problems.

      The modern hardware we have is very powerful in terms of computing power. It is the bloated software like Vista/Java/.NET which make your shiny new machine feel slooooow. If we could get the DirectX guys and the Linux kernel guys together, we could have a killer O/S.

    4. Re:Is High Performance Computing Really the Goal? by Anonymous Coward · · Score: 0

      "Needs" change. Do people really need internet access, or +200HP cars, etc.

    5. Re:Is High Performance Computing Really the Goal? by mcrbids · · Score: 1

      Except the vast majority of users still just sit there and web-browse, type a paper, and mabe watch a movie or something.

      Just because that's what is actually done the vast majority of the time doesn't mean that's all that the average (or majority) of users use the computer for.

      I'm a good example - I have an Athlon XP 3200 that sits in my porch with a midrange 3D video card. Admittedly not "high end" but certainly a few cuts about the P3 mentioned earlier. Most of the time it's on playing a flash game, word processing with OpenOffice, or displaying a myspace account, or somebody's reading Email. Lightweight stuff that could be easily done with a P3.

      But, there's a few hours per week where I'm in some FPS or GTA San Andreas and I'm mowing down the bad guys, good guys, cops, or whatever. Or I'm goofing off in 2nd life. Of whatever. There's a small percentage of what I do that requires the extra CPU and graphics muscle - and that's enough for me to run the faster machine all the time.

      And although my technical skills are a cut or two above average, this usage pattern isn't particularly unusual, and is why people use newer machines. It's not about "usually enough for most of the time" it's "enough for all the time".

      I still use an AMD Thunderbird machine for pretty much anything that isnt gaming.

      So let me get this straight - you have TWO computers, one for gaming, and one for everything else? Isn't that, eh, inconvenient? Do you have two desks, one for each computer? Or do you have a KVM switch so that you can use the "slow" computer for browsing and the "fast" computer for games?

      Sounds pretty inefficient, to me... Me thinks you are wasting power on an old Tbird...

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    6. Re:Is High Performance Computing Really the Goal? by drinkypoo · · Score: 1

      The modern hardware we have is very powerful in terms of computing power. It is the bloated software like Vista/Java/.NET which make your shiny new machine feel slooooow.

      The truth is that you don't need to run the bloated software. Just don't! It's not necessary.

      Obviously you realize this. But the point is that it's not forced upon... well, most of us :)

      I say this while I run Ubuntu with a crapload of doodads. But then, I'm not unhappy (except when nautilus hangs, it does that a lot lately.)

      If we could get the DirectX guys and the Linux kernel guys together, we could have a killer O/S.

      Egads no. At least, let's not involve the Direct3D guys.

      Not long ago, you couldn't just plot pixels in Direct3D. You actually had to go to GDI to accomplish that, because you couldn't mix Direct3D and DirectDraw. (I don't know if they fixed it by mixing them or some other way, but you can do it now of course.)

      Actually, if you could go back in time and apply some pressure at 3dfx, you could probably make one of the most beneficial changes of all time. Instead of inventing glide, they could have simply implemented MiniGL in the first place. It's totally reasonable to simply develop a subset of OpenGL. You can then go back and implement other features in software as time permits, and then put them in the next rev of the hardware. This is basically what ended up happening... But a side effect of glide is that it prepared the user for stupid 3d APIs. Actually, they weren't the only ones; the first 3d-accelerating VIRGE chipsets used their own API, as did Matrox's products, the PowerVR, etc. I have owned all of them at some point, and had special games accelerated for them (and them alone) as well. But 3dfx was by far the most successful and if they had simply gone the OpenGL route, we might have avoided Direct3D entirely.

      I believe this for the simple reason that Microsoft actually provided a software OpenGL implementation in Windows NT at this time (and AFAIK they still do, although perhaps they removed it in Vista? I seem to recall hearing that they were going to, but not whether they had.) A hardware OpenGL that would support enough features to run the OpenGL screensavers would probably be sufficient to convince Microsoft not to develop their own, competing 3D API.

      Anyway, there's nothing special or unique about DirectX. You've got a direct video access API; we have at least two working ones on Linux with X already. You've got a 3D API, we've got OpenGL. You've got a system to handle controllers, a system to handle audio, and some other doodads, all of which are provided by SDL or related libraries (and it also provides yet another interface for direct video access, which can piggyback on X or SVGAlib, and probably others.) The only special thing about it is that it has an annoying 3D API. It's gotten much better over time but it would have been much better to have just gone with OpenGL in the first place.

      The usual objection to OpenGL is that it is a slow-moving specification. Well, this is a stupid objection, and I'll tell you why; Vendors are free to produce their own extensions to OpenGL at will. This is precisely where multitexturing came from. It was in fact popularized by 3dfx. They [partially] implemented the SGIS_multitexture extension which is now ARB_multitexture and will probably be called something else soon, or has that happened already? Regardless, there is plenty of precedent and it is clearly a working model. Besides, at one time ATI and nVidia had incompatible, competing shader implementations, and that's since been reconciled...

      Deliver me from the spawn of Microsoft.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  36. Re:Puh-lease by brantondaveperson · · Score: 2, Informative
    Got to correct this particular piece of nonsense:

    gcc does thread-safe initialization of local static variables -- Visual C++ does not.
    VC++ does do threadsafe static initialization. And in any case, gcc runs on windows so it's not exactly a windows issue is it?
    Windows has better support for multithreaded apps, it has a far richer set of thread/process synchronisation objects (mutexs, critical sections, semaphores, alertable wait states, events) than unix does.

    Now, as far as 32k 'busy' running threads leaving the machine still responsive... let's just try that out..

    DWORD WINAPI Th(LPVOID){ while(true); }
    int main(int,char**) { DWORD id; for(int n = 0; n < 31999; n++) { CreateThread(0,0,Th,NULL,0,&id); } while(true); return 0; }

    And I can report that yes, you're quite right, Windows is pretty much killed stone dead running these two lines of code. I'd love to hear a report from how Linux does running the equivalent.

  37. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  38. Tried (for Windows) and killed-Focus. by Anonymous Coward · · Score: 0

    "But as long as Windows remains the dominant desktop OS, you can expect the desktop to lag 10-15 years (at best) behind the state of the art in OS, GUI, and real-time developments."

    Funny how Apple gets left out in these discussions. Guess BeOS style performance on a Mac wouldn't be noticed.

    1. Re:Tried (for Windows) and killed-Focus. by Anonymous Coward · · Score: 1

      Have you noticed that Apple delivered a modern compositing graphics engine half a decade prior to Vista?

      Did you notice that it ran in 2001 on existing hardware, some of which was itself half a decade old?

      Have you ever dragged a window on a Mac vs XP? The Mac does more a lot more, but it's not slower at it. Drag around a window while Windows is waiting for a disk to spin up, and watch all the tearing. Mac OS X can play multiple layers of translucent movies stacked on top of each other.

      BeOS was good for doing demos, but it had no multiuser support, no printing architecture, and few apps. If BeOS was really worth something in terms of IP, Palm would have done something with it beyond shipping an Internet kiosk. Steve Jobs could have bought up BeOS for a trifling $50 million and used it if Apple thought there was some value in it.

      Sometimes things happen for a reason.

    2. Re:Tried (for Windows) and killed-Focus. by Anonymous Coward · · Score: 0

      Have you noticed that Apple delivered a modern compositing graphics engine half a decade prior to Vista?

      I noticed it. I also noticed that, since it was software based, it was extremely slow compared to Windows, and that was even taking into account the relatively low resolution of the typical displays on Macs, which inherently reduced hardware requirements. It was a lot prettier than Windows XP, but the poor performance was a killer. Mind you, part of that may have been down to the hardware, especially the slow PowerPC CPUs in the Mac laptops of the time.

      In any case, the compositing engine in Vista is quite a bit more advanced than the one in OS X, and will be even more so with DirectX 10. Mac OS X will partly close the gap when QuartzGL (aka Quartz 2D Extreme) is enabled by default, which is supposed to happen in 10.5. However, that QuartzGL has much heavier GPU requirements than the older stuff, and still lacks any notion of GPU scheduling, unlike DirectX 10. At some point, OS X might jump ahead of Windows, the way Windows has jumped ahead of OS X with Vista, but it looks like Windows will keep its lead for the next couple of years at least.

    3. Re:Tried (for Windows) and killed-Focus. by Rudd-O · · Score: 1

      But not ahead of Linux + Beryl/Compiz.

      --
      Rudd-O - http://rudd-o.com/
  39. Change programming language instead of OS by forgoil · · Score: 3, Insightful

    Programming languages like Haskell and Erlang has very little problems with using a massive amounts of CPUs/cores. Look them up and learn about them, and you'll see that they can, without any fuss, spread over many many threads without any special code at all.

    Well, that's it, read up and then maybe we can get some more interesting Slashdot postings about new computers:)

    And it is quite amazing that Sun hasn't picked up on this. Their little Java thingie doesn't scale that well after all:)

    1. Re:Change programming language instead of OS by jd · · Score: 1
      Occam scales to a (theoretically) infinite number of cores, but suffered from the drawback of being too hard to program in. I would not want Linux, or any other OS, to be ported to it - too many programmers are involved and it's too lard a language.

      Now, let's look at some of the nastier userland stuff. Glibc is maintained by a fairly closed group, is mission-critical, and is notorious for all kinds of quirks and misbehaviours. Rewriting the C library in Occam, then, makes some sense - what we have is really not very usable, but it's vital that it be so.

      X is another one, for much the same reason, however adding in that it's horrible on multithreading. It doesn't have any. See every single b**** discussion on the Linux scheduler - here or anywhere else. Replacing X makes sense, because what we have is unmaintainable at best. Alternatives, such as Berlin, were interesting but suffered from a range of problems - GUIs are not easy to write. Occam, although a pain, at least helps you to make sure the code does what you expect, reliably. Of course, Berlin opting for CORBA may not have been terribly smart - CORBA at the time was too heavy, and even now is heavier than it has any business being. Having said that, the idea of having a distributable GUI does make a lot more sense on modern architectures and modern environments. That, however, isn't the way it's going to get solved.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    2. Re:Change programming language instead of OS by kcbrown · · Score: 1

      Argh. I read that as "Programming languages like Haskell and Erlang has very little problems with using a massive amounts of CPU".

      Which might still be true. :-)

      --
      Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    3. Re:Change programming language instead of OS by LarsWestergren · · Score: 1

      Their little Java thingie doesn't scale that well after all:)

      Really? You do know that eBay, and many of the world's busiest stock exchanges run all their transactions on Java platforms, right?

      --

      Being bitter is drinking poison and hoping someone else will die

    4. Re:Change programming language instead of OS by Anonymous Coward · · Score: 0

      So, you're saying that Java is the reason for eBay's suckage? I'll buy that.

    5. Re:Change programming language instead of OS by LarsWestergren · · Score: 1

      So, you're saying that Java is the reason for eBay's suckage? I'll buy that.

      eBay may suck or not, and it may be Java's fault, or not. My point was that it seems the Java platform scales well enough to handle critical stock market transactions from tens of thousands of clients per second.

      --

      Being bitter is drinking poison and hoping someone else will die

    6. Re:Change programming language instead of OS by Anonymous Coward · · Score: 0

      Don't be so damn stupid. Java has the best concurrency constructs of any mainstream language. It comes with high performance locks, threadpools, and concurrent queues built in. Java 7 will get a complete fork/join framework. Scala, a programming language for the Java VM, has an implementation of actors and message passing, as is in Erlang, and it probably outperforms Erlang due to the better low level implementation of the VM.

    7. Re:Change programming language instead of OS by Anonymous Coward · · Score: 0

      eBay is a stock brokerage now? When did this happen?

      (Amusingly enough, my captcha was 'budgets')

    8. Re:Change programming language instead of OS by Anonymous Coward · · Score: 0

      I'm intrigued, what does scaling have to do with handling something critical?

      Java is resource hungry as hell and doesn't scale as well as it should with multiple threads, period. That's what you get when you write a language for idiots to use, and you get away with it because the idiots will just keep throwing hardware at it without ever having second thoughts. The fact that Java is used for critical stock market transactions says more about the hiring practices of those developing the software (and the whole software industry, really) than it does about Java.

    9. Re:Change programming language instead of OS by LarsWestergren · · Score: 1

      eBay is a stock brokerage now? When did this happen?

      Whenever your brain choose to interpret what I said incorrectly I guess. If you look at my post you will see I was talking about stock brokerages as well as eBay.

      --

      Being bitter is drinking poison and hoping someone else will die

    10. Re:Change programming language instead of OS by LarsWestergren · · Score: 1

      I'm intrigued, what does scaling have to do with handling something critical?

      Having real time constraints puts extra demands on your scaling.

      Java is resource hungry as hell and doesn't scale as well as it should with multiple threads, period.

      True, it is resource hungry, but it is getting better all the time. Have you seen the improvments in Java 6 and Java 7?

      That's what you get when you write a language for idiots to use, and you get away with it blah blah blah

      Proving once again that jealousy is the most sincere form of flattery.

      --

      Being bitter is drinking poison and hoping someone else will die

  40. Proof geeks don't know history. by Anonymous Coward · · Score: 0

    "I think both NeXTStep and BeOS are living (dead) proof that Microsoft set the computer industry back over a decade"

    Pfft! All it's proof of is that geeks don't know their history. Both CEOs made plenty of mistakes serious enough to keep their respective OS from taking off. At least Jobs got his revenge when Apple bought them.

  41. I agree by Anonymous Coward · · Score: 0

    On all your points. Transactional memory is a great cop-out, but nothing more. The overhead of ever having to use it for correctness is just too high to make it worthwhile. (Even on hardware like the stanford TCC system.) Unfortunately it's easy, and will therefore probably be the cop-out of choice, resulting in large amounts of crappy software that does scale, but much less well than it could have...

  42. The Best Single User OS by Bill,+Shooter+of+Bul · · Score: 1

    BeOs had no support for a multi user environment. People complain about the hardware support, but BeOs 5 PE supported all of the hardware I had Including a tv tuner that win 98 really didn't support very well. Much better support than I could find from Linux at the time ( circa 1999-2000 ). Again lack of software was a downer. I didn't have the gobe office suite, so I still had to use windows for office 97. I loved net surf browser and its haiku error messages. It made its lack of support for html fun.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  43. the problem with multithreading.. by timmarhy · · Score: 1
    .. is it's damn hard to write properly, especially with a GUI in mind. quite often you want the gui to be stopped by some process. My only exposure have been writing gui stuff in wxpython and that was hard enough to get right.

    never tried BE, but if it managed to come up with an easy way to deal with threading then i'm impressed.

    --
    If you mod me down, I will become more powerful than you can imagine....
  44. Amiga != BeOS by renoX · · Score: 0

    The thing is, you cannot truly compare Amiga with current OSs, because it had no memory protection and didn't run on PC's hardware, BeOS did.

    And it was much more responsive than anything we have now.. Unfortunately, the situation won't change for a long time, because to have the same level of responsiveness as BeOS users enjoyed, you have to recode a big part of each application..

    The availability of multi-core PC will ensure that the designers of new applications take into account multi-threading from the start, increasing the responsiveness of these new applications, but the migration will take a long time, *sigh*.

  45. WalterCon by Anonymous Coward · · Score: 1, Informative

    If someone want to see BeOS and it's open source counterpart in action and you live close to san-francisco, try to attend waltercon 2007 in august http://haiku-os.org/ (registration are open).

    On the subject of multithread, it could be interesting if individual or computer store could bring some mad hardware for testing purpose. The amount of knowlegable folk present + the usual casual feel of the event would make that very possible think.

  46. Scaling through services by roman_mir · · Score: 1

    In my current work project (Java based) I decided to approach scalability in a manner that defies the normal J2EE (scale by adding container nodes) paradigm. The application scales by adding instances of services. The application itself consists of multiple services, that are independent and that do its own task and nothing else, the communications between the services are message based and can be implemented in multiple different ways, anything from a message queue to a custom servlet subsystem (sort of like webservices.) The scalability in this case depends on the design and not on the underlying container, and it appears to be a more robust design. Each service is multi-threaded and can be instantiated on different processors, basically it is a signal based architecture. Seems to work quite well for this particular project. Probably other applications can be created in this way to allow true scaling.

  47. I have no problems with Vista stuttering either. by Joseph_Daniel_Zukige · · Score: 1

    Or maybe you could say Microsoft has the biggest sort of stuttering problem in my house. Their software can't seem to even get started running at all here.

    But I _can_ say it never stutters in the middle of a video.

  48. Proof geeks set history back by Anonymous Coward · · Score: 0

    "The NeXT was trying to bring a Unix-like OS to the desktop."

    Microsoft did it first.

    Apple was late.

    "The fact that MS-Windows was sold by all PC vendors is what killed NeXT. It was stillborn."

    Revising history, are we?

    "Be Inc. offered to let PC vendors install BeOS for free, even in a dual-boot configuration. According to Jean-Louis Gassée, the PC manufacturers told him their deals with Microsoft wouldn't let them."

    He had his chance when Apple was shopping for a new OS. Apparently he wanted too much money for the company.

    "Microsoft's stranglehold on the distribution chain has caused much, much damage. You can blame DR-DOS, OS/2, BeOS, NeXT, and a slew of other vendors/products on "market forces," but the only market force that matters to any degree is Microsoft's regulation of the PC distributors."

    No I blame it on their mistakes and greed. Something you intentionally glossed over.

    1. Re:Proof geeks set history back by drinkypoo · · Score: 1

      "The NeXT was trying to bring a Unix-like OS to the desktop." Microsoft did it first. Apple was late.

      Uh, desktop. Xenix and A/UX are both intended as Server-class operating systems. A/UX had a cute interface to compete with Windows NT, one of whose strongest selling points was the similarity to the Microsoft desktop-class operating system (At the time, Windows 3.x.)

      "The fact that MS-Windows was sold by all PC vendors is what killed NeXT. It was stillborn." Revising history, are we?

      Uh, clearly you don't understand the argument.

      Windows was sold by all major manufacturers/distributors of PCs. This is true. The only time it wasn't true is before Windows. Then DOS was what came with them all. It was almost always MS-DOS, too (although there were, of course, some exceptions.)

      NeXTStep could be purchased, but it had extremely limited hardware support compared to Windows (for the same reason Linux does - manufacturers write Windows drivers, because that's where the installed base is) and was considerably more expensive. It did a lot more, but most people would never use that functionality.

      "Be Inc. offered to let PC vendors install BeOS for free, even in a dual-boot configuration. According to Jean-Louis Gassée, the PC manufacturers told him their deals with Microsoft wouldn't let them." He had his chance when Apple was shopping for a new OS. Apparently he wanted too much money for the company.

      My understanding is that it was more about control than money. Also, Apple hired Steve Jobs while they were supposedly mulling over the decision. It's not hard to imagine that the decision to bring Jobs back was already coming down the road, and they may have actually even decided to go with BeOS and then reversed that decision when bringing in Jobs. We will likely never know :P

      You're right, though, that most competitors have priced themselves out of the market one way or another. The BeBox was a needless boondoggle, for example.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Proof geeks set history back by Anonymous Coward · · Score: 0

      Also, Apple hired Steve Jobs while they were supposedly mulling over the decision. It's not hard to imagine that the decision to bring Jobs back was already coming down the road, and they may have actually even decided to go with BeOS and then reversed that decision when bringing in Jobs.

      Huh?

      Apple hired back Steve Jobs before they bought NeXT? I've never heard that before... where did you get that nugget?

  49. Locks suck by kabdib · · Score: 1

    Locks suck. Nobody really understands efficient locking schemes. You either wind up with (a) a system with a few giant locks, and little parallelism, or (b) a system with lots of locks, but also lots of crashes and deadlocks. Very few programmers can deal with this stuff.

    As for lockless algorithms, even fewer people understand how to make these work. In the papers I've read on lock-free hash tables, there are many with bugs or very bad misfeatures in the algorithms. Additionally, system-dependent things (like cache coherency protocols, and precise definitions of how instructions work in various edge conditions) can leave you with code that *looks* portable, but isn't. (Don't get me started on varying degrees of quality of compiler treatment of 'volatile' and various extensions that amount to 'noalias' . . . and compiler bugs).

    STM will likely bottom-out when (a) the cost of re-do becomes a huge issue, and (b) the cache coherency traffic becomes the real bottleneck. The first you can solve with code reviews and education, the second is just going to be a wall.

    Message-passing looks (to me) to be the likely successful road. I guess it's time to do something real with Erlang. No smiley.

    --
    Any sufficiently advanced technology is insufficiently documented.
    1. Re:Locks suck by Eli+Gottlieb · · Score: 1

      How many people have any understanding of just how much message-passing sucks? Languages like Erlang cover it up by letting you pass arbitrary values around as messages (saving on marshalling and unmarshalling time), but the fact is that sending data to Some-Thread Else with no idea that it will consent to receive it or interpret your data properly doesn't make good software!

    2. Re:Locks suck by kabdib · · Score: 1

      I dunno. Maybe *everything* sucks. The Erlang folks make some elaborate promises about reliability of their systems (which are highly parallel and available, yadda yadda). The Erlang paper in the ACM's latest History of Programming Languages (III) is compelling.

      I know I don't want to do another system where all I've got are locks and variations on locks (mutexes, semaphores, guards, monitors, whatever -- all just sugar on top of the same basic idea). STM just seems to paper over the underlying flakiness of it all, and when you look at *really* scalable systems, guess what? they're passing messages. Messages do have their pitfalls, no question about it (trying to debug truly async processes spread out over hundreds of CPUs and hundreds of milliseconds is a nightmare on roller skates).

      There's no silver bullet. But there are lots of lead ones.

      --
      Any sufficiently advanced technology is insufficiently documented.
    3. Re:Locks suck by the_greywolf · · Score: 1

      Locks suck. Nobody really understands efficient locking schemes. You either wind up with (a) a system with a few giant locks, and little parallelism, or (b) a system with lots of locks, but also lots of crashes and deadlocks. Very few programmers can deal with this stuff.

      Mostly because it's simply not taught in lower-level CS courses, nor is it really encouraged on the most popular platforms.

      I can't wrap my head around this stuff, because I can't find anything helpful. All I ever see documented is "Here is how to create a thread," or "Here is how to fork()," (the stuff any child with an API doc already knows) or "System and method for lockless data structures." (Which is only actually readable by CS PhDs.) NEVER do I see anything that says "Now that you know how to fork threads, here is how they can share data without directly causing the coming of Armageddon," or even "What NOT to do with mutexes."

      There's little instructional material online, and what there is is either too advanced for someone just trying to wrap their head around it or simply an inadequate discussion of the topic. (The same is true of BSD sockets, but that's OT for now.)

      Any sufficiently advanced technology is insufficiently documented.

      Yeah, like threading APIs.

      --
      grey wolf
      LET FORTRAN DIE!
    4. Re:Locks suck by Eli+Gottlieb · · Score: 1

      It doesn't help, does it, that any attempt to seriously use message passing always ends in the creation of an IDL compiler and sophisticated RPC scheme?

  50. CDC7600! by Joseph_Daniel_Zukige · · Score: 1

    Hooray for the 6 bit character! (Was the byte 12 bit or 60?)

  51. I saw this with BeOS 4.0 already: by blind+biker · · Score: 1

    A huge file being copied, or a movie (or a few of them at the same time (a favorite trick of this OS)) being played back, and while I am interacting the UI, my commands are promptly being taken care of. No matter how huge the file being copied is, there is no delay between my mouseclicks and the UIs response. When Windows 2000 came out, I was hoping it finally implemented this feature, but it didn't. So when XP came out, the ultimate user-experience desktop, I hoped it would listen to me as BeOS did in the early days, but it didn't. I gave up on Linux doing so long ago, but then I tried Kubuntu, and was (not) disappointed (wasn't disappointed because I didn't expect much from the OS in this regard).

    So why can't anyone else make the OS actually listen to the user's commands? I mean, that damned file copy can be late some milliseconds, if that will make the user interaction smooth. With BeOS (as I said, I first tried 4.0) there was no mouse pointer frozen, ever. Never ever was I clicking "blindly", all UI interactions produced the desired response.

    And finally, no application would steal the focus. Windows just can't seem to get this right, while Linux, at least, has this one nailed.

    --
    "The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
    1. Re:I saw this with BeOS 4.0 already: by drinkypoo · · Score: 1

      And finally, no application would steal the focus. Windows just can't seem to get this right, while Linux, at least, has this one nailed.

      Not in my experience, with either metacity or beryl...

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  52. Not quite: memory bandwidth by Anonymous Coward · · Score: 0

    The OS that will work best will be the one that can schedule memory bandwidth the best. You can have all the cores you want, but if your memory bandwidth is not scaling nearly as fast (pin rates are not) then your cores will be completely stalled unless the programmer either blocks data correctly or the OS does something magical. Personally I'm not holding my breath for either. I'm just hoping that the cores power themselves off when they're waiting their 1000s of cycles for a memory request.

  53. The Intel vs. Motorola Decision by Cassini2 · · Score: 2, Insightful

    IBM made a decision in 1980 to go with the Intel 8088 (8/16 bit) processor instead of the Motorola 68000 (16/32 bit) processor. At the time, the Motorola processor was designed to be the processor of the future. On the other hand, the 8088 was intended to be almost compatible with 8080A assembly code. This created the need for the 8088 segmented architecture, and segments suck.

    The use of segment registers set PC development back over a decade. Essentially, all the 80's was spent fighting segmentation wars. The IBM PC didn't get proper 32-bit computing until the widespread popularity of 386 PC hardware in about 1992, and the subsequent introduction of Windows 95. Windows XP was the first unified 32-bit Microsoft O/S in 2001. DOS mode was finally eliminated in Windows Vista in 2007!!! I think you had to live through segmentation and far pointers to understand how incredibly awful they were.

    Interestingly, the Apple Mac had a 68000 processor in 1984. If that caught on, then it would have saved the PC industry a decade of pain. Apple made the decision not to license the operating system for the Apple Mac. The result was Apple hardware was expensive, so few purchased it. The problem was so severe that Apple almost went bankrupt before Steve Jobs returned.

    IBM built Microsoft and Intel when they created the IBM PC. Apple rested on the laurels of a better architecture and almost went bankrupt. These two decisions defined at least 15 years of software history. It isn't until know where we see a few different pure 32-bit operating systems fighting it out on a common hardware platform. The Windows XP, Vista, OS/X, Linux battles will be interesting. The 32/64 bit battles will take place on PC hardware that is still almost completely assembly language compatible with the first widely used 8-bit Intel Microprocessor: the 8080A!

    1. Re:The Intel vs. Motorola Decision by Ash-Fox · · Score: 1

      Interestingly, the Apple Mac had a 68000 processor in 1984.
      The Amiga had a 68000 processor in 1985. The classic hardware Amiga used could do things that PPC Mac users couldn't do and single core Intel/AMD systems couldn't do until not too long ago.

      If that caught on, then it would have saved the PC industry a decade of pain.
      I disagree, the Macs had a horrible lack of multitasking that the Amiga had, certain x86 operating systems at the time allowed multitasking, but were really bad at it.

      The result was Apple hardware was expensive, so few purchased it.
      And yet, the more advanced Amiga hardware was far cheaper.

      The problem was so severe that Apple almost went bankrupt before Steve Jobs returned.
      And what is Apple now? It's a brand. If Nokia, Sony, Motorolla made their own iPhone, it would of had no press at all, but Apple? Well, there is all this press... And the phone isn't found to be that good compared to others.

      Apple rested on the laurels of a better architecture and almost went bankrupt.
      Apple also didn't do anything impressive with the architecture.
      --
      Change is certain; progress is not obligatory.
    2. Re:The Intel vs. Motorola Decision by drinkypoo · · Score: 2, Informative

      The Amiga had a 68000 processor in 1985. The classic hardware Amiga used could do things that PPC Mac users couldn't do and single core Intel/AMD systems couldn't do until not too long ago.

      The Amiga had a custom design that wouldn't scale. It needed new, custom hardware for each processor revision for the hardware to keep up with the processor. Eventually the Amiga got accelerated graphics cards and storage host adapters and the main system basically handled peripherals and sound.

      the Macs had a horrible lack of multitasking that the Amiga had, certain x86 operating systems at the time allowed multitasking, but were really bad at it.

      The Amiga was a microkernel-based system which worked efficiently because it had no memory protection. It was an explicitly single-user system (hacks came out eventually to provide multiuser functionality, permissions, etc etc, but without memory protection it's all just jerking off really) and while it is capable of performing modern tasks it has serious deficiencies. It was totally excellent for its purpose at the time, but it just isn't practical today (except perhaps for PDAs and such, where I'm surprised not to have seen it.)

      the more advanced Amiga hardware was far cheaper.

      It's too bad the company was sucked dry from within, and there was virtually no advertising.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  54. Re:No Maybe Yes, sentance stucture by Anonymous Coward · · Score: 0

    " "; they separate the words. Use a " " to break up the ideas into tokens that humans can follow.

  55. Re:Yes...well, maybe eventually... by Pseudonym · · Score: 1

    Personal opinion:

    I think that the problem with STM is actually that there is little direct hardware support.

    And by that, I don't mean fully transactional caches, though it'd be great if that could be done efficiently. The problem is that existing thread synchronisation mechanisms can be implemented fairly efficiently on top of existing hardware (atomic test-and-set, compare-and-swap or LL/SC). We don't yet know what the appropriate hardware operations are to support STM efficiently.

    So I think that pervasive STM will happen, even on desktop hardware, and it'll be very efficient when it does happen. But it won't be for a decade or so at least.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  56. Microsoft decided against responsiveness by Cafe+Alpha · · Score: 2, Interesting

    As one commenter mentioned many programmers are bad at writing reliable multithreaded code.

    Microsoft realized this early on and put a bunch of barriers into windows (and more so into MFC) that are designed to prevent programmers from even writing multithreaded GUIs.

    Let me make this clear. If you call an MFC gui routine from a thread other than the main GUI thread it will return without executing. If you "send" or "post" a message to a control from the wrong thread using the MFC versions of send() and post(), it will return without doing anything. Microsoft used thread local memory to prevent programmers from being able to write multi-threaded GUIs.

    I've programmed work-arounds many times with user-messages and created programs that were as responsive as BEOS programs. Understand that the fact that most programs' guis lock up for a few seconds when opening files, etc. is the result of MS' decision to not trust programmers with multithreading the GUI.

    I've also worked on multiprocessor, high performance server apps, and I know how obscure multithreaded techniques are, and how small mistakes can make software unreliable. I don't entirely blame MS for preferring reliability to responsiveness, but they are in a position where they could educate rather than restrict, and they chose restricting.

    1. Re:Microsoft decided against responsiveness by jjohnson · · Score: 1

      In defense of Microsoft's decision to do this (assuming you present a fair characterization of the issue), I have to say that the vast majority of software vendors for the Windows platform have given them good cause. Just today I had to continually reboot into the system recovery console of a Windows XP installation because my employer's mandated software was causing a stop on boot.

      I've studied and done multi-threaded programming and have an appreciation for its difficulties. My constant software experience on Windows does not give me confidence that the average software vendor has the abilities to not fuck up my system worse than they already do.

      --
      Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
    2. Re:Microsoft decided against responsiveness by FreelanceWizard · · Score: 1

      MFC prevents this (though, interestingly, the .NET Framework doesn't :) ) because, internally, the GDI window code isn't thread-safe. If you call windowing functions for a window handle from a different thread than the one that owns that handle, Bad Things Happen. It's a fundamental rule of Windows GUI programming, albeit a somewhat obscure one for most users. Windows XP and Vista are substantially better at dealing with violations of the rule, but Windows 9x OSes would often go down completely if you broke that rule. Apps under XP sometimes work properly, and sometimes blow up with inscrutable exceptions.

      The solution, as .NET programmers should all know, is to marshal the calls onto the appropriate thread for the control. In .NET, that means checking Control.InvokeRequired and using Control.Invoke with an appropriate delegate for the method you want to call if that property is true (i.e., you're not on the thread that created the control). I've not done very much MFC programming at all, so I'm not exactly sure how you'd handle this issue over there -- perhaps with a custom event queue, maybe?

      --
      The Freelance Wizard
    3. Re:Microsoft decided against responsiveness by Cafe+Alpha · · Score: 1

      Ok, that explains blocking Send messages, but it doesn't explain blocking Post!!!

      They sure picked a piss poor way of enforcing the rule. They should have made Post an exception, since Post is what you need to solve the problem.

  57. Why not linux? by sorak · · Score: 1

    Is it likely, or at least possible, that future versions of Windows or OS X could become pervasively multithreaded without creating an entirely new OS?"

    If it were that easy, wouldn't we be discussing how Linux has it and Windows has "missed the bus" on yet another innovative feature? I may be speaking from ignorance, but I suspect that the only reason BeOS could do it ten years ago, and none of the key players can do it as well today, is that it would require a massive (and expensive) redesign of the low-level components of the OS. (which didn't affect BeOS, because the developers factored it into the original design)

    1. Re:Why not linux? by Anonymous Coward · · Score: 0

      The reason BeOS is so "efficient" is that it doesn't do very much. Dump KDE and GNOME and put an "old school" window manager onto Linux and you will get the same snappy feeling that you get with BeOS. Unfortunately, people have been hoodwinked by the false dream of ease of use inspired by Apple, with its icon-heavy inanity that demands everything be done by using the mouse. This makes modern graphical user interfaces slow and cumbersome, while giving end users a warm glow, but not improving their productivity in the least.

    2. Re:Why not linux? by Cafe+Alpha · · Score: 1

      I disagree, see my post above. The Microsoft GUI was specifically (re)designed to discourage multithreading the gui within an application and that destroys responsiveness. It's a matter of gui design and of the design of the threading in the windowing system.

      Easy stuff, in a way. I don't know X/Gnome/KDE well enough to know what's right or wrong with them. But Microsoft must have made a deliberate decision that applications programmers can't be trusted with multithreading, and put cruft in their way.

    3. Re:Why not linux? by drsmithy · · Score: 1

      I disagree, see my post above. The Microsoft GUI was specifically (re)designed to discourage multithreading the gui within an application and that destroys responsiveness. It's a matter of gui design and of the design of the threading in the windowing system.

      Yet of the "big four" - GNOME, KDE, OS X and Windows, Windows has the most responsive GUI.

  58. I really dislike that argument by Dolda2000 · · Score: 1
    I really don't like the train of thought that says that "since CPUs are going multicore, multithreading is necessary". I dislike it for two reasons:
    1. Do we really need higher performance? Seriously, I don't notice that much difference between my old AMD XP 2200+ and the newest Core2 Duo processors, because the vast majority of the time, a process doesn't even stay on it for longer than a few timeslices. Truth be told, I just now noticed that my CPU is actually running at the speed of a 1500+ because of a BIOS reset that accidentally happened some month ago. I only noticed it because I wanted to check how fast my CPU really was. Almost all performance bottlenecks are caused by I/O anyway.
    2. Isn't that fact that you can run more processes simultaneously enough? As for me, I'd be happy enough by being able to run "make -j2" and actually having the compile go faster.
    I can agree that there are a few cases where multithreading would make sense, and those would include such things as 3D rendering and multimedia encoding (although I'm not completely convinced that fork() is a perfectly acceptable solution there, too). There may be some others, too. But really, those applications are the minority. There just aren't that many CPU-bound programs these days.

    People seem to argue that it would make the UI of many programs more responsive, but IMNSHO, that doesn't necessarily mean multithreading. The basic problem is that the program in question runs several coroutines, and multithreading is only one of a great many solutions to good coroutine performance, and I would argue that it is far from the best one. The problem is not that the program is actually not getting enough CPU time (except in a few cases like Firefox, but one might argue that that's a bug).

  59. No, responsiveness is. by Estanislao+Mart�nez · · Score: 1

    The point of having end-user software be very highly concurrent isn't necessarily to make it have very high performance according to some absolute metric. You can use concurrency to make the software have a very responsive feel to the end-user. In fact, it's very often acceptable to make a program be slower overall in the absolute sense, just to make it respond faster to the end-user.

  60. You're forgetting something by Estanislao+Mart�nez · · Score: 1

    Old systems didn't have bloat because characters were bytes and graphical entities were flat bitmaps. Nowadays we have jpeg encoded resources and double byte strings and all sorts of other magical crap. Programs were (mostly) written for one language and didn't need to adapt themselves to multiple systems.
    You're forgetting something important: new systems have orders of magnitude more processing power and I/O throughput.
  61. Segments suck. Segments do not suck. by Joseph_Daniel_Zukige · · Score: 1

    Depends on your point of view. Marketing sure thought segments were useful.

    But the funny thing was that the segments might have actually been an engineering management benefit. The low ceiling helped keep projects small and manageable while budgets were small.

    Of course, management (and marketing) that thought that even initial versions on 68K had to be significantly better than initial versions of comparable products on x86 probably contributed as much to the killing-by-adding-features as the lack of segment ceiling, but ceilings do have a use.

    (And, of course, many engineers and managers saw the short address mode as a different kind of hidden ceiling instead of an opportunity for later optimization, especially since long branches weren't available until the 68020. (or was it the 68012? dang wet-ware database.)

    As far as the assembly language compatibility, no, that compatibility can no longer be claimed. AMD has provided the path away from the other bottleneck in the x86, which is the lack of useable index registers, and iNTEL is following. x86 compatibility doesn't exist in the parts of the architecture where the "battles" of the future market will take place.

    joudanzuki

    Someday I'd like to have tens of millions of dollars to throw away trying to prove the 68K is a superior architecture to the x86. I mean, if iNTEL can burn up so much cash shoehorning the x86 into the future, ...

    1. Re:Segments suck. Segments do not suck. by Cassini2 · · Score: 1

      The 8080A did not feature segments. Segments were created in the 8086/8088 design. The 8080A had 8 8-bit registers organized as 4 16-bit registers. It also had the condition code register, and a slew of jump and branch instructions. Ever wondered where the BL/BH=BX thing came from? That was a variant of the 8080A's B and C registers combining to form the BC register. It turns out that many of the key condition codes, arithmetic, branch, jump, and index instructions came from the 8080A. Other than register renaming, and expanding many instructions to longer data words, we are still using many of the same instructions that were in use on the 8080A. Assembly programming really hasn't changed much over the years.

      Of course, the new processors have many new instructions. New addressing modes for the old instructions have been added over the years. It is just interesting that the old core instructions are still around in a fairly similar form. These old instructions make up a surprisingly large fraction of the compiled code generated by todays compilers. It just goes to show: software compatibility pays.

  62. Oblig. Simpsons by Anonymous Coward · · Score: 0

    Me fail English. That's unpossible.

  63. Re:BeOS != 1984 by Anonymous Coward · · Score: 0, Troll

    I think it is hilarious that you guys are having to compare the 1984 Amiga to modern day PCs, hardware, and operating systems just to try to find some way to trash it. Look at the original subject line, "Amiga beat them all" If you can find a personal computer and OS from 1984 that even comes close to the Amiga, then I'll take notice.

    The fact remains that it took over 10 years for the rest of the personal computer industry to finally offer all the technology that was in the original Amiga (i.e. Co-processors, a pre-emptive multi-tasking 32-bit OS, high color graphics, real-time high color animation, stereo digital sound, etc.)

    Hell, the Mac still is stuck with it's one menu windowing environment that hearkens back to the days of only being able to have one active application at a time. Pathetic!

    The point being, just like the Amiga didn't take over even though it was 10 years ahead of it's time, BeOS and it's OS features will also be relegated to the trash heap of PC history. Having the best technology is no guarantee of success.

  64. 32K threads on linux by mechsoph · · Score: 1

    I'd love to hear a report from how Linux does running the equivalent.

    For an unbenchark, running 32K threads of while(1); on linux-2.6.20 on a pentium 3 gave Gnome fits, but the console remains mostly usable. It took about 20 minutes to start all the threads. Occasionally forking a new process takes about a minute and there's sometimes a delay echoing input. Other than that, it seems ok.

    1. Re:32K threads on linux by nschubach · · Score: 1

      Same here, compiled using pthread.h on Ubuntu 7.04 64-bit. Everything is fine here (Core2Duo E6600 @2.6Ghz). I'm even replying to this post with it running in the background (both cores at 100%).

      #include <stdio.h>
      #include <stdlib.h>
      #include <pthread.h>
      int pthread_create(pthread_t*__threadarg, const pthread_attr_t*__attr, void*(*__start_routine)(void *), void*__arg);
      void *Th( void *ptr ) { while(1); }
      main() { pthread_t thread; int iret; int n; for(n = 0; n < 31999; n++) { iret = pthread_create( &thread, NULL, Th, NULL); } while(1); return 0; }

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    2. Re:32K threads on linux by nschubach · · Score: 1

      I am curious though. You said it took like 20 minutes to start them all up. I hope that was an exaggeration. Mine was just over a second (I did printf("Done"); before the main loop.)

      Oh in case it matters: uname -a == Linux Proteus 2.6.20-15-generic #2 SMP Sun Apr 15 06:17:24 UTC 2007 x86_64 GNU/Linux

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    3. Re:32K threads on linux by mechsoph · · Score: 1

      You said it took like 20 minutes to start them all up. I hope that was an exaggeration.

      No exaggeration. I don't have that system booted now, but I think it was just running the stock Ubuntu kernel. The machine I'm on now shows similar delays and has `uname -a' of "Linux virjay 2.6.20-gentoo-r8 #2 PREEMPT Sat Jul 7 15:43:34 EDT 2007 i686 AMD Athlon(TM) XP 2600+ AuthenticAMD GNU/Linux". I don't have any significant experience with pthreads, so I'm not sure why it seems so slow. The business section of the code is:

      pthread_t th;
      for( i = 0; i< max; i++ ) {
      if( pthread_create( &th, NULL, do_nothing, NULL)) break;
      }
    4. Re:32K threads on linux by imroy · · Score: 1

      I am curious though. You said it took like 20 minutes to start them all up.

      That sounds about right. I tried nschubach's sample program and added some printf's to show the threads starting up. My machine hit 16 threads quickly but then slowed right down, seemingly doing them in batches. Adding a sleep(10); before the while (1); in the thread function helped immensely. With that small change, all 32k threads started in a matter of seconds before they hit the infinite loop. Wow, my system load went up to >350!

      System: Athlon XP 2600+, 2.5GB ram, kernel 2.6.22.1, HZ=1000, preemptable kernel, BKL preemption, tickless

    5. Re:32K threads on linux by netcrusher88 · · Score: 1

      Great-grandparent, that's what we call an "Oh snap!" rebuttal.

      --
      There's an old saying that says pretty much whatever you want it to.
    6. Re:32K threads on linux by Rudd-O · · Score: 1

      My machine started this program and laughed its two cores off, 199% CPU usage, and the machien was COMPLETELY RESPONSIVE. Didn't even flinch.

      Of course, I have a Dell PowerEdge SC1425 as my *desktop* machine, so I guess your mileage may vary.

      Truly, what makes Linux stall is NOT CPU consumption, but disk starvation. The "Userspace braindead" talk that mingo (I think) gave around the world was a fine example of the amount of shit userspace does ... it's no wonder, evidently, that the disks on my machine are continually starved. Every time my machine flinches, it's because it's reading from DISK. Amarok is one of the culprits in this regard.

      For the record: 400 GB software RAID-1 setup.

      --
      Rudd-O - http://rudd-o.com/
    7. Re:32K threads on linux by Rudd-O · · Score: 1

      Screw you man, I did these changes and my machine died. I had to chvt 1 and then log in then kill the program manually. I guess the scheduler I'm running isn't that good.

      Load average 386.52.

      Never seen it so high.

      --
      Rudd-O - http://rudd-o.com/
    8. Re:32K threads on linux by imroy · · Score: 1

      Screw you man, I did these changes and my machine died.

      Oh, sorry to hear that. My machine did seem to struggle under the load initially. The mouse pointer jerked around and the rest of my desktop seemed pretty unresponsive. But it improved after a short while. The mouse pointer at least didn't chug, and focus followed my mouse after a short delay. But I was unable to kill the process with ctrl-c, instead having to kill it from another terminal window. Quite impressive for 32k threads in a tight loop.

  65. Re:Yes...well, maybe eventually... by logicnazi · · Score: 3, Interesting

    I think you misunderstand the ways in which STM are relevant to this sort of issue. Sure you can do full blown STM with crazy commits and rollbacks that are large and complex but that isn't what causes the problems with most threading issues. Really the primary benefit of STM is just to give an understandable and intuitive means to manage simple things that programmers now do with locks, e.g., making sure the other thread doesn't update part of the object while your thread is making some small change to it.

    As far as performance the key here is compiler design. Sure in the fully general case STM may be fairly resource intensive but most cases aren't the general case. The hope is that compilers can be improved to natively support STM and recognize where simplifying assumptions can be made.

    In other words practical STM is a way to get the compiler to meet the programmer halfway. Compilers can't do auto-parrililization and won't be able to anytime in the foreseeable future but having programmers deal with very low level constructs like locks and semaphores is confusing and a waste of time. This is a nice comprimise to meet in the middle. At least as long as it is used correctly.

    --

    If you liked this thought maybe you would find my blog nice too:

  66. Re:Puh-lease by linuxrocks123 · · Score: 1

    > gcc does thread-safe initialization of local static variables -- Visual C++ does not.
      VC++ does do threadsafe static initialization.

    You're dead wrong and grandparent is dead-right. References follow.

    GCC: http://gcc.gnu.org/ml/gcc-patches/2004-08/msg02293 .html
    MSVC: http://blogs.msdn.com/oldnewthing/archive/2004/03/ 08/85901.aspx

    Microsoft's position is that the standard requires their (undesirable) behavior. I guess GCC either disagrees or is providing a language extension. For what it's worth, MSVC doesn't have a great track record on correct standard interpretation. (C++ header file naming bug, for one example...)

    > And in any case, gcc runs on windows so it's not exactly a windows issue is it?

    gcc runs on everything. Consider it a comparison of the "native" compilers of both OSes.

    > Windows has better support for multithreaded apps, it has a far richer set of thread/process synchronisation objects (mutexs, critical sections, semaphores, alertable wait states, events) than unix does.

    Now you're just throwing out random terms for multithreaded programming concepts, all of which can be implemented in any OS that provides an API for multithreaded programming. As is typical, the Windows uses a nonstandard, proprietary API, while Linux uses an open standard (the POSIX pthreads library).

    Just to make it clear that the Windows API is not "richer", let me point out that you can actually write a wrapper around either API that makes it look like the other, and people have done so.

    > Now, as far as 32k 'busy' running threads leaving the machine still responsive... let's just try that out..

    Don't be retarded. But since you already were, my sibling poster has responded that this doesn't kill Linux stone-dead, though it does slow it down quite a bit, so you even lose your own retarded benchmark contest. Ouch.

    --
    vi ~/.emacs # I'm probably going to Hell for this.
  67. BeOS was awesome by Slashcrap · · Score: 1

    It could run all the software it didn't have with incredible efficiency and make full use of all the hardware it didn't support.

    Seriously, it wasn't an OS - it was a tech demo.

    Quit pretending that it was ever a viable OS or that it is anything special nowadays. Yeah, yeah, it could run multiple videos at once. But then again we're talking multiple 160x120 videos because that was about as good as video got at that time.

    Let's see it running multiple, hi-res Xvid or h264 videos without dropping a frame. If there isn't a multithreaded port of those codecs, or a sufficiently good video driver available in 2007 then it's not a viable OS is it? If it was as well designed as the fanboys always claim then it would have been easy to write drivers and applications for it.

    1. Re:BeOS was awesome by Baba+Ram+Dass · · Score: 1

      Let's see it running multiple, hi-res Xvid or h264 videos without dropping a frame. I can still play multiple DivX videos (at the typical 720x480) on a PIII running BeOS. And yes, it's still responsive.

      If it was as well designed as the fanboys always claim then it would have been easy to write drivers and applications for it. The BeAPI was/is a dream to work with as any C++ programmer who's had the privilege to do so will tell you. There's a myriad number of Be apps at BeBits.com given the size of the community.
      --
      Truckin like the Doo-Dah man...
    2. Re:BeOS was awesome by drinkypoo · · Score: 3, Informative

      Quit pretending that it was ever a viable OS or that it is anything special nowadays. Yeah, yeah, it could run multiple videos at once. But then again we're talking multiple 160x120 videos because that was about as good as video got at that time.

      Speaking of tech demos, the "book" demo where you put four quicktime movies on the pages of a book and flipped the pages with the mouse, did you ever see that? On a 66MHz BeBox (dual 603e, hardly a speed demon) you could have four 320x240 (biotch!) videos playing on this book. Well, you could only see two at first. But then you flip the page around as you like with the mouse and you can see (part of) four videos playing at once. And the whole thing was quite smooth. The framerate would sometimes degrade but the page still moved smoothly and the rest of the OS was still responsive.

      That was the one that really impressed me. They obviously really cared about responsiveness in a way that no one else seems to.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  68. Yeah...but what software ran on the BeOS? by Franklin+Brauner · · Score: 1

    Sure it was a fast OS, but what was really taxing it?

  69. Re:Puh-lease by brantondaveperson · · Score: 1

    Don't be retarded. But since you already were, my sibling poster has responded that this doesn't kill Linux stone-dead, though it does slow it down quite a bit, so you even lose your own retarded benchmark contest. Ouch.

    Oh for god's sake. Isn't it quite obvious that I was genuinley interested in discovering how well Linux runs the 32k thread test? I'm not having a 'retarded benchmark contest' .

    As for the rest of your tirade, Well.... crap. It seems that you're quite right about the static stuff. Looks like I will have to more careful in the future. I was sure I'd seen a mutex or whatever when looking at the implementation of statics. So I apologise about that.

    But...
    I think that you can still describe the set of windows sync objects as 'richer', even if you can (obviously!) implement one in terms of the other. Windows threading and thread synchronisation API is richer out of the box. You can almost always implement one (richer) API in terms of the another. This means nothing.

    And honestly, slashdot people are so mean. I mean! Retarded? How exactly is that sort of language called for? And yes, of course I'm new here.

  70. Coming to Mac OS 10.5 by earthbound+kid · · Score: 1
    Apple has announced that they're adding an API to OS 10.5 to make it easier to do parallel operations on a data set without getting bogged down in all the problems that come from multi-threading and whatnot:

    NSOperation [is] a breakthrough new API that optimizes applications for the world of multicore processing. Independent chunks of computation (operations) are added to an NSOperationQueue, which dynamically determines how many operations to run in parallel based on the current architectures. So there's no need to hand-code the complexities of threading and locking. You simply describe the operations in a program along with their dependencies. Cocoa takes care of the rest.
    Leopard - Multicore
    1. Re:Coming to Mac OS 10.5 by drinkypoo · · Score: 1

      Turning your computer into a job-based system is not, repeat not revolutionary. It's not even evolutionary. It's a step backwards. Not that there's anything wrong with job processing, I like work queues when they're the best solution to a given problem, and often they are. But describing the operations in a program along with their dependencies isn't any different than writing scripts and submitting them to a queue, except for the context.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Coming to Mac OS 10.5 by earthbound+kid · · Score: 1

      I accept that it's not perfect, but is there a better way in sight? Maybe if you could make something like Erlang popular, parallel computing might go somewhere in the future, but it would be really hard to retrain all the Blub programmers in the world. What do you think should be done?

    3. Re:Coming to Mac OS 10.5 by drinkypoo · · Score: 1, Interesting

      Maybe if you could make something like Erlang popular, parallel computing might go somewhere in the future, but it would be really hard to retrain all the Blub programmers in the world. What do you think should be done?

      Take the time. It's worth it. It's not like they will become useless in the meantime. While they are learning the new system they can apply it where possible (simpler projects) and continue using the old one to do real work. Then the next generation will come along, having been immersed in it from the beginning, and we can all move on for great justice.

      Even Linux, as a new take on Unix, has avoided many of the classic UNIX mistakes and achieved great things that none of them ever touched; it's running on damned near everyone's hardware - they're putting it there themselves! And it's running on cellphones, cameras, etc etc. (Some guys who had designed a digital camera that I met at a job fair told me that they had based it on a uSparc processor, but they didn't tell me what OS it ran...) :)

      Anyway, yes, we should just get the hell over it and move on. It's past time. Easy to say, hard to do, absolutely necessary.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  71. Here's a better question by the_greywolf · · Score: 1

    How can programmers like me (I have only had very limited threading experience, mostly due to the many pitfalls of doing it right - I'm lazy and stupid) get the training and education we desperately need to do multithreading right? Multithreading can never become pervasive, IMO, until everyone is properly educated on it.

    So where do I go? What do I need to do? I want to learn this stuff. I need to learn this stuff. And most importantly, I want to do it right.

    All of the other code I write is as damn near bug-free as I'm capable - I want to be equally proficient with threading and locking, because until then, I may as well still be in my diapers hacking assembly on a 6502.

    I want to be a better programmer, and so far, this is my only roadblock.

    --
    grey wolf
    LET FORTRAN DIE!
    1. Re:Here's a better question by taradfong · · Score: 2, Funny

      You learn it the way any programmer learns it.

      1) Look for a job/project you want to do
      2) Lie and claim you can do it, and commit to doing it
      3) Learn the hard way how to do it. Because you committed to doing it, you can't quit when you get stuck and hate it.
      4) Do just a good enough job to impress the people that asked you to do it
      5) Do another project, this time doing it the right way (or at least better).
      6) Repeat until virtually no one knows much more than you on the topic.
      7) Profit!

      --
      Does it hurt to hear them lying? Was this the only world you had?
  72. Re:Puh-lease by nschubach · · Score: 1

    my sibling poster has responded that this doesn't kill Linux stone-dead, though it does slow it down quite a bit
    Actually, it pegged out my processor, but it didn't slow anything down. (Listed above, but I'll report specs) Ubuntu 7.04 64-Bit, Core2Duo OC'd to 2.6GHz. It was running the cores at 100%, but when the OS needed resources, it cut the thread parent process to 94% of one of my cores and didn't falter.
    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  73. I simplified a bit by Cafe+Alpha · · Score: 1

    "assuming you present a fair characterization of the issue"

    I simplified it, partially because I didn't remember all of the details. I think they put handles into thread local memory. So when you use an MFC class in place of a handle, it only works from the Gui thread that created that handle.

    No doubt they give some official way to work around the blocks they put in. I know that they have some way of letting users fork a subwindow and give it it's own gui thread, apart from the main gui thread. They made it complicated to implement, but the fact is that if you never do work (other than drawing or managing UI elements) in your gui thread, there's no reason to have more than one gui thread. Anyway multiple gui thread still doesn't solve the problem of allowing you to access a window object or its handles from another thread, gui thread or not.

    If you make multiple gui threads the Microsoft way you get subwindows that stop responding when there's work instead of getting a whole ap that blocks on work.

    It's better to separate the work in it's own threads - then the whole ap is always responsive. And MS made that harder than they should.

    On the other hand, I admit that I never bothered to learn Microsoft's horrible Frankenstein C-code version of Smalltalk's (much cleaner) Model, View, Controller gui model since even Smalltalk's MVC is unnecessarily complicated. In any case, 99.999% of Windows software blocks unnecessarily (even Firefox). So I don't think that Microsoft ever created a work around that works as well as mine does.

  74. It's the I/O, stupid by CoughDropAddict · · Score: 1

    Multithreading is important to GUI performance, but not for the reason people think.

    For ordinary computer users, CPUs aren't the bottleneck, and they haven't been for a while. It's all about I/O.

    Experiencing GUI slowness? Chances are it's one of the following:

    - your application stupidly lets its GUI threads block on I/O. your application won't redraw or respond until it gets what it wants from the disk or network.

    - your OS is stupidly letting the VM system thrash, madly swapping applications in and out of memory (the sound of this phenomenon is your hard disk churning)

    - (least likely) you are truly doing something CPU intensive, like using Google Maps in Safari (which, for whatever reason, is horribly slow. Safari must have a slow JS interpreter or something).

    Sadly, I don't see things getting better anytime soon.

    1. Re:It's the I/O, stupid by Cafe+Alpha · · Score: 2, Interesting

      Utimately it's a version of #1. The Gui blocks if you make the mistake of doing work in the Gui thread!

      I've made work around classes to fix that so that it's only a few key strokes in C++ to chain (ie call) a routine that doesn't run in the current (GUI) thread, it runs in a work thread, and to chain back to a completion routine in the gui when its finished.

      It works like a charm, and programs can be completely responsive 100% of the time, like BEOS, I suppose. You can be loading a file, and still the menu works and you can move around the subwindows and edit them... And if a window is recalculating, it's still responsive during that - and it redraws the new data, when done.

      You have to specifically decide what the program can do and not do while it's calculating, and code that. So there is more work in keeping a program responsive. You have to code for responsiveness.

  75. Re:Check it out! by martin_henry · · Score: 1

    This site has a naked man stretching his anus open to a diameter roughly equal to the width of his hand, with the inside of his rectum clearly visible. Below his gaping anus is his dangling, flaccid scrotum and penis.
    I have never heard goatse described so eloquently! I nearly died laughing...
    --
    www.purevolume.com/martyd
  76. Mod parent up! by straponego · · Score: 1
    I was a fan of BeOS. It ran quite well on a PII/266. But even at the time it was clear that they were vastly overrating how easy it would be to bolt various things on later, like multiuser. The attitude was "Well, we can set attributes using the database filesystem, so how hard can it be to add that multiuser stuff later?"

    Those things can be hard. The fastest UI experience I'd had prior to BeOS was the Amiga. It was equally impressive, relative to its contemporary competition. But part of that came from shortcuts: it didn't have a couple little features like memory protection and device independent graphics. The reasons the Amiga died were probably not mostly technical, but those technical problems were not overcome before the Amiga was dead.

    BeOS was cool, but denial and closed source is not a valid approach to surmounting huge technical hurdles. Remember, before Apple picked up NeXT, the approach Apple and Apple fanboys took was just that. You'd constantly see Apple fanboys saying things like "preemptive multi-tasking is slower than cooperative, it's completely useless." Microsoft always took almost the same approach publicly: preemptive multitasking, color, video, windowing, graphics acceleration, etc. were all useless fluff. But behind the scenes MS was actually working on them. And then they'd put them on the market and claim to have invented them. During that time Apple was, as far as anybody can tell, jerking off to its own marketing. Nearly a fatal case of denial.

    1. Re:Mod parent up! by Ash-Fox · · Score: 1

      The reasons the Amiga died were probably not mostly technical, but those technical problems were not overcome before the Amiga was dead.
      Amiga is alive again and I cannot get into my head why they are still avoiding real memory protection with Amiga OS4.
      --
      Change is certain; progress is not obligatory.
  77. Wait a second, does anyone know HOW Beos works? by Cafe+Alpha · · Score: 1

    Why is Beos more responsive and in what way?

    Does it, for instance, have a model where it wakes up a new thread for each gui message, not waiting for the previous one to finish? That would make even badly written programs responsive, but it would require programmers to put locks on everything and check state on every message.

  78. In regards to the user interface 'responsiveness' by AbRASiON · · Score: 1

    I am re-posting this as it was moderated offtopic a few months back - it is still to an extent off topic but again I'd like to discuss responsiveness of an operating system and why Windows UI seems so sluggish.

    Gents,

    I have a relatively simple and odd question.
    What's with Vista and XP's UI?

    See the thing is, I keep upgrading machines, 1ghz, 2ghz, 3ghz, 3ghz dual core, 512mb, 1gb, 2gb - etc
    The user interface is laggy
    EVER so slightly laggy but laggy, there's this 'engine' underneath the hood, since the days of 95 (yes 95) where it just feels wrong, it feels like the same code to be honest from version to version?
    It's a ridiculous claim, have no doubt, I realise that but god-damnit it just seems that way.

    Here's an example
    You open a copy of Windows Explorer under Windows 95 with a floppy in the drive, 2 networked drives mapped and a cdrom in the drive.
    It pauses for X amount of time, then it kind of starts to move, then suddenly bam it's done.
    Do the same thing in XP.
    It seems to behave identically - I mean the entire thing feels like the same chunk of code.

    I was under the impression 95 / XP and Vista were all very very different under the hood, am I incorrect?
    Has the primary 'engine' changed, has the kernel drastically changed but the Explorer UI remained similar?

    It's not just opening Explorer, it's the start menu, it's alt tabbing, it's maximising it's the 'feel' - I'm well I'm sick of it!
    It feels the same from version to version!

    I don't need a slick graphical UI and well in all honesty I don't NEED to learn Mac OSX but the fact it is more responsive in some ways is great, I just want an OS which I feel in control of.

    Sorry to make such a vague post but what am I doing wrong? Is there some magical tweaks out there which make Windows behave ultra reliably and snappily?
    I know about the tweak ui power tool and I know about changing the figures to 0ms delays but even then things don't feel 'right'

    Will a quad core help, I found a dual core did not actually fix many of these problems.
    On this note, somewhat on topic (to my post) - I recall the 'bitboys' claiming they were going to release their 'glaze 3d' card with drivers which sync'd windows native 'frame rate' to the refresh rate of a monitor.
    It sounds like nothing but it was going to create the illusion of an incredibly smooth scrolling Window for 2D - just moving windows around
    Trivial sounding but the end result IMPRESSION of slickness, of responsiveness - no more tearing.
    Such a small thing but from an end user perspective it might make things smoother.

    Does anyone have any thoughts on this? Any answers or sadly flames?
    When oh when, if ever will Microsofts interface and 'back end' truely be something special and new, if ever?

  79. Re:In regards to the user interface 'responsivenes by Cafe+Alpha · · Score: 1

    It's the lag of sending all of your clicks and key strokes to homeland security before displaying them.

  80. micro-kernel? by DreadSpoon · · Score: 1

    What do you need a micro-kernel for? Linux is already a multi-threaded kernel, and can already balance said threads between cores. You don't need a micro-kernel for that. Performance could probably be improved, and the granularity of kernel threads might need some work, but there is nothing at all that stops a monolithic kernel from doing those things.

    The lines between monolithic and micro kernels are pretty blurry these days. The only remaining big differentiator is that kernel "threads" in a micro kernel are generally more like processes and have hardware-enforced memory separation from the rest of the kernel. Useful for stability, not really relevant or beneficial for performance.

    1. Re:micro-kernel? by Bluesman · · Score: 1

      You're right, it just seems to me that with a micro-kernel there would be greater separation of tasks and the granularity problem would be a lot easier. If processes are separated, the complex locking doesn't need to occur.

      I'm thinking about this more from a software engineering standpoint. Multi-threaded programming is more difficult, and I think when the number of cores increases significantly, the performance advantage will no longer be great enough to be worth the programmer's time.

      In terms of concurrent memory access, threads are unsafe by default -- you have to do a lot of extra work to make them safe, but they're fast by default also. But you do pay a performance penalty if you err on the side of "too safe."

      Processes are safe by default, but you have to do extra work to make them perform.

      I think finding the bottlenecks in performance with processes will be easier in the future than implementing perfect locking in threads.

      --
      If moderation could change anything, it would be illegal.
    2. Re:micro-kernel? by drinkypoo · · Score: 1

      What do you need a micro-kernel for?

      The potential benefit of a microkernel is enhanced reliability. If a storage driver goes down while it's in the kernel, it crashes your system. If it's never in the kernel, well, you get the rest. Of course, there's a problem with this idea, and that problem is that the kernel performs frequently-used operations and centralizes them for a reason. Another problem is that your applications have to be written specifically for this.

      Take for example the GRiDPad 2390. It ran GEOS and had special applications whose data files were memory dumps. Loading the dump back in was quick. But getting the data out without using the application itself is a nightmare. It doesn't matter much because it's a PDA, and that's all it's really intended to be. Or the Amiga, which had those fancy custom chips. Put an accelerator in there and the chips lag. There's a patch called cpublit that makes the CPU do blitting instead of the blitter chip (Agnus, who also has other features, but blitting is the main one) because if you have about a 16 MHz 68020 or better (needs to be 32 bit, however) it's faster to just let the CPU do it than to ask Agnus. And the CPU can access both chip and fast memory, unlike the custom chips.

      So basically, a microkernel would be dandy, but just like BeOS, you'd have to rewrite all your apps to really see the benefit, and you're going to have to rewrite practically the whole thing by the end, so it makes the most sense to start from scratch and only borrow pieces of your original program... Which is a massive undertaking. You could port Firefox to BeOS today (well, not in one day) but it would be a monumental effort and it would run like poo when you were done. Or at least, no better than it runs on Windows. But that's what I said already ;)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:micro-kernel? by Anonymous Coward · · Score: 0

      In terms of concurrent memory access, threads are unsafe by default -- you have to do a lot of extra work to make them safe
      Most or all of this work can be offloaded to the programming language and its implementation. Over the next ten years, one of the following will happen:

      1. Desktop machines will fail to efficiently utilize more than three or four cores.
      2. People will invent hundreds of useful, non-IO-limited, CPU-hungry tasks for desktop machines to do in background processes.
      3. Programmers will all become about forty IQ points smarter than we are today, and routinely write reliable, scalable, multithreaded applications in Perl, C++, Java, etc.
      4. Programmers will man up and start using those "weird" and "exotic" languages like Erlang.
      5. Fred Brooks' prediction that programmers will be divided into master and menial castes will finally come true.

      Do all of these seem pretty unlikely? You're correct! None of these will happen. The correct answer is:

      6. A very large and powerful company, such as Sun, will launch a huge effort to implement a language and/or platform based on a decent concurrency framework, such as CSP. They will spend hundreds of millions of dollars on marketing that promises that the language will be Revolutionary! Incredible! Unprecedented! while at the same time saying It's almost exactly the same as every other programming language you've ever used! Why, you practically know it already! It's completely the same, only much much better in ways that are actually totally similar to what you're used to and simpler to boot! It's so awesomely easy and amazing, you can move the retarded janitor to the development team! Suckered in by the marketing, which simultaneously excites the gullible hype-eaters and reassures the grumpy old cynics, programers will adapt to an entirely different way of programming without actually knowing it. Which is, of course, the only way they could learn anything new without simultaneously suffering a rage-induced aneurysm and pissing their pants in fear.

  81. Re:BeOS != 1984 by Kawahee · · Score: 1

    Hell, the Mac still is stuck with it's one menu windowing environment that hearkens back to the days of only being able to have one active application at a time. Pathetic!
    Hell, Apple only gave us fullscreen support in Quicktime for free last week. And it took them how many years to ship with two buttoned mice?
    --
    I'll subscribe to Slashdot when I see a month without a dupe, a typo, or an article the "editors" didn't read.
  82. I still don't understand why by JustNiz · · Score: 1

    the whole Windows desktop usually locks-up if you have one operation in progress and you try and start another operation, even under Vista. Having a multi-core CPU makes little or no improvement either.

    1. Re:I still don't understand why by argent · · Score: 1

      the whole Windows desktop usually locks-up if you have one operation in progress and you try and start another operation, even under Vista.

      I think the main reason is that this isn't actually true.

      While I should be the LAST person to be defending Windows, I've gotta call you on this ludicrous exaggeration. Yes, Windows 3.x and Windows 9x were horrible, but I can't recall the last time I could say the "whole Windows desktop" has locked up on me on any modern (NT-based) Windows.

    2. Re:I still don't understand why by Anonymous Coward · · Score: 0

      Take most of you memory out.

      (this post is support your point)

  83. answer by arsenix · · Score: 1

    yes

    --
    (this is offended to the end of comments you post, 120 chars)
  84. Easy Multithreading -Was: Here's a better question by ChronoFish · · Score: 1

    There are many ways to multithread - multitask - parallel process - and distributed process.

    Most of them require some heavy lifting and systems programming knowledge. Almost all require at the very least understanding of the processes involved in "fork"ing.

    However lately I've been doing some multithreading through - of all languages - PHP. There are two keys to understanding when to do this. First is recognizing what can be processed in parallel. The second is to understand how to wait and regroup for processes once processing needs to be linear again.

    Web development is inherently multi/distributed processing. Many developers do it without even thinking about it. For instance if you create a page with frames, you are aggregating content from multiple processes and possibly from multiple servers. The regrouping of the data is all handled by the browser. This is very simplistic because usually there is no further processing done once all *threads* are complete.

    Taking this a step further you can design a system that touches multiple scripts at the server level (rather than brower/client) without waiting for them to complete. In PHP you can simply do a:
    fclose(fopen("http:/server/script.php", "r"));
    This touches script.php and does not wait for data to come back - data is stored by script.php in a common area(filesystem or database for instance.)

    In script.php you simply call:
    ignore_user_abort(TRUE);
    This tells the script to continue running even if the connection has been broken.

    If you want to start up 10 parallel threads you would simply do this:
    $count=10;
    while ($count--) fclose(fopen("http:/server/script.php", "r"));

    This works great for processing queues (email retrieval/sending for instance) and data that is loosely coupled. The key is to be able to identify what can be processed in parallel. After that you can just let the webserver and OS take care of forking and system level stuff.

    -CF

  85. occam too! by EmbeddedJanitor · · Score: 1

    occam was built explicitely to write parallel programs. I'd like to see it ported to multi-core CPUs.

    --
    Engineering is the art of compromise.
  86. Oh overhyped! by Atomic+Frog · · Score: 1

    Back in the day, I loaded a machine with up with BeOS and OS/2 Warp 4 and tried that very trick. I was expecting OS/2 to stutter but no, it kept pace with BeOS with many movies open and playing at the same time, all the while remaining just as responsive.
    I tried a few other similar "benchmarks" and couldn't see what the hype was about. Add to the problem that OS/2 actually had some serious office applications to get some work done (no Gobe wasn't good enough, I tried that too), web-browser on par with everyone else (Mozilla/Seamonkey), it was hard to justify BeOS, no matter how much I wanted to like it. Sure, BeOS was prettier I guess...

    The technology was already there, once BeOS left the PowerPC platform, there wasn't any good reason to exist since it basically re-invented the wheel...and didn't do it much better, if at all.

    1. Re:Oh overhyped! by argent · · Score: 1

      That was my experience, too. If you were used to Windows 3.1 or Windows 9x, BeOS looked phenomenal. If you were used to real operating systems (even ones as simple as AmigaOS, let along the systems Be was competing with in the '90s) it was nothing exceptional.

    2. Re:Oh overhyped! by Richard+Steiner · · Score: 1

      OS/2's multithreading is certainly on par with anyones, including BeOS. I think a number of folks on Slashdot are simply too young to remember that this sort of technology has been around a little longer then they think it has (as far as I'm concerned the real OS/2 was first released in 1992 (OS/2 2.0) -- all of those 1.x releases were an older 16-bit variant that was less than useful).

      It isn't that alternative OSes do things well. It's more like Microsoft's OSes don't even provide a baseline level of functionality. Multithreaded multi-processor OSes are so mid-1960's. :-)

      --
      Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
      The Theorem Theorem: If If, Then Then.
    3. Re:Oh overhyped! by Anonymous Coward · · Score: 0

      OS/2 was really great at the time. I used that instead of DOS/Win/Win95, it was better in all ways and super stable. The fixpack updating wasn't great, but I remember the multitasking to be phenomenal.
      Yes, BeOS was great on the same machine. I used 512 MB and it never seemed like any more than 256 was needed on BeOS. Linux desktops seem poor in comparison, certainly a lot slower.

  87. Re:Yes...well, maybe eventually... by Pseudonym · · Score: 1

    Sure you can do full blown STM with crazy commits and rollbacks that are large and complex but that isn't what causes the problems with most threading issues. Really the primary benefit of STM is just to give an understandable and intuitive means to manage simple things that programmers now do with locks, e.g., making sure the other thread doesn't update part of the object while your thread is making some small change to it.

    STM isn't just a compiler issue, it's actually a whole other model for synchronisation (though it's part of a large family of lock-free models, such as RCU).

    Today, mutexes, condition variables, semaphores and so on are implemented inside the operating system for a very good reason. We want the same for lock-free models.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  88. Re:The Russians must be Jewish too by Anonymous Coward · · Score: 0

    After all, they invented the Mazel Tov Cocktail!

    (I know, I know.. 'in Soviet Russia, cocktail invents YOU!')

  89. Amiga required a lack of memory protection by DragonHawk · · Score: 1

    The Amiga had a great messaging system in it's OS....

    But at too steep a price. The messaging system relied on passing pointers between processes. So if we're both processes and I wanted to send a message to you, I'd build the message in my memory space, and then pass you a pointer to it. Fast, for sure, but it meant a lack of memory protection was a requirement built-in to the OS API. That's a real problem. It's not just a matter of "knowing what you were doing", as you put it. Even ignoring that fact that a great many programmers apparently don't know what they're doing, even the best programmers make mistakes (being human).

    The Amiga was a neat platform, and did some really cool things, but let's not get too carried away with our rose-colored glasses. :)

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
    1. Re:Amiga required a lack of memory protection by WilliamSChips · · Score: 1

      even the best programmers make mistakes And then there's the time when it's not a mistake. If what you say is true, the Amiga would never had survived the era of the Internet. Hell, Windows barely did!
      --
      Please, for the good of Humanity, vote Obama.
    2. Re:Amiga required a lack of memory protection by Anonymous Coward · · Score: 0

      "If what you say is true, the Amiga would never had survived the era of the Internet."

      It didn't. Commodore went bust before the Internet really took off; they never shipped a version of AmigaOS with a built-in TCP/IP network stack. There were various post-Commodore releases of AmigaOS, some of which eventually bundled in third-party network stacks, but security problems didn't arise since by then Amiga was extremely marginal. (Security by obscurity really does work sometimes.)

  90. Predict the futrue? Look at the past. by DragonHawk · · Score: 2, Insightful

    The next generation of computing is going to come from the vast multitude of developers who are accustomed to writing client-server applications applying what they know to computers that behave like a server cluster.

    Wow. You seem awful sure of the future. Can I borrow your crystal ball? I'd like to look up next week's lottery numbers...

    Looking at history, the computer industry seems to show a remarkable propensity to not learn from experience, and instead keep making the same mistakes over and over again (with different names). What evidence do you have that suggests that is going to change?

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  91. Uh, "not quite" anyone? by Anonymous Coward · · Score: 0

    "Yeah, but yesterday's supercomputers are todays commodity machines. "

    Indeed? Do you know were I can pick up a Cray for the house? And while you're out shopping, can you pick up a connection machine as well? I need a new coffee table.

    1. Re:Uh, "not quite" anyone? by Cassivs · · Score: 1

      > Do you know were I can pick up a Cray for the house?
      Sure, try eBay.
      > And while you're out shopping, can you pick up a connection machine as well?
      That will be harder. :-)

      --
      -skip
  92. The problems go deeper than that... by Anonymous Coward · · Score: 0

    I think there are deeper problems with GUI responsiveness in Windows than the ones you mentioned in your post.

    At work, I have a 3Ghz quad-processor box with 2 GB of memory. The thing screams. I can have two 4-way builds going in two copies of Developer Studio at the same time---it takes 8 compiler processes running at the same time in order to max out the CPU on this thing!

    Except, whenever its doing disk accesses (to a 160GB 7200 RPM EIDE drive), it really struggles to do *anything* else. Disabling the corporate-supplied virus scanning software doesn't help.

    My frigging MOUSE POINTER will lock up and NOT BE MOVABLE FOR SEVERAL SECONDS when its doing heavy disk access. Linking a 25-megabyte executable will take a couple minutes (up to 10 mins for a debug version with its 100 megabyte symbol file). Task Manager will show CPU utilization under 10%, and yet I can't move my mouse pointer. (Or if I can, then I can click on anything I want and it will take forever for it to activate whatever app I clicked on because idiot Windows swapped it out to *disk* despite me having 2 gigs of RAM).

  93. Easy Multithreading -Was: Here's a better graph. by Anonymous Coward · · Score: 0

    "Most of them require some heavy lifting and systems programming knowledge. Almost all require at the very least understanding of the processes involved in "fork"ing."

    Or group and graph theory, but that's approaching from another angle.

  94. Obviously untrue by Anonymous Coward · · Score: 0

    Today, more than ten years after BeOS's introduction, its legendary responsiveness is still unmatched. There is simply no other major OS that has pervasive multithreading from the lowest level up (requiring no programmer tricks). Bullshit. There is. The name is Symbian. And it is slow as molasses. Multithreading by itself is no silver bullet, it can't substitute for efficient design and implementation.
  95. YES!-IPee by Anonymous Coward · · Score: 0

    "I wish that Palm had open-sourced the BeOs source when they acquired the company. Or at least the parts that weren't encumbered by other people's IP."

    Then what would have been the point of Palm buying the company in the first place? I know slashdot is unable to see the value in such things (but apparently want it open sourced so there's hope). But others do.

  96. Re:In regards to the user interface 'responsivenes by the_greywolf · · Score: 1

    See the thing is, I keep upgrading machines, 1ghz, 2ghz, 3ghz, 3ghz dual core, 512mb, 1gb, 2gb - etc
    The user interface is laggy
    EVER so slightly laggy but laggy, there's this 'engine' underneath the hood, since the days of 95 (yes 95) where it just feels wrong, it feels like the same code to be honest from version to version?
    It's a ridiculous claim, have no doubt, I realise that but god-damnit it just seems that way.

    I'll give a simple example of why this may be so:

    Run any version of windows on an emulator - a *very* slow one. (A good example is a 486 emulator running on an Amiga 3000 - one that reports itself as being a 486DX4-16.) And I don't mean sluggish, I mean painfully slow.

    What you're likely to see when a window is created is this: First, the rectangular border is drawn. Second, the title bar is drawn, but no text filled in. Third, the border is erased and redrawn. Text is filled in in the title bar, then the border again erased and redrawn. When you resize a window, you'll likely get to watch the border get erased, drawn in the new position, the nerased and redrawn while the program begins drawing its window's contents.

    The UI is horribly inefficient for several reasons, and I seriously doubt it's been properly fixed before Vista, since 3.0. I truly suspect you'll see similar behavior on the standard UI widgets as well.

    (This process was described to me by a friend after he ran Windows on his Amiga's PC emulator. We laughed then, but it made me feel sick inside. Why not just draw it once and be done with it?)

    --
    grey wolf
    LET FORTRAN DIE!
  97. Video done Right by Anonymous Coward · · Score: 0

    All I have to say about BeOS is this:
    To this day, NO OTHER OS IN EXISTANCE makes installing a tv tuner easier. I threw my v1 Brooktree Video Grappler card into my BeOS (not zeta crap or haiku, true BeOS pe5) and it JUST WORKS. 0 config necessary at all. Linux chokes and confuses the GPIOS. Windows blue screens a dozen times and forces about 4 driver reinstalls before working. OSX won't even talk to it, period. But it's not just the ancient tech. I threw in a much newer Conexant based video card, exact same deal. BeOS just worked first time 0 config. Linux sort of works, in black and white, and after some trickery passed to modprobe. Windows has a spastic fit before eventually working with terrible TERRIBLE frame rates and picture quality. OSX doesn't even attempt to talk to it. Why is it so hard for everyone else to design a video capture subsystem that works so flawlessly? And how the heck did the BeOS guys get it so right that it still works with new hardware designed YEARS after BeOS was shelved?

    Seriously, when it comes to TV tuners, nothing at all in the world is even a close second to BeOS. And this looks to be true for a long time yet.

  98. Re:Easy Multithreading -Was: Here's a better quest by the_greywolf · · Score: 1

    That's not quite what I'm asking. All you're describing is the function of a simple fork().

    What I'm interested in is full-blown in-process threading, where I break off parallel sections of (for example) a large C++ framework that operate on shared chunks of data.

    I already understand what threads are and how to create them. I just don't understand locking mechanisms. I mean, conceptually, sure, I understand that in one locking model, one thread locks a mutex and other threads will block if they try to lock the same mutex. But I want to understand semaphores and lockless structures on more than a merely conceptual level, and I've found little beyond a few theoretical items or white papers - stuff that was frankly over my head.

    I'm simply not interested in implementing this kind of thing in PHP - that's child's play. I've got a project I'm writing in C++ that I want to thread properly. I just don't know how to do it without making a huge mess of things.

    --
    grey wolf
    LET FORTRAN DIE!
  99. It's not threading that's the issue... by spec8472 · · Score: 1

    "Is it likely, or at least possible, that future versions of Windows or OS X could become pervasively multithreaded without creating an entirely new OS?"

    First of all - it's not threading itself that is the issue. And the answer is no - Future versions of Windows won't ever be as perfectly smooth as BeOS was/is.

    Why? Because of backwards compatibility that's built into each version of Windows.
    Even in 32bit versions of Windows Vista, you can take your poorly built 16bit Win 3.11 App that did all sorts of wrong things, and still expect that it'll work just the same as it did on 95, 98, ME, 2000 and XP. Sure, you might need to run with Admin rights, and it won't be able to handle long file names - but still, it'll probably work.

    It's precisely this in-built backward compatability that is Windows' biggest strength, and it's biggest weakness. For every version of Windows, Microsoft has to spend vast amounts of time ensuring that apps, where possible, continue to work. Despite large changes to architecture and how things operate.

    Sure, MS could say 'screw it' and break compatibility - after all, they did (to a limited extent) with Vista already. But then you're resetting your OS's application base back to (practically) zero. Oh, and don't forget drivers - they're important too. As anyone who jumped on the early Vista builds and noticed their graphics card ran like crap will tell you.

    I'll probably get flamed for this next bit, but Linux and (to some extent Mac OS) developers are more willing to break things between OS versions. So, running an older version of some app on a newer version of the OS is more likely to break. The trade off is that apps on Linux are more likely to be open source, so at least someone can update it to fix whatever the issue was.

    - Will.
    (Who writes Windows "Business Software" for a living and has absolutely no issue spinning up threads on a server backend as needed to process data. Just don't mention the UI.)

    1. Re:It's not threading that's the issue... by Anonymous Coward · · Score: 0

      *mentions the UI*

  100. sooner than that by Anonymous Coward · · Score: 0

    beos was released before even mac os 8.0, with the proprietary BeBox before they admitted failure of their platform (powerpc based) and ported the os to run on macs, and then eventually, x86.

    every BeBox came with at least two processors, along with hardware-implemented processor usage meters on the front. these meters were amazingly responsive with no latency or cpu usage and a sampling timeslice of like a tenth of a second or so. (fast enough to wow the eye but slow enough to still show short processing bursts or smaller workloads as such instead of quick flickering spikes) the dancing lights were the tipping factor for more than one nerd! (obviously not enough though)

    1. Re:sooner than that by Anonymous Coward · · Score: 0

      The most important thing about BeOS, as this post illustrates, is the lying. If you use something obscure enough you can tell everyone that it was unimaginably great, and they might believe you. Try that with Windows and there are people around every corner with legitimate criticisms that you can't argue with because they've really used it.

      So...

      Yes, the BeBox had two processors. No, it wasn't actually a sensible thing to do. BeOS ran very badly on those two processors, there were plenty of things you could do that would actually run faster on /one/ processor if only BeOS would get out of the damn way. By the time BeOS was available on commodity Intel hardware yes, the dual CPU option made some sense, and surprise - it was also available from other operating systems.

      The "processor usage meters" weren't "hardware-implemented" except in the sense that a bunch of LEDs were attached to a general purpose I/O port. If the OS wasn't continually updating the meters in software they'd freeze. So having those "dancing lights" was actually costing performance.

  101. Java 5 by Philosomatographer · · Score: 0, Insightful

    Since version 5, the Java platform introduced the Concurrency Utilities, a threading framework which significantly reduces the complexity, and increases the performance, of a large number of threading-related tasks. Things like creating controlled pools of threads that concurrently use data structures used to be very complex to implement, but now I teach my students this in a day. This, coupled with Just-In-Time compilation (and the clever optimisation possibilities this provides), may see Java as the best platform to develop software with in a future filled with multi-core machines. We are a small, specialist software development/training/consulting house, and Java's performance has allowed us to do unbelievable things with it, yet never having to sacrifice sound design for the sake of "performance optimisation". Java 6, which builds on this stuff, and includes full hardware-accelerated GUI, will (I believe) make very, very responsive and powerful GUI applications possible, without having to lock into some OS-specific framework (or X). Watch that space.

    1. Re:Java 5 by QuoteMstr · · Score: 1

      No, you're not teaching your students the same thing at all. Before, you were teaching them how to create and manage a thread pool. Now, you're teaching them how to use some shitty prefab library to do roughly the same thing without understanding WHY or HOW the library does what it does.

    2. Re:Java 5 by Philosomatographer · · Score: 0, Insightful

      No, not at all. Maybe my original comment had insufficient information - I teach them the same theory (concurrency is concurrency, after all, and an earlier exercise in the curriculum is just that - the development of a generic resource pool (which could host threads, connections, whatever)), but in many respects you have to do a great deal more work using the traditional Java (and most other languages') threading model to accomplish the same thing. This is not because some "shitty implementation" hides details, but rather because of elegant design decisions, such as the separation of business logic from execution/concurrency logic (which I guess you like to be all intertwined in your code).

      With Java 5, you can write your tasks (logic) first, and then decide, as an architectural decision, whether you'd like them executed sequentially, concurrently, with various types of thread pools, etc.

      Also, the traditional limitations, such as always blocking when you want to acquire the lock for an object when it's not available, are significantly complex to work around, whereas the Java 5 concurrency utilities offer several different types of locks, and ways of acquiring them.

      And don't get me started on Conditions - the traditional model of Object.wait() and Object.notify() is simultaneously too simplistic, and introduces far too great complexity when developing complex things (think the controller for an aircraft's controls that has to deal with inputs from two pilots and an autopilot, all of which affect shared resources). Again, Java 5 Conditions provide an elegant platform within which to solve such a problem.

      Using something that "does the work for you" is not "shitty" - it prevents you from having to sit all day and debug multi-threaded code. In either case, you have to understand what you are doing, but let's face it, multi-threading is actually very simple on it's own - it's the implementation, and how you use it to accomplish difficult things, that are exceedingly hard. I'm glad you think you can write a better thread pool than the maintainers of the Java programming language. You should join up at http://dev.java.net/, they can use you! (it's open source now through GPL, remember?)

  102. Re:Check it out! by MysteriousPreacher · · Score: 1

    I hope he joins wikipedia as a writer. Deaf people, with the aid of a speech synthesizer can finally understand what the whole goatse thing is all about.

    --
    -- Using the preview button since 2005
  103. Huh. BeOS fast? by TheLink · · Score: 2, Funny

    Let me know how long it takes to start OpenOffice on BeOS.

    --
  104. The answer lies in Parallels... by grahamtriggs · · Score: 1


    A little bit oblique there, but look at the example set by Parallels on MacOS X - it is entirely practical to run a complete virtual machine inside an OS, and have seamless access to the applications within.

    Maybe it isn't possible to make a BeOS out of Windows, but that simply doesn't matter. An OS should be built from the ground up to learn all the lessons of the past, and implement all the advanced features required, with backwards compatibility entirely handled by virtual machine trickery.

    Vista would have been so much less of a pig's ear if they had ditched the half-baked, broken, attempt to remain compatible with XP, et al, and left running old applications to a virtual machine running a complete XP environment (a la Parallels).

    1. Re:The answer lies in Parallels... by asgasdfas · · Score: 1

      Parallels isn't a "complete virtual machine", it's just the same x86-on-x86 technology that's been around for a decade in VMWare, VirtualPC, Xen etc. That's why it only runs on Intel Macs. The only reason that Mac users are so impressed with it, and do goofy things like videotaping their monitor screens and uploading the video to YouTube, is because they're used to having to reboot between OSX and OS9 to get legacy applications running. (speaking of breaking things on revision...)

      And speaking more about breaking things on revision, this is exactly Microsoft's strategy for backwards-compatibility. Witness their release of timebombed VirtualPC images with IE6 to support app-specific problems. They'll be breaking backwards-compatibility with the OS soon enough.

      So actually I think that graham is right, if a bit myopic - to make Haiku a "killer OS" it needs to be able to host VMs of itself and other x86 OSes out of the starting gate. Good job they're developing in VMs from the beginning.

  105. Re:Check it out! by Anonymous Coward · · Score: 0

    lol, deaf people?

    you meant 'blind' people!

  106. Re:In regards to the user interface 'responsivenes by AbRASiON · · Score: 1

    Thank you.

    Exactly the kind of response I was looking for, I'd be willing to bet Vista does exactly the same thing as 95 does in regards to that kind of thing.

    It's like there's a piece of code that's been sitting around for 15 years that is 'good enough, let's keep it!'... not good.

  107. Re:Check it out! by MysteriousPreacher · · Score: 1

    You got me there. In my defence I was posting before 9am.

    --
    -- Using the preview button since 2005
  108. DragonflyBSD by CarpetShark · · Score: 1

    The Amiga had a great messaging system in it's OS


    One which DragonflyBSD is taking up.
    1. Re:DragonflyBSD by Sketch · · Score: 1

      The Amiga had a great messaging system in it's OS


      One which DragonflyBSD is taking up. Probably because Matt Dillon, the head of the DragonflyBSD project, used to be a big Amiga guy. He wrote the most popular (and possibly only) free C compiler for the Amiga. (Of course, GCC was ported several years later, and may be more popular now.)
      --
      -- OpenVerse Visual Chat: http://openverse.com
  109. Re:Puh-lease by Anonymous Coward · · Score: 0

    About the 32k threads, read this.

  110. Moderation: funny vs. insightful by CarpetShark · · Score: 1

    Parent comment was insightful; probably the most insightful comment here about BeOS. Not funny.

    BeOS looked nice, but it never did much that even pushed a system never mind actually letting you get work done, so it's hard to tell.

  111. Palm based on BeOS? by tji · · Score: 1

    Didn't Palm Source buy BeOS, and claim to be releasing their next generation of PalmOS based on BeOS?

    That was years ago, and obviously never happened. But, did any part of BeOS make it into a Palm product?

    Is there anything left of BeOS, any chance of some life for that codebase?

    1. Re:Palm based on BeOS? by mlk · · Score: 1

      Is there anything left of BeOS, any chance of some life for that codebase? YellowTab kept it going for a bit, then went under. BeOS(1) was then bought by Magnussoft which stopped in May of this year as it was not economically viable to continue.

      A few Open Source efforts popped up when BeOS died, Haiku I think is the only one still going.

      1) Not 100% sure on what was bought, likely the source and the right to maintain a desktop only version of it.
      --
      Wow, I should not post when knackered.
  112. SAPPHO WILL NOW KICK YOUR ASS by Anonymous Coward · · Score: 0

    Do you like greco-roman wrestling?

  113. Re:In regards to the user interface 'responsivenes by MikeTheMan · · Score: 1

    You open a copy of Windows Explorer under Windows 95 with a floppy in the drive, 2 networked drives mapped and a cdrom in the drive...

    For whatever reason, Windows has an obsession with not displaying ANYTHING until it can spin up the CD-ROM drive. I absolutely hate this "feature," and I really wish someone would create a way to turn it off, because there's no reason I should need to wait 5 seconds for the CD to spin up before I can choose a location to SAVE a file.

  114. Can a non-Open Source OS succeed today? by tji · · Score: 1

    I went to one of the BeOS traveling road shows, in Ann Arbor MI, way back when. I was blown away by it.. it was way beyond anything else at the time. I didn't buy a BeBox, but I did get BeOS when it was available for Intel boxes. It's a real shame for that codebase to be lost for practical use.

    The same thing almost happened to NeXTStep. They were bleeding money, and not making much progress in the market. If Apple hadn't screwed up so many of their efforts at creating their next-gen OS, NeXTStep surely would have died. (Of course, Apple almost chose BeOS anyway. And, NeXT had some open-ness in OpenStep).

    But, it just makes me wonder, what would it take for a competitor OS to make it? MS can suffocate any commercial competitor. But, one as advanced as BeOS surely would have lived on if they were Open Sourced. There would have been many people interested in developing the OS or apps for it. But, then again, without a core organization providing direction, the project would probably run off into the weeds - lacking a customer/usability orientation like 95% of all open source projects.

  115. Way off-topic by kumanopuusan · · Score: 3, Interesting

    That's a pet peeve of mine. Ha-i-ku is three syllables.

    There's a sign hanging in the restroom here at work, and I just realized it was a haiku.

    Isogutomo
    kokoro shizukani
    te wo soete
    soto ni kobosuna
    -Matsutake no Tsuyu

    Even when hurried
    Quiet your heart
    Steady with your hand
    And don't spill any on the outside
    -Mushroom Dew

    Beautiful, isn't it? The English version just says, "We aim to please, so please aim."

    --
    Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
    1. Re:Way off-topic by treeves · · Score: 1

      When I was in the Navy, some E-div-er posted a sign in the *AMR2UL head (that's Navy talk for bathroom) that said: "We aim to please. You aim too, please." I like that version better.
      The japanese version you quoted is great, but I didn't know that 5-7-5-7 was also haiku form. Is it?

      *The upper level auxiliary machinery room #2, just aft of the reactor compartment on an SSBN.

      --
      ...the future crusty old bastards are already drinking the Kool-Aid.
    2. Re:Way off-topic by kumanopuusan · · Score: 1

      Yeah, me neither, but apparently 5-7-5-7-7 is. I'd ask someone, but it's the middle of the night and I'm the only one at the office.

      --
      Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
    3. Re:Way off-topic by treeves · · Score: 1

      O yasumi nasai. Mata ashita.

      --
      ...the future crusty old bastards are already drinking the Kool-Aid.
    4. Re:Way off-topic by mdenham · · Score: 1

      Yeah, me neither, but apparently 5-7-5-7-7 is. I'd ask someone, but it's the middle of the night and I'm the only one at the office. Technically, that's not a haiku anymore, that's just a tanrenga. :-)

      That said:

      Would mod parent up /

      But system is insufficient /

      Can't mod "Haiku"

  116. Rose-tinted hindsight... by argent · · Score: 3, Interesting

    Back when BeOS was still cool, and Rhapsody was hot, and NT was still counting by numbers instead of names, I installed BeOS, Rhapsody DR1, and NT 4 on the same hardware... a Pentium with 16MB of RAM... not exactly state of the art but not ridiculous for the time either.

    BeOS showed no exceptional capabilities. Both Rhapsody and NT were easily able to run multiple concurrent applications without slowdown, and BeOS was at least as often bottlenecked on I/O.

    BeOS was certainly a competent OS design, but the "remarkable" performance was only remarkable when it was compared with the classic Mac OS and mainstream Windows 9x. With those as the "competition", the legend of BeOS has grown over the years, but any contemporary preemptive multitasking OS could do as well.

  117. locking out the other tasks by anexium · · Score: 1

    if i remember correctly, you could do a forbid() that'd stop all the multitasking, or at least give your task the priority. there were some reasons for using it. though off the top of my head i can't think of any legitimate ones.

  118. Re:In regards to the user interface 'responsivenes by Repugnant_Shit · · Score: 1

    Some apps, mostly Adobe, seem like they do it on OS X too. Every time I open/save a new file, Photoshop waits for my two external firewire drives to spin up. Ugh.

  119. Re:BeOS != 1984 by Keith_Beef · · Score: 1

    If you can find a personal computer and OS from 1984 that even comes close to the Amiga, then I'll take notice

    I think that the nearest candidate would be the Atari ST.

    Beef

  120. Re:In regards to the user interface 'responsivenes by AbRASiON · · Score: 1

    Totally, what bugs me is it's been like this for over 10 years, what on earth?

  121. Need better def of "pervasive multithreading" by Junks+Jerzey · · Score: 1

    There have been examples in other postings about BeOS and its "eight movies at once" performance. If you play eight movies at once under Windows or OS X, they're *already* each in a separate thread. Windows Explorer and OS X Finder are also multhithreaded to some extent, so you can start a big search across your whole drive and not bring the system to a halt.

    It feels like the original question is "When will systems feel as responsive as I expect them to be?" but it was phrased as a question about multithreading. In reality, there are processes and threads like crazy under all modern operating systems, but that doesn't always translate to "responsive." I've seen cases where there's a 10 second delay between pressing Windows+E and a new explorer window popping up. That's significantly slower than requesting a list of files on an ftp server halfway around the globe. Multithreading isn't going to fix this.

  122. Re:BeOS != 1984 by Sketch · · Score: 1

    Hell, the Mac still is stuck with it's one menu windowing environment that hearkens back to the days of only being able to have one active application at a time. Pathetic! It's funny you mention that, because the Amiga used a single menu bar across the top of the screen that was shared by all applications as well. Unlike the Mac, it requires a right mouse click to activate. It's a good way to save screen space rather than wasting real estate on every single window with a menu bar that does nothing until it's clicked.
    --
    -- OpenVerse Visual Chat: http://openverse.com
  123. Re:Check it out! by Surt · · Score: 1

    In fairness back to you, if you haven't listened to the mp3 song on goatse, you're missing half the joke.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  124. Re:BeOS != 1984 by Sketch · · Score: 1

    The ST ran GEM (which was also available on the PC). It did not come close.

    The hardware did have many similarities...however, this discussion isn't really about the hardware.

    --
    -- OpenVerse Visual Chat: http://openverse.com
  125. OMG Pervasive Multithreading like NT/2K/XP/Vista? by TheNetAvenger · · Score: 1

    OMG Pervasive Multithreading like NT/2K/XP/Vista?

    Do people in the /. world really NOT KNOW that Windows 2000, XP, Vista all have prevasive Multi-threading, although it is not as extensive as BeOS?

    So ya we need more Pervasive multi-threading in other OSes, and Windows needs to extend the level of pervasive multi-threading that is already in the OS architecture.

  126. Re:Yes...well, maybe eventually... by Eli+Gottlieb · · Score: 1

    Slight problem: operating systems can't detect every memory write or read without turning on debugging interrupts or setting up the page tables so that every access page faults. There's no mechanism in current processor architectures to support STM in an OS.

  127. Re:In regards to the user interface 'responsivenes by AaronLawrence · · Score: 1

    Yep, I too have been waiting years for them to fix this.
    Each new Windows version comes out and I try out windows explorer with a CD... same old s**t.

    However, at some point they DID multi-thread the folders view so that it first shows + for every folder, then later hides them for folders without subfolders. Probably XP. Windows 2000 still wants to expand everything exactly.

    --
    For every expert, there is an equal and opposite expert. - Arthur C. Clarke
  128. Re:Predict the futrue? Look at the past. by ShieldW0lf · · Score: 1

    Microsoft made their .NET launch with an effort to bring the VB developers into the fold by making things familiar. Because there were a boatload of not-the-most-creative-but-very-numerous VB6 developers out there.

    Now, we have a glut of web developers. They are not inclined to find the idea of having multiple servers instead of one intimidating, but rather liberating.

    That's what I base my prediction on. That they all categorically won't learn from experience, and that the client-server developers are the ones most likely to thrive in their not learning.

    --
    -1 Uncomfortable Truth
  129. Re:OMG Pervasive Multithreading like NT/2K/XP/Vist by Fjodor42 · · Score: 2, Insightful

    Hmmm, possibly just displaying lack of knowledge here, but doesn't pervasive sort of mean "included in every layer and possible application" (sort of synonymous with "ubiquitous")? Most unlikely, I don't mean to bash Windows here, actually the more of that they can cram in there the better for people using it (true for every OS), but "extending pervasiveness" seems to be somewhat of an oxymoron in my understanding.

    Am I completely wrong in this? /F

    --
    "The number you have dialed is imaginary. Please rotate your phone 90 degrees and try again."
  130. Uninstall Iraq by Anonymous Coward · · Score: 0

    Due to a current bug, cannot to uninstall software, such as the relatively unpopular "Iraq Occupation" application.

  131. Threads are not magic by sjames · · Score: 2, Insightful

    There is nothing magic about threads. Sometimes a multi-threaded process is the right approach, sometimes a multi-PROCESS application is better. Sometimes a process is intrinsically serial in nature and any gain from threading will be more than swamped by the overhead.

    While sometimes obscured by terminology, threading isn't a single entity. For example, if a process mmaps in blocks of memory with MAP_SHARED, then creates pipe pairs and forks, it IS a multi-threaded application in some sense, but isn't what many think of as threaded. For that matter, the mmap step can be skipped for some server applications and still be multi-threaded.

    A single process with a single thread in it MIGHT be somewhat multi-threaded if it does it's I/O through various asynchronous calls.

    At the same time, an application that explicitly calls thread creation functions might be effectively single threaded if resource (lock) contention is such that no more than one ever runs at the same time. Another case of being effectively single threaded is when an application is event driven and even though events are dispatched to worker threads, the thread typically completes it's handling before the next event comes in. This will often be true of interactive applications where the user won't likely keep issuing commands until they see the results of the previous command.

    OTOH, things like image processing in GIMP could stand to be multi-threaded where the work is tiled and dispatched to worker threads.

    Until recntly, multi-threading has only been beneficial to a small percentage of users anyway. Most people until recently have had single processor systems.

    BeOS's legendary media handling was more the result of carefully designed and tuned media subsystems than pervasive threading.

  132. what nerve... by Anonymous Coward · · Score: 0

    Sir: If your grammar truly is that crude, I certainly would not want you to be any part of my software engineering team.
    capitalization not needed after ':'

    As I've posted previously on /., grammar/syntax, spelling, and mathematics are a large part of the computing field, and I simply will not hire anyone that does not have a firm grasp of those basics.
    run-on sentence

    It is important that one carry through life the gift that is grammar.

    To exercise it at all times, lest others think one is ignorant.
    sentence fragment

    It is apparent that somewhere along the way the system failed.
    missing comma between phrases

    You were allowed you to graduate with less than an eigth-graders grasp of something as simple as Haiku.
    extra word, misspelled word

    Perhaps you slid through school because of who mommy or daddy are. Perhaps you just don't care. Either way, it is a shame. What kind of company would hire a software developer unwilling or unable to write or speak fluently in English?

    ... the same kind of company that hired you. It's a shame, alright.

    Fix your own English before you have the audacity to criticize other's use of the language, moron.

  133. Re:Check it out! by MysteriousPreacher · · Score: 1

    Ha ha, that is bloody priceless. Thanks, never knew the MP3s.

    --
    -- Using the preview button since 2005
  134. First woman poet? by j_w_d · · Score: 1

    I doubt we know who the first woman poet was, but Sappho from the Aegean island of Lesbos, a classical Greek and female as well, was composing poetry long before Rome was an empire. Emily Dickinson is one the first important female American poets and ranked right up there Henry Wadsworth Longfellow by critics.

    As far as literacy goes, look up the term "blue-stocking society" in the mid-19th Century. By the 19th it was a pejorative term, but, consider its antecedents. By the 19th c. it was fairly important that women be able to read and write and calculate. They generally managed household accounts, read to and educated children who were not sent to school, including sons, and in some cases managed businesses as well.

    --
    ------ The only greater hazard to your liberty than n politicians is n+1 politicians.
  135. Amiga Truth by DragonHawk · · Score: 1

    If what you say is true, the Amiga would never had survived the era of the Internet.

    Well, first, there's the minor detail that the Amiga (as it was) didn't really survive, and that death happened before the Internet hit the big time. Sure, there's a strong enthusiast community that has done an admirable job keeping the platform alive without OEM support, but you can't exactly ignore the collapse of CBM, either. Well, maybe you can, but most people can't. :)

    Second, the mechanism the Amiga used for message passing is well-documented. Try these Google searches for some good results:

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  136. Re:BeOS != 1984 by mdwh2 · · Score: 1

    Another useful feature was the way that you could keep the menu open by holding down the right mouse button, and then use the left to select multiple items - particularly useful when you have a series of tickboxes you want to select.

    I'd love to have that available now, it's tiring having to open a menu (either a window menu or context menu) multiple times.

  137. Re:BeOS != 1984 by Anonymous Coward · · Score: 0

    What you describe is bad design. The right UI design solution is never to put a lot of tickboxes in menus in the first place.

  138. Re:BeOS != 1984 by Anonymous Coward · · Score: 0

    The reason for the single menu bar on the Macintosh has nothing to do with saving screen real estate. Rather, it's an application of Fitt's Law: the corners and edges of the screen are easier and faster targets to acquire with a mouse than objects elsewhere on the screen, mainly because (with appropriate acceleration curves) it's very fast to slam the mouse to a corner and then slide it along the edge. So Apple designed the menu bar to take advantage of this, and located very frequently used menus nearest to the corner.

  139. Re:BeOS != 1984 by mdwh2 · · Score: 1

    What you describe is bad design. The right UI design solution is never to put a lot of tickboxes in menus in the first place.

    Doesn't have to be a lot, just more than 1.

    Where should the options be placed instead?

  140. Re: Be's downfall by Weasel+Boy · · Score: 1

    I've always felt that the main reason Be didn't make it was that there's only room for one significant competitor to Windows, and the market had already chosen Linux. (MacOS was a special case, due to inhabiting a space where Windows couldn't go. It'll be interesting to see if MacOS can survive moving to Intel.)

  141. Drivers are the problems by DrYak · · Score: 1

    Drivers (and to some extent the hardware) are the problem.

    Not all DRI/DRM modules support multithreading and multiple contexts well.

    Probably, using some piece of code that isn't maintained anymore and whose company has went belly up for a long time (like 3DFx video boards) is going to give much worse results than something that is currently being actively developed on (like Intel i9xx intagrated GPU running AIGLX/XGL).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  142. Re:In regards to the user interface 'responsivenes by drinkypoo · · Score: 1

    The substantially different kinds of windows are: 1; 2; 3; NT 3.1; NT 3.5[1]; Windows 95, 98, ME; NT 4.0; Windows 2000, Windows XP, Windows 2003; Vista. Windows 1 and 2 are text mode. Windows 3 includes 3.0, 3.1, and 3.11, which are all graphical shells on top of DOS. They offer 32 bit support through Win32s. Windows NT was originally more microkernel-based than it is today; 3.5 did away with that. Windows 95 was new, mostly 32 bit (but with many 16 bit components.) It was enhanced for USB and AGP in some sub-versions; this was rolled nicely into Windows 98 (with some minor shell improvements) which still had many 16 bit executables in the OS. Windows ME did away with the 16 bit stuff, and stopped flipping into real mode like win95 and win98. NT4 did away with some of the memory space segregation (IIRC they merged Kernel and GDI, leaving only Kernel and User) and got Windows 95's shell (it came before 98 but 95 and 98 are definitely essentially the same thing.) So it got better graphics performance, but less stability. It also got support for volumes over 2GB and 3.51 didn't, so 4.0 was around to stay. Win2k is NT5, has a bunch of changes (including a new driver model) and XP and 2003 are the same thing basically. Vista has yet another new driver model and all the new goodies that we know and hate today :)

    Now, the answer to your question: Windows 3.x used to put up the window before it had anything to put into it. Windows 95 and later seems to be based around having something to say before saying anything. I'm pretty sure that's about the whole story.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  143. Not up to XP anyway. by krischik · · Score: 1

    Well, my XP regularly hangs - that is:

    * Click with the Mouse - nothing happens.
    * Move the Mouse - nothing happens.
    * Type on the Keyboard - nothing happens.
    * Type Ctrl-Alt-Del - nothing happens.
    * Type Shift-Ctrl-Esc - Task manager does not appear.

    Especially the last one is bad as the task manager should enable you to kill evil jobs.

    Ah, at work especially the (on access) virus checker grinds the system to a hold.

    BTW: It it the same for Linux - with one difference - here it is the xfsdump backup utility which grinds the system to a hold. Probably a Priority Inversion [1].

    So, NO: neither Windows nor Linux have really good multi tasking.

    Martin

    [1] http://en.wikipedia.org/wiki/Priority_inversion

    1. Re:Not up to XP anyway. by TheNetAvenger · · Score: 1

      Well, my XP regularly hangs - that is:

      * Click with the Mouse - nothing happens.
      * Move the Mouse - nothing happens.
      * Type on the Keyboard - nothing happens.
      * Type Ctrl-Alt-Del - nothing happens.
      * Type Shift-Ctrl-Esc - Task manager does not appear.

      Especially the last one is bad as the task manager should enable you to kill evil jobs.

      Ah, at work especially the (on access) virus checker grinds the system to a hold.


      If this is how XP runs on your system, I would hate it as much as you do. This is NOT how XP behaves, and even though it is not as refined in I/O locking or scheduling granularity as Vista, it is HARD to EVER get XP to a point where the mouse, taskmanager, etc are not 100% responsive.

      I would suggest you have some major hardware issue, or you are running truly horrible anti-virus software that is tied into the kernel in ways XP wasn't designed for, like McAfee and Synamtec do.

      With any NT based Windows OS, if an application tries to suck CPU or becomes unresponsive, only that application alone should ever be non-responsive and on Vista this is even reduced as Vista takes back ownership of the Application Frame so even a hung application can't obstruct its own Window even.

      Seriously, if XP behaved like you suggest, no one would ever use it, as what you are describing sounds more like Win 3.1 or Win9X with the 16bit mutext going nuts.

  144. I can remever it very well by krischik · · Score: 1

    The Windows 2000 desktop I us at work locks on me on a regular basis. See my other post:

    http://ask.slashdot.org/comments.pl?sid=250527&cid =19884803

    Martin

    1. Re:I can remever it very well by argent · · Score: 1

      Your other post refers to Windows XP.

      If your system has been so messed up that you can't tell if it's 2000 or XP, I suspect you might want to reinstall.

    2. Re:I can remever it very well by krischik · · Score: 1

      I got an 2000 at work and XP at home. The 2000 is worse - but that's probably because system department choose such a great virus checker. Still - in a proper MT system the virus checker should not bring the system to a standstill (only the one thread waiting for data to be checked should be affected).

      Martin

  145. Anti-virus can destroy any software... by argent · · Score: 1

    I don't run virus checkers on Windows unless I know the machine's going to be exposed to mundanes or other sources of bad karma. They are *all* abominable pieces of crap... this has nothing to do with whether the OS is multi-tasking, multi-threading, preemptive, or anything else... it has to do with the antivirus itself being a bottleneck. Every antivirus software as far as I can tell just traps whatever random API it feels like, and it locksteps all calls to all APIs it traps by blocking them on its "engine"... which is just a fancy "grep" as far as I can tell.

    The security problems in Windows that make antivirus so necessary are a real problem with the OS, but that's got very little to do with the original article. BeOS may or may not have ended up with major security problems, I don't know. It might have... it's so easy to integrate applications with the Tracker that it would just take a sufficiently popular webbish application deciding to take advantage of that and screwing up to make it a big problem.

    Abuse any system and it WILL break, eventually. BeOS was particularly sensitive to memory shortfalls, for example. It didn't take much paging activity to make it grind to a halt, even right up to the end.

    1. Re:Anti-virus can destroy any software... by krischik · · Score: 1
      Indeed!

      Abuse any system and it WILL break, eventually.

      Remember my other post? The interesting one was the priority inversion on my Linux backup. An online backup should not abuse the system.

      A Real-Time OS might be helpfull here as it protect against that ans other problems. And a real time programming language like Ada. But that is a mute point as Ada's Real-Time-Annex will only (fully) work on a Real-Time-OS :-( . BeOS was particularly sensitive to memory shortfalls, for example. It didn't take much paging activity to make it grind to a halt, even right up to the end.

      That is strange. I never noticed when using BeOS but then I had memory without end at the time. But what I did notice was that BeOS needed a page file at least the size of physical memory - and I thougt that was so for speed optimization.

      Martin
  146. Re:BeOS != 1984 by Sketch · · Score: 1

    I considered mentioning that, but I figured everyone had heard that one by now. ;) I wouldn't be surprised if screen real estate played into it as well as it was probably more a consideration then. Especially on the Amiga, where the primary resolution was 640x200, you don't want to waste a whole lot of vertical screen space with menus.

    --
    -- OpenVerse Visual Chat: http://openverse.com
  147. Look to schools like michigan by Anonymous Coward · · Score: 0

    At U of M they didn't offer any classes in Java, C# had never been heard of by most of the professors and everything was coded in c/c++ on solaris or linux. If you didn't understand C or Verilog you would never survive the CompE program. Now CompSci is different you could be almost a theoretical mathematician or a coder.

  148. Re:BeOS != 1984 by Anonymous Coward · · Score: 0

    Many amiga users used the "MagicMenu" commodity. That moved the menus to "underneath the mouse pointer", the only place closer than the top of the screen by "Fitt's law" ;-).

    That is to say, MagicMenu positioned application's menus like a "modern" context-menu, but not acting quite like the travesty that is the modern context menu:

    Amiga menus were always context-sensitive - items ghosted and unghosted when they were inapplicable and applicable. But they didn't disappear and reappear though. That meant they never moved position, so you could learn in muscle-memory how to select them quickly, even without looking at the screen after a while. It's little touches like that that made the Amiga GUI, not the Mac's, the closest to perfect of that era.

  149. Re:Yes...well, maybe eventually... by Pseudonym · · Score: 1

    Right, which is precisely my point. In addition to the point that we don't know what such a mechanism should look like yet.

    But I don't think the problem is unsolvable. Importantly, CPUs are transactional at the microarchitecture level, precisely to support parallelism. Some ISAs support LL/SC, which is a very rudimentary kind of transaction. It may only be a matter of time before transactions become more pervasive at the ISA level, at least in research. Imagine, for example, if you supported small basic block-sized transactions which "roll back" if an interrupt occurrs, or if a branch is mispredicted.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  150. Re:Yes...well, maybe eventually... by Eli+Gottlieb · · Score: 1

    Do you remember the last time a research architecture became prevalent in the field? I can't.

  151. Re:BeOS != 1984 by Sketch · · Score: 1

    Many amiga users used the "MagicMenu" commodity. That moved the menus to "underneath the mouse pointer", the only place closer than the top of the screen by "Fitt's law" ;-). Yep. I used something similar called SiliconMenus back in the 1.3 days and just stuck with it.

    It's little touches like that that made the Amiga GUI, not the Mac's, the closest to perfect of that era. Though there have been improvements since then, it doesn't hold up too badly now either. I just hooked my old A3000 up a month or so ago, as I tend to do once every few years and after using it for about 15 minutes, it always feels like going home again. (And I've been running the same desktop on Linux for nearly 10 years now, when I first switched from the Amiga.) On the other hand, whenever I use Windows, it always feels clunky, even though I spent a few years using it for 8 hours a day at work... There are certainly many modern things missing, but it's a very well done interface.
    --
    -- OpenVerse Visual Chat: http://openverse.com
  152. Re:OMG Pervasive Multithreading like NT/2K/XP/Vist by TheNetAvenger · · Score: 1

    Hmmm, possibly just displaying lack of knowledge here, but doesn't pervasive sort of mean "included in every layer and possible application" (sort of synonymous with "ubiquitous")? Most unlikely, I don't mean to bash Windows here, actually the more of that they can cram in there the better for people using it (true for every OS), but "extending pervasiveness" seems to be somewhat of an oxymoron in my understanding.


    Well it would be described as this. NT started off with a strong architecture that was not limited by older micro or mono kernel constraints. So NT had a running start of the non Win32 portion of the OS being pervasively multi-threaded.

    However as Win32 has evolved and applications like Explorer that are at the heart of what people see as Windows, this 'level' of prevasive multi-threading has not been as consistent as exists in the underlying NT OS architecture.

    So in a way you could say it is an oxymoron, but if you define Windows based on the inherent subsystem lines of the OS, it makes sense.

    So NT itself it is already there, and Win32/Win64 are partially there with some applications needing a higher level of threading implemented.

    The NT core in Vista is highly threaded and even the lower levels of the subsystem are as well, but when you get down to applications like Movie Maker in Vista it is not 'fully' threaded as far as it should be, as it does split off the conversion and processing in threads quite well, but the UI could use more threading so that while it is processing you get more just a progress dialog box.

    So yes the OS itself has full pervasive threading, just not all the applicaitons or components of each subsystem do. (The same is true of the BSD and other Subsystems that run alongside the Win32 subsystem.)

    And yes the Win32 subsystem thing is confusing to many, as Win32 acts like an independant OS running on the NT architecture, having its own kernel etc that is separate from the other running NT allowed subsystems. But this is also one of the things that earns NT respect with OS theorists, having a unique client/server kernel architecture that hosts subsystem OS concepts easily.

    Take Care

  153. Re:Yes...well, maybe eventually... by Anonymous Coward · · Score: 0

    Huh? Memory barriers with hardware assists (MMU updating card table structures without software support) have been available for more than a decade in commodity hardware. Any sort of LRU-style demand paging would be useless without them. Moreover, they are almost a prerequisite for handling out of order operations involving (among others) DMA peripherals.

    APIs to expose membars and the dirtiness of pages to user code exist in a number of operating systems, and the concept is not too foreign to incorporate into Linux or any similar OS.

    STM only requires that readers know for certain that the data they have been operating on is the most recent.

    STM's biggest gotcha is that with a frequently-changing dataset and long running computations, lots of work will be wasted, pushing up the concurrent reader count at which STM efficiency surpasses traditional lock-based techniques. It's next-biggest gotchas are the cost of log maintenance and commits.

    While being signalled on page dirtiness may allow an earlier abort, it is not strictly necessary.

    This explains why there are at least thirty open source STM and composable memory implementations, in several languages.

  154. Yesteryear... by woolio · · Score: 1

    The thing that makes multi threaded programming so difficult is concurrency control

    You DO realize that concurrency models, distributed databases, and other distributed systems research were virtually beaten to death from 1960s,1970s, and 1980s?

    I also challenge you to find one application/environment where concurrency control is a major implementation/design issue.

  155. Feeding the machine... by woolio · · Score: 1

    The amount of computing power found in a typical Pentium III computer sitting out and someones curb far exceeds the needs of most users.

    Well it was fast until idiots started using Flash to play real-time video. There are other abuses as well...

    Soon, I predict that even our interpreted languages will rely on runtime components that are interpreted themselves. And these will show up on webpages!

    I remember when Microsoft Office only occupied a few Mb (10) of disk space and ran on systems with 2MB total memory! I can't name any significant advantage the latest version has over the old one (in terms of usuability).

  156. Re:OMG Pervasive Multithreading like NT/2K/XP/Vist by Fjodor42 · · Score: 1

    Most interesting! Actually, my only gripe was with "graduating" pervasiveness, as it is, in my understanding, a natural superlative. But thanks for clarifying the pervasiveness of threading in the win-line of OS'es!

    --
    "The number you have dialed is imaginary. Please rotate your phone 90 degrees and try again."
  157. Re:Yes...well, maybe eventually... by Pseudonym · · Score: 1

    Do you remember the last time a research architecture became prevalent in the field?

    It depends what you mean by "prevalent", but the Cell Broadband Engine is probably the biggest at the moment.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  158. Fitt's Law by LKM · · Score: 1

    Hell, the Mac still is stuck with it's one menu windowing environment that hearkens back to the days of only being able to have one active application at a time. Pathetic!

    Dude. Are you intentionally trying to look stupid? It's called Fitt's law. Look it up.

  159. Re:BeOS != 1984 by LKM · · Score: 1

    Fullscreen Support actually was in the QuickTime Player for quite some time before they took it out a few years ago. QuickTime itself has pretty much always had fullscreen support, even when Player did not support it.

  160. That damn "idle" task! by LKM · · Score: 1

    Yeah, I need a second processor just to run that damn "idle" task. It eats up 90% of my CPU! Seriously though, most of these tasks barely use any CPU at all.

  161. Iran/Contra clarification by HBI · · Score: 1

    Very funny but...

    What happened with Iran/Contra was that Congress prevented the expenditure of US funds directly to support insurgents in Nicaragua. Leaving out my personal view of this being a. an intrusion onto Presidential powers and b. being stupid because the Sandinistas were actively supporting insurgencies in Costa Rica, Honduras and El Salvador, what Ollie North and company were doing was supplying spare parts for US-built weapons that had been given to Iran during the Shah's regime - mostly aircraft such as the F-14 which required US help to maintain. This material was transferred via an Israeli proxy. The proceeds from that were used to fund the Contras.

    Your mistake was 'us buying Iranian weapons' which wasn't what happened. We used the Iranians as a money laundering service fundamentally to circumvent Congress.

    --
    HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.