×

Operating system for office machines

  • US 5,742,825 A
  • Filed: 02/28/1997
  • Issued: 04/21/1998
  • Est. Priority Date: 09/30/1994
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for supporting real time processing in a graphical windowing operating system for an office machine, the graphical windowing operating system having a non-preemptive scheduler for scheduling windowing applications, a preemptive scheduler for preemptively scheduling the windowing applications and real time applications, a first messaging subsystem for processing messages for the windowing applications, and a second messaging subsystem for processing messages for the real time applications, the office machine having a processor and memory, the method comprising:

  • separately controlling communication among the windowing applications with the first messaging subsystem, including posting messages and getting messages for each of the windowing applications in message queues allocated for the windowing applications;

    controlling whether the windowing applications are in a blocked or ready state for scheduling in response to message calls to the first messaging subsystem from the windowing applications;

    allocating message queues corresponding to the real time applications with the second messaging subsystem;

    separately processing messages for the real time applications with the second messaging subsystem including posting and getting messages for each of the real time applications in the message queues allocated for the real time applications;

    controlling whether the real time applications are in a blocked or ready state for scheduling in response to message calls to the second messaging subsystem from the real time applications;

    allocating message queues for office machine foreground applications in the first messaging subsystem;

    receiving message calls from office machine foreground applications in the second messaging subsystem to enable the office machine foreground applications to communicate with the real time applications;

    determining whether any of the message calls received in the second messaging subsystem correspond to the message queues allocated for the windowing applications and the office machine foreground applications maintained by the first message subsystem;

    making message calls on behalf of a first office machine foreground application in response to receiving a first message call in the second messaging subsystem that corresponds to one of the message queues allocated by the first messaging subsystem for either one of the windowing applications or one of the office machine foreground applications;

    scheduling the windowing applications non-preemptively in a system process with the non-preemptive scheduler;

    scheduling a first real time application and the system process preemptively by the following steps;

    transferring control to the preemptive scheduler upon an interrupt generated by an interrupt module;

    determining whether a currently running process can be preempted;

    identifying whether the currently running process is in the system process;

    determining whether the real time application is ready to be scheduled by the preemptive scheduler; and

    if the currently running process is in the system process and the real time application is ready to be scheduled, then preempting the currently running process by performing a context switch between the currently running process and the first real time application.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×