Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

Reply to thread

Loris: In that case, I think you've been blinkered so much that you couldn't acknowlege it if it were perfect. (Which I admit it's not - nowhere near.)

Windows's multitasking isn't perfect. Neither is Linux's or MacOS X/Mach's. But they seem to get it better. I think to say Microsoft don't worry about usability at all is extremely unfair. From the available evidense, it would appear that ROL and CTL care very little about stability or development. But this most likely isn't true at all. Most people I know are perfectly happy with Windows, and when they're shown Linux or RISC OS, really don't like it all. People who say that RISC OS's GUI is intuative are missing something important: Lots of the state is hidden until you do something that isn't actually obvious. (ie, pressing the middle button for menus.) While I like that idea, because it saves screen real estate, and means moving the mouse less, it certainly isn't intuative.

Windows uses a prioritised scheduling system, like most pre-emptively multitasking OSes. When a process wants to run, the sheduler puts it on a "run" list. It knows when it wants to run, because the OS knows if it has received an event, or if data it was requesting from the disc or IP stack is now ready. The list is then sorted in terms of priority - different processes have different priorities. It then works through them all, giving them all a slice of time. Obviously, this is a hideous simplifcations of how it actually works. Read Tanenbaum if you're more interested on the subjection of multitasking and scheduling algorithms. It's amusingly written, and quite easy reading considering the horrific complexity of the subject. Unix allows processes to change their priority at run time. But obviously, if the process has work to do, you want it to do it. Unlike RISC OS, if no processes want to do anything, Windows and Unix essentially turn the CPU off until one does. It isn't eager to do something if nothing needs doing.

A process can surrender the remaining time in its allocated time slice by "blocking" - ie, asking the OS for something that isn't available instantly. This could be to read some data from a file, waiting on a socket for activity, or waiting for a specific time to occur. It's quite easy for a Unix process to say "Don't return to me for a tenth of a second" for example, but there's little point. The whole idea of PMT is that processes rarely need to concern themselves in multitasking at all. They all act if they're going full-pelt all the time. Which also simplifies programs quite dramatically, leading to fewer bugs.

 is a RISC OS Usernunfetishist on 24/05/05 2:45PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • CDs Available
    Drobe Special Projects
     2 comments, latest by piemmm on 21/10/03 12:23PM. Published: 23 Jul 2003

  • Random article

  • Freeware news
    K2 graphic demo Iyonixfied plus more updated software
     13 comments, latest by druck on 19/12/04 9:33PM. Published: 29 Apr 2003

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "Don't suppose you could remove that article, just for a few hours?"
    Page generated in 0.0701 seconds.