|
Claims  |
|
|
What is claimed is:
1. In a multi-tasking data processing system including memory means for
storing data residing in document structures and active tasks, including a
foreground task and one or more background tasks, each of said tasks being
operable for directing operations to be performed on data and CPU means
responsive to the tasks for operating on the data, screen manager means
for creating visual display screens upon a display screen, the visual
display screens representing data residing in a corresponding document
structure to be displayed in association with corresponding active tasks,
comprising:
means responsive to active tasks for creating a screen manager control
structure within the memory means,
the screen manager control structure including
information relating each screen to a corresponding task, and
for each screen,
information expressive at least of formatting information relative to the
screen, and
information relating the screen to the data residing in the document
structure to be displayed therein, and
means responsive to the corresponding tasks and corresponding screen
manager control structures to access and display the corresponding data
associated with the foreground task.
2. The screen manager means of claim 1, wherein each screen is comprised of
at least one viewport, each viewport containing data from a different
portion of the document structure.
3. In a data processing system including memory means for storing data
residing in document structures and tasks, including a foregound task and
one or more background tasks, directing operations to be performed on data
and CPU means responsive to the tasks for operating on the data, screen
manager means for creating visual display screens upon a display screen,
the visual display screens representing data residing in a corresponding
document structure to be displayed in association with corresponding
active tasks, comprising:
means responsive to active tasks for creating a screen manager control
structure within the memory means,
the screen manager control structure including
information relating each screen to a corresponding task, and
for each screen, information expressive at least of formatting information
relative to the screen, and
information relating the screen to the data residing in the document
structure to be displayed therein, and
means responsive to the corresponding tasks and corresponding screen
manager control structures to access and display the corresponding data
associated with the foreground task;
wherein each screen is comprised of at least one viewport, each viewport
containing data from a different portion of the document structure;
the screen manager control structure further including;
at least one virtual screen descriptor block, each virtual screen
descriptor block corresponding to a screen associated with a corresponding
task, each virtual screen descriptor block being comprised of data field
including
a field identifying the associated screen,
a field identifying the associated task, and
fields describing the associated screen, including
a field containing a pointer to a first viewport associated with the
screen,
a field containing an array of numbers identifying all viewports associated
with the screen, and
a field for containing a pointer to a next virtual screen descriptor block
associated with a screen,
the screen manager control structure further including
at least one viewport descriptor block, each viewport descriptor block
corresponding to a viewport associated with the screen, each viewport
descriptor block being comprised of data fields including
a field containing a pointer to a page containing the data to be displayed
within the viewport,
fields describing the logical locations and dimensions of the viewport
relativeto the data to be displayed therein,
fields describing the location of a cursor within the viewport, the
position of the cursor being associated with the operation of the
associated task upon the data, and
a field for containing a pointer to a next viewport descriptor block of a
viewport associated with the screen.
4. In a multi-tasking data processing system including memory means for
storing data residing in document structures and active tasks, including a
foreground task and one or more background tasks, each of the tasks being
operable for directing operations to be performed on data and CPU means
responsive to the tasks for operating on the data, a method for creating
visual display screens upon a display screen, said visual display screens
representing data residing in a corresponding document structure to be
displayed in association with corresponding active tasks, comprising the
steps of:
responsive to an active task,
creating a screen manager control structure within the memory means,
the screen manager control structure including
information relating each screen to a corresponding task, and
for each screen,
information expressive at least of formatting information relative to the
screen, and
information relating the screen to the data residing in the document
structure to be displayed therein, and
responsive to the corresponding tasks and corresponding screen manager
control structures,
accessing and displaying the corresponding data associated with the
foreground task.
5. The method of claim 4, wherein each screen is comprised of at least one
viewport, each viewport containing data from a different portion of the
document structure.
6. In a data processing system including memory means for storing data
residing in document structures and tasks, including a foreground task and
one or more background tasks, directing operations to be performed on data
and CPU means responsive to the tasks for operating on the data, a method
for creating visual display screens upon a display screen, said visual
display screens representing data residing in a corresponding document
structure to be displayed in association with corresponding active tasks,
comprising the steps of:
responsive to an active task,
creating a screen manager control structure within the memory means,
the screen manager control structure including
information relating each screen to a corresponding task, and
for each screen,
information expressive at least of formatting information relative to the
screen, and
information relating the screen to the data residing in the document
structure to be displayed therein, and
responsive to the corresponding tasks and corresponding screen manager
control structures,
accessing and displaying the corresponding data associated with the
foreground task
wherein each screen is comprised of at least one viewport portion of the
document structure each viewport containing data from a different portion
of the document structure; and wherein
the screen manager control structure comprises:
at least one virtual screen descriptor block, each virtual screen
descriptor block corresponding to a screen associated with a corresponding
task, each virtual screen descriptor block being comprised of data fields
including
a field identifying the associated screen,
a field identifying the associated task, and
fields describing the associated screen, including
a field containing a pointer to a first viewport associated with the
screen,
a field containing an array of numbers identifying all viewports associated
with the screen, and
a field for containing a pointer to a next virtual screen descriptor block
associated with a screen,
the screen manager control structure further including
at least one viewport descriptor block, each viewport descriptor block
corresponding to a viewport associated with the screen, each viewport
descriptor block being comprised of data fields including
a field containing a pointer to a page containing the data to be displayed
within the viewport,
fields describing the logical location and dimensions of the viewport
relative to the data to be displayed therein,
fields describing the location of a cursor within the viewport, the
position of the cursor being associated with the operation of the
associated task upon the data, and
a field for containing a pointer to a next viewport descriptor block of a
viewport associated with the screen.
7. In a multi-tasking data processing system including memory means for
storing document related data and active tasks, including a foreground
task and one or more backgrond tasks, each of said tasks being operable
for controlling the processing of data related to one or more documents,
the system further including a processing means operably coupled to said
memory means for processing the data stored therein under control of the
active tasks, the system further including a display means operable for
visually displaying the document related data and a display manager means
operable for managing the visual display, the display manager means
comprising:
means for communicating with a task, said means for communicating being
operable for receiving a display generation request from a task;
means for generating within said memory means a display control block data
structure, said structure comprising data fields expressive of display
related parameters associated with said document related data, said means
for generating being operatively coupled to said means for communicating
for generating said data structure in response to the received request;
and
means for displaying on said display means the document related data
associated with a data structure generated in response to a request made
by said foreground task.
8. The display manager means as defined in claim 7 wherein said means for
communicating with a task is further operable for providing to the
requesting task information indicative of an identification of a virtual
screen generated in response to said request.
9. The display manager means as defined in claim 8 wherein said means for
generating is responsive to a request to generate a virtual display or a
viewport within an existing virtual display. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
CROSS REFERENCE TO RELATED APPLICATIONS
The present patent application is related to the following U.S. patent
applications, also assigned to the assignee of the present patent
application:
U.S. patent application Ser. No. 655,280 filed Sept. 27, 1984, now U.S.
Pat. No. 4,688,167, and U.S. patent application Ser. Nos. 658,95, 658,952,
658,953, and 659,192 all filed on Oct. 9, 1984, now U.S. Pat. Nos.
4,658,951, 4,713,754, abandoned and abandoned, respectively.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention related to a data processing system and, in
particular, a system particularly designed for the processing of data in
document form.
2. Prior Art
Data processing systems of the prior art have generally fallen into one of
two classes, the first being general purpose systems designed to perform a
wide variety of tasks and the second being specialized systems optimized
for a limited range of related tasks.
A recurring problem with the first class of data processing systems is that
many such systems, while having a wide range of applications, may not be
as efficient for certain tasks as more specialized system. The second
class of systems, however, are generally not easily expandable for tasks
other than those for which they were originally designed, even when the
additional tasks may be related to the original tasks.
SUMMARY OF THE INVENTION
The present invention provides a solution to the above described problems
of the prior art, and other problems, by providing a data processing
system with features which allows the system to efficiently perform
relatively specialized, related tasks, such as document processing, while
being readily expandable for other tasks.
In the present embodiment, the system incorporates a task control means
including a task loader for transferring tasks from a storage means to a
system memory means and a task manager responsive to operation of the
system for controlling execution of tasks, and a document manager for
loading document information in the form of document data structures from
the storage means to the system memory and managing access to the document
data structures by the tasks. The task manager incorporates task control
blocks, which are used to manage the execution of tasks, while the
document manager incorporates document control blocks which are used to
manage access to the document data structures by the tasks.
There is a task control block for each active task in the system, and each
task control block includes an identification field for storing
information identifying the corresponding task, a status field for storing
information identifying the status of execution of the corresponding task,
a priority field for storing information identifying the relative priority
of execution of the corresponding task, and a stack pointer field for
storing information identifying the location of a stack mechanism usable
by the corresponding task. The task control blocks reside in a task
manager queue mechanism, with the task control blocks being linked by
pointers in the preferred sequence of their execution.
There is a document control block for each document data file in the system
and the document files and document control blocks are designed to
represent and relate to the structure of the documents. Each document file
includes at least one page, and each page including at least one area,
wherein each area contains at least one type of information. Each area
including, in an area containing text information, at least one column for
containing text information. Each column including at least one line, and
each line including a string of at least one text character, a reference
to attributes applying to the characters of the string, and references to
external data items associated with the line.
The document file structure includes, for each document file, at least one
page block, each page block comprising fields describing the logical
dimensions of the page, fields describing the position of a cursor on the
page, the cursor position indication the logical position within the data
contained in the page of an operation being performed on the data, a field
indicating cursor type, a field describing page layout, and field
containing a pointer to an area block. Each file structure includes at
least one area block, each area block comprising a field for containing a
pointer to a next area, fields containing information defining the type of
area, fields defining the logical position of the area with the page,
fields defining the margins of the area, fields defining the position of
text appearing in the area, fields defining the relationship of the area
to other areas of the page, and a field for a pointer to a column block.
The structure further includes at least one column block, comprising a
field identifying the format of the text appearing in the area, and at
least one field for a pointer to a line block. The structure includes at
least one line block, each line block comprising at least one field
containing a string of at least one text character, a reference to
attributes applying to the characters of the string, and references to
external data items associated with the line.
The system also includes a screen manager for creating visual display
screens representing data, generally residing in the document structures
described above. The screen manager includes means responsive to active
tasks for creating a screen manager control structure containing
information relating each screen to a corresponding task, and, for each
screen, information describing certain properties of the screen, and
information relating the screen to the data residing in the document
structure to be to be displayed therein. The screen manager also includes
means responsive to the corresponding tasks and corresponding screen
manager control structures to access and display the corresponding data.
Each screen is described, in the screen manager control structure, by a
virtual screen descriptor block and includes at least one viewport onto a
portion of the data structure being operated upon by an associated task.
Each virtual screen descriptor block includes a field identifying the
associated screen, a field identifying the associated task, fields
describing the associated screen, a field containing a pointer to a first
viewport associated with the screen, a field containing an array of
numbers identifying all viewports associated with the screen, and a field
for containing a pointer to a next virtual screen descriptor block
associated with a screen.
Each viewport is described by a viewport descriptor block including a field
containing a pointer to a page containing the data to be displayed within
the viewport, fields describing the logical location and dimensions of the
viewport relative to the data to be displayed therein, fields describing
the location of a cursor within the viewport, the position of the viewport
being associated with the operation of the associated task upon the data,
and field for containing a pointer to a next viewport descriptor block of
a viewport associated with the screen.
Other advantages and features of the present invention will be understood
by those of ordinary skill in the art after referring to the following
detailed description of preferred embodiment and drawings, wherein:
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a system incorporating the present invention;
FIG. 2 is a diagrammic representation of the residence of control functions
and data structures in the system of FIG. 1;
FIG. 3 is a diagrammic, functional representation of the operation of the
control and data structures of the system of FIG. 1;
FIG. 4 is a diagrammic representation of the structure and operation of
applications tasks in the system of FIG. 1;
FIG. 5 is a diagrammic representation of the system loader and task manager
of the system of FIG. 1;
FIG. 6 is a diagrammic representation of the data structure of the system
of FIG. 1;
FIG. 7 is a diagrammic representation of the data file structure of the
system of FIG. 1;
FIG. 8 is a diagrammic representation of the document manager of the system
of FIG. 1;
FIG. 9 is a diagrammic representation of a document control block generated
by the document manager of the system of FIG. 1,
FIGS. 10A and 10B are a diagrammic illustration of a display generated by
the screen manager of the system of FIG. 1;
FIG. 11 is a diagrammic representation of the screen manager data
structure; and,
FIG. 12 is a diagrammic representation of the operation of the screen
manager of the system of FIG. 1.
DESCRIPTION OF A PREFERRED EMBODIMENT
The following description presents the structure and operation of a data
processing system incorporating the present invention. The structure and
operation of the system will be first presented on an overall level,
followed by descriptions of certain aspects of the system on a more
detailed level. Finally, further detailed information and descriptions of
certain of the system functions and structures will be presented in the
form of appendices.
Before beginning the descriptions of the system, it should be noted that
the reference numbering system used herein is constructed to clarify the
following descriptions in the manner in which the references appearing in
the text are related to the drawings and the elements shown therein. Each
reference number is comprised of either three or four digits, wherein the
two rightmost digits refer to a specific element appearing in a drawing
and the one or two left digits refer to the figure in which the element
first appears. For example, the reference 303 refers to the 3rd element
first appearing in FIG. 3, while the reference 1033 would refer to the
33rd element first appearing in FIG. 10. Once a reference number has been
assigned to an element, that reference number will be used throughout the
following portions of the descriptions, including the following figures.
For example, element 1033 first appears in FIG. 10 and, if it also appears
in FIG. 11, will be indicated in FIG. 11 by the reference 1033.
1. Overall System Structure and Operation (FIGS. 1 and 2)
Referring to FIG. 1, a block diagram representation of a system
incorporating the present invention is shown. The system, as described
further below, is in the present embodiment a single user, multi-tasking
system primarily dedicated to the performance of office functions, such as
the generation, filing and printing of documents and other related office
functions. As indicated therein, the system includes a Central Processing
Unit (CPU) 102 for performing operations upon and related to Document
Files (DFs) 104 residing in Memory 106. The operations of CPU 102, and
other elements of the system, described below, are control by sequences of
instructions, or routines, also residing in Memory 106. These routines are
grouped into two broad classes, the first being Operating System (OS)
routines 108 which direct the overall operations of the system and control
certain commonly used or shared functions. The second group of routines
are comprised of Applications 110, which are routines for controlling
particular user operations upon the document files, for example, word
processing and mailing list printings. As indicated in FIG. 1,
Applications 110 reside in Memory 106 as one or more Tasks 112, wherein a
Task 112 represents a series of operations to be performed by the system
under control or direction of a user of the system.
Other elements of the system may include a Keyboard (KYBD) 114, through
which a user enters instructions, commands and data to the system, and a
Display Memory (DSPM) 116 and Display 118 through which the user is
provided with visual representations of the system operations. Yet other
elements may include a Disc Storage unit (Disc) 120 for storing, for
example, document files and applications routines and an Input/Output
device (I/O) 122 through which the system may communicate with other
systems or devices. The elements of the system described above are
interconnected and communicate through a System Bus 124.
Referring to FIG. 2, a diagrammic representation of the physical residence
of the Operating System (OS) 108 routines, Applications 110/Task 112
routines and Document Files 104 in the present system is shown. As
described above, the controlling routines and data reside in the system
memory space, which is comprised, as indicated in FIGS. 1 and 2, of Disc
120 and Memory 106.
Referring first to the OS 108 class of routines, these routines include
both routines for directing the overall operation of the system and
certain functions which are commonly used or shared by the various Tasks
112. In contrast to Applications 110/Tasks 112, these routines are, after
system initialization, permanently resident in Memory 106. These common or
shared functions, described in greater detail in the following
descriptions, include, for example:
Text Mode/Formatting Functions 202 containing common text/document
manipulation operations,
Document Management Functions 204 which control access to Document Files
104, the communication of Document Files 104 between Disc 120 and Memory
106 and the creating, deleting, indexing, opening, closing, reading,
writing, and updating of documents,
Input Functions 206 which in part provide the interface between the user,
through KYBD 114, and other functions controlling system operations,
Menu Functions 208 which provides a menu type interface, displayed through
Display 118, through which a user may select and control certain system
operations and receive messages and prompts from the system,
System/Loader Function 210 which in part controls the loading of
Applications 110/Tasks 112 into Memory 106 from Disc 120.
Memory Manager Functions 212 which control the allocation and use the the
available space in Memory 106.
Task Manager Function 214 which control the sequence of execution of Tasks
112 in the system, and
Screen Manager Functions 216 which control and direct the generation of
displays appearing on Display 118.
It should be noted that, at least in certain embodiments or applications,
certain or portions of certain of the above may not reside permanently in
Memory 106, but may reside in Disc 120 and may be called from Disc 120 to
Memory 106 for use by other functions or tasks as required.
Referring to the Applications 110/Task 112 class of routines, as indicated
above Applications 110 are not permanently resident in Memory 106 but
commonly reside in Disc 120 as Applications/Load Units 218.
Applications/Load Units 218 are loaded into Memory 106 as required to
perform user selected operations and, when so loaded, become Tasks 112. As
indicated in FIG. 2, the system is a multi-tasking system and more than
one Task 112 may be resident in Memory 106 and executing at a given time.
Applications/Load Units 218 may include, for example:
Edit and Background Print 220, which are separate Applications 110/Tasks
112, contain the functionality necessary to perform, for example, document
generation and word processing functions, including printing of the final
result,
Mailing List Print 222 which, as the name implies, performs mailing list
operations,
Document Copy Utilities 222 which performs document manipulation operations
associated with the copying and moving of documents or portions thereof,
Software Generation Utilities 224 which provides certain programming or
software generation facilities to a system user, for example, the
generation of fonts in which to print documents, and
Forms Utilities 226, the operation of which is described in U.S. patent
application Ser. No. 595,079, titled "Electronic Processing With Forms"
and filed Mar. 3, 1984.
Referring finally to document residing in the present system, as indicated
in FIG. 2 Documents 228 primarily reside in the system in Disc 120 as
Document Files 230 in disc file format. Document files 230 to be operated
upon by the system, or portions thereof, are loaded into Memory 106 and
reside therein in a document structure format, described further below, as
Document Files 104. Again, because the system is a multi-tasking system,
more than one Document File 104 may reside in Memory 106 to be operated
upon at any given time.
2. System Functional Structure and Operation (FIG. 3)
Referring to FIG. 3, a diagrammic representation of the functional
structure and operation of the system is presented. Indicated therein is
Disc 120 memory space containing one or more Application/Load Units
(A/LUs) 218 and one or more Document Files (DFs) 230 in disc file format.
Also indicated is that portion of Memory 106 available for storing Tasks
112 and Document Files (DFs) 104 in document structure to be operated
upon.
Considering first the functional elements for loading Tasks 112 into Memory
106 and for managing execution of Tasks 112, the system includes, as
previously described, a System/Loader element (S/L) 302, a Task Manager
element (TM) 304 and a Memory Manager element (MM) 306. S/L 302, which
includes System/Loader Routines (S/LR) 210, is the means by which A/LUs
218 are loaded into Memory 106 to become executable Tasks 112 and operates
in conjunction with TM 304 and MM 306 in performing these operations. TM
304 and MM 306 include, respectively, the previously described Task
Manager Routines (TMR) 214 and Memory Manager Routines (MMR) 212.
S/L 302 is responsive to either user requests, entered through KYBD 114, or
requests resulting from the the operation of an already resident Task 112
to load A/LU 218s into Memory 106. In response to such request, and as
described further below, S/L 302 responds to such requests by providing
corresponding requests to MM 306 (not indicated in FIG. 3) to provide Task
Node Spaces (TSNs) 308 to contain the new Tasks 112 and to TM 304 to
create the control structures necessary to control execution of the newly
loaded Tasks 112.
MM 306 responds to such requests from S/L 302 by providing such TSNs 308
while TM 304 responds by building the appropriate control structures. In
this regard, it should be noted that TM 304, being the central management
structure for a multi-tasking system, includes both a Task Stack Mechanism
(TSM) 310 which contains a Task Stack (TS) 312 for each active Task 112
and a Task Queue (TQ) 314, which is used in determining the sequence of
execution of the active Tasks 112. TM 304 also constructs, for each active
Task 112, a Task Control Block (TCB) 316, descibed further below, which
identifies and provides information pertinent to the execution of the
associated Task 112.
The loading of DFs 230 or portions thereof into Memory 106 as DFs 104 to be
operated upon, and access to such DFs 104 for such operations, is
performed and controlled through Document Manager element (DM) 318, which
includes Document Manager Routines (DMR) 204. DM 318 interacts with MM 306
to obtain the necessary space in Memory 106 and constructs and maintains,
for each DF 104, a control/data structure referred to as a Document
Control Block (DCB) 320, described further below, which contains
information pertinent to the associated DF 104. It should be noted that,
in addition to controlling the transfer of DFs 104 between Memory 106 and
Disc 120, and the associated transformations in file structure, all access
to DFs 104 by Tasks 112 or other system routines is generally performed
through DM 318 in the manner described further below, the exception,
described below, being the access of DFs 104 by Screen Manager element
(SM) 322.
Referring now to the system elements effectively comprising the interface
between the user and system operations, these elements include, of course,
KYBD 114 and DSP 118. User inputs through KYBD 114 are provided to Input
element (Input) 324, which includes keystroke handling routines. Input 324
in turn provides outputs to Tasks 112, to effect the execution thereof, to
Menu element (Menu) 326, and to SM 322. Considering first Menu 326, as
previously described Menu 326 includes the routines necessary to create
and provide a menu type interface, displayed through Display 118, through
which a user may select and control certain system operations and receive
messages and prompts from the system. As required by these functions, Menu
326 also provides outputs to SM 322 to be displayed through DSP 118.
SM 322, described in further detail below and in U.S. patent application
Ser. No. 655,280, titled "Screen Manager For A Data Processing System and
filed Sept. 27, 1984, generates screen displays representing the
operations of the system and presents such displays to the user through
DSP 118 through Rasterizer/Bit Mapped Display Memory (R/BMCM) 328, which
includes DSPM 116. As required by these functions, SM 322 requires access
to the information contained in the document structures created as DFs 104
by DM 318, but does so through a SM 322 control structure, described in
detail further below, rather than through DM 318 and DCBs 320. As also
described further below, SM 322 is also provided with access to TM 304
maintained information regarding the status of certain currently active
Tasks 112.
Having described the overall functional structure and operation of the
system, certain elements and aspects of operation of the system will be
described in further detail next below, beginning with the construction
and execution of Tasks 112 and OS 108 routines.
3. Structure and Execution of Tasks 112 (FIG. 4)
Referring to FIG. 4, therein is represented the construction and execution
of an A/LU 218. The initial structure of an A/LU 218, represented at the
top of FIG. 4, is comprised of one or more source code Modules 402 created
by a programmer and defining the operations to be preformed by the Task
112, for example, word processing. Represented in the lower portion of
FIG. 4 are the routines comprising the OS 108 and common, shared routines,
referred to as "System Primitives" 404, and certain system utility
routines. These System Primitive Routines 404, some of which are described
in further detail in following descriptions, may be called by an A/LU 218,
as a Task 112, as required to perform the operations of the A/LU 218 and
may include, for example:
Document Manager Routines 204,
Memory Management Routines 212,
Semaphore Management Routines (associated with Task Manager Routines 214),
Scheduling Routines (associated with Task Manager Routines 214),
Task Management Routines 214,
Timer Service Routines (associated with Task Manager Routines 214),
Screen Management Routines 216,
File Management Routines,
Direct Interrupt Control Routines,
File Access Routines,
Menu Routines 208, and
Device Control Routines.
In order to be able to create each A/LU 218 separately and to be able to
load each A/LU 218 into the system dynamically, it is necessary to
decouple all System Primitive Routines 404 and certain system functions,
as described above, from the A/LUs 218. It is further preferable if, in
doing so, the speed of execution of system primitive calls by the A/LUs
218 were enhanced. This is done, as shown in FIG. 4, by coding all System
Primitive Routine 404 entry points as interrupt vectors through a Software
Interrupt Vector Table 406 residing in a reserved area of Memory 106.
Essentially, and as described below, all System Primitive Routine 404
calls by A/LUs 218, that is, by Tasks 112, are executed as software
interrupt calls. As an initial step in such calls, the calling Task 112,
operating through the stack handling facility of TM 304, pushes all
necessary arguments onto its' associated stack and, for some calls, puts
its' function code into a designated register.
In addition to the above A/LU 218/Task 112 calls, certain system functions,
such as system start and application program terminate, are called through
software interrupts to maintain software version independency. The system
also provides, as indicated in FIG. 4, an Entry Address Table 408 for
other entry to System Primitive Routines 404.
Considering n | | |