| This subclass is indented under subclass 102. Subject matter comprising means or steps for dividing processor
time of a computer or digital data processing system between multiple executing
programs or processes.
| (1)
Note. This subclass is directed to multitasking systems
characterized by operating system means or steps for managing or
supervising a switch between two or a plurality of discrete executing
processes or tasks. For the purpose of this definition, each
process or task has its own instruction data pointer and an address space
comprised of code, data and free memory, and may
include other data necessary to restore a process undergoing a context
switch. Since each process has its own instruction data
pointer and an address space comprised of code, data and
free memory, every process at any given point in time has
a state or context defined by the contents of its instruction data
pointer and address space. Multitasking systems classified
here facilitate the switching from one context to another. Recovering
a digital data processing system or computer process combined with
the detection of a fault, however is classified elsewhere. See
the SEE OR SEARCH CLASS notes below. |
| (2)
Note. Preemptive multitasking (also called "time
slicing") is included under this subclass. For
clarification, preemptive multitasking is characterized
by an operating system periodically (i.e., according
to a set schedule) interrupting the execution of a process
and passing control to another waiting process and performing a
context switch after which the context for the next pending process is
restored, and the next process is executed for the duration
of its time slice or "quantum". Instruction
processing related to context switching and mode switching is classified
elsewhere. See the SEE OR SEARCH CLASS notes below. |
| (3)
Note. Nonpreemptive and cooperative multitasking
are included under this subclass. Nonpreemptive multitasking
is where a currently executing task yields control to another task
when it is ready, rather than being forcibly preempted
by an operating system. Cooperative multitasking is where
one or more background tasks are given processing time during idle
times in the foreground task. In contrast, user-implemented
task or context switching between two or more applications programs
which are both resident in memory at the same time where only the
foreground application is given processing time and a user may manually
activate a background task by bringing the window or screen of the background
task to the front is classified elsewhere. See the search
notes below. |
| (4)
Note. For clarity, time-sharing
is a form of multitasking. Time-sharing is generally
characterized by multiple users executing programs on a client-server system. A
client-server system is characterized by at least one server
computer and a plurality of clients or users which operate from
terminals or computers programmed to emulate terminals. Examples
of time sharing systems are systems which implement the UNIX (TM) or
Windows NT (TM) operating systems. On
a time sharing system the processing time allotted to each user
program is interleaved by the operating system, privileged
users can be assigned higher priority and will receive more processing
time than nonprivileged users. Access control determination
for process arbitration, per se, is classified elsewhere
in this class. See the search notes below. |
SEE OR SEARCH THIS CLASS, SUBCLASS:
101, | for batch computer and transaction computer where
complete programs are executed in their entirety from start to finish. |
SEE OR SEARCH CLASS:
700, | Data Processing: Generic Control Systems
or Specific Applications,
subclasses 2 through 7for generic data processing control systems including
plural processors and fault recovery. |
712, | Electrical Computers and Digital Processing Systems: Processing
Architectures and Instruction Processing (e.g., Processors),
subclass 228 and 229 for instruction and register level context
preserving, context swapping, mode switching and
mode swapping. |
714, | Error Detection/Correction and Fault Detection/Recovery,
subclasses 2 through 24 for fault recovery, per
se, in computer systems and digital data computer systems, particularly
subclasses 15-22for recovery
from detected faults in a process or data file using stored state
data and history logs, and subclass 23 for resetting a processor
combined with fault detection. |
|