• PRG54 - About priority levels in a nutshell

    From FAQServer@2:5020/181 to All on Sat Mar 9 07:37:19 2024
    [Q]: About priority levels in a nutshell

    [A]: Peter Knapper (3:772/1)

    Aha...there's my problem. So, LOWER Priority numbers are HIGHER Priority?

    Nope, lower = lower.....;-) Actually the lowest (and default) value is 1, BUT before you start tinkering with this it may be useful to understand what affect the ymay have. Here is an overview of how OS/2 processes are categorised.

    OS/2 provides 2 main methods for allowing a PROCESS to control how OS/2 services
    that processes needs, as a PRIORITY CLASS and a LEVEL within that CLASS, however
    not all PRIORITIES have levels... Confused? There is a logical reason why...

    There are 4 PRIORITY classes for OS/2 programs (lets leave device drivers, etc out of this, we are only talking about applications here). NOTE: Here the term "WINDOW" includes full screen tasks, they are actually "Full Screen Windows" in the system, similar to a Window on the Desktop... In decending order of importance -

    - Time Critical
    This is best used for sections of code that require very close
    interaction with other components within the machine. A good
    example is a Data communications application for processing FAX
    messaging, the FAX protocol requires time dependant responses so
    applications that "talk FAX" need CPU time NOW, so the probably
    use this PRIORITY. A CLASS 1 FAX puts this processing in the S/W
    rather than the modem so it is most dependant on getting CPU
    time. A CLASS 2 FAX puts some of the critical parts back in the
    modem, so the applicaiton does not need to be so demanding on
    CPU time. Moral, always go for CLASS 2 capable FAX devices
    wherever possible.

    - Foreground
    When a window on the desktop is the ACTIVE window, then it is at
    this PRIORITY. IMPORTANT: Because only 1 WINDOW can be the ACTIVE
    window at a time, there is no point in using a LEVEL value here,
    and in fact althjough it can be specified, it is ignored whenever
    the Window is ACTIVE.

    - Regular
    Windows that are not the ACTIVE window, normally reside at this
    priority LEVEL. These applications can select a LEVEL that will
    be used whenever they are NOT the ACTIVE Window.

    - Idle
    Tasks that perform "tidy up" tipe functions and are not dependant
    on having processor time available. An example here would be an
    application that displays CPU time usage, to know how much time
    everything else is using, it would run at the LOWEST possible
    level and thereby see how much processing power was left over.

    So you can see how a LEVEL may or may not affect applications with a different PRIORITY, and LEVEL only applies when that task is NOT the foreground task.

    --- INN 2.7.2 (20240212 prerelease)
    * Origin: This echo is READ-ONLY. Send %HELP to FAQSERVER at (2:5020/181)