Posted
3 months
ago
by
Eswenson
User account Danderson was created by Eswenson For Dean
|
Posted
3 months
ago
by
Eswenson
Eswenson changed group membership for User:Danderson from (none) to bureaucrat Allow editing
|
Posted
3 months
ago
by
Eswenson
Created page with "= GCOS = This page provides information about the GCOS-related offerings on Multics. == GCOS Offerings on Multics == There are three GCOS-related offerings on Multics: * GC..."
New page= GCOS =
This page provides information
... [More]
about the GCOS-related offerings on Multics.
== GCOS Offerings on Multics ==
There are three GCOS-related offerings on Multics:
* GCOS Batch Simulator
* GCOS Daemon
* GCOS Time Sharing (TSS)
== GCOS Batch Simulator ==
The GCOS Simulator is invoked using the "gcos" command and provided as an argument a GCOS card deck in either Multics ASCII or GCOS (BCD) format.
An example invocation is:
gcos cob03.ascii
A sample ASCII deck follows (courtesy of Dean Anderson):
$ SNUMB COB03
$ COMMENT THIS IS A COMMENT
$ IDENT SWENSON,FOO
$ OPTION COBOL
$ COBOL LSTOU
$ FILE C*
$ DATA S*
IDENTIFICATION DIVISION.
PROGRAM-ID. COB03.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
OBJECT-COMPUTER. 6000.
DATA DIVISION.
PROCEDURE DIVISION.
START.
DISPLAY "HELLO WORLD".
STOP RUN.
END
$ EXECUTE DUMP
$ ENDJOB
[Less]
|
Posted
3 months
ago
by
Eswenson
← Older revision
Revision as of 20:57, 13 May 2025
(2 intermediate revisions by the same user not shown)
Line 42:
Line 42:
$ ENDJOB
$ ENDJOB
+
+
You can convert the ascii
... [More]
deck to a GCOS (BCD) deck with the "gcu" command:
+
+
gcu -input cob03.ascii -ascii -output cob03.gcos -gcos
+
+
+
The deck thus created can be run under the GCOS simulator as in the same way as above:
+
+
gcos c0b03.gcos
+
+
+
The result in either case, is a SYSPRINT segment, with the name cob03.sysprint.list (or cob03.gcos.sysprint.list), which shows the results of running the job deck under the GCOS simulator.
+
+
== GCOS Daemon ==
+
The GCOS Daemon (GCOS.SysDaemon) can be set up such that simply dropping card decks into the reader automatically runs them. In this mode, the GCOS Daemon attaches the card reader (e.g. "rdra"), making that reader unavailable to other processes, including the Initializer's "x read_cards" reading -- unless another card reader is specified for that operation.
+
+
The GCOS Daemon is invoked, and then the "attach" and "read" commands are issued to it. It watches for card decks being "in the reader" (under the simulator this is done by dropping card decks in the appropriate host system directory). It then creates an absentee job and submits it for the proxy user Anonymous.GCOS.p (the "p", here means "proxy"). The absentee job sets up its working directory (and default working directory) to be the GCOS user specified on the $IDENT card in the job deck.
+
+
GCOS users are administered with the "gcos_user" command, which basically defines a GCOS user, and the associated Multics PersonId.ProjectId.
+
+
The .absin and .absout files are deleted automatically, and the SYSPRINT file is queued for the printer.
+
+
== GCOS Time Sharing ==
+
+
The GCOS Time Sharing system is invoked with the "gcos_tss" command.
+
+
When invoked, it displays a prompt like this:
+
+
gcos_tss
+
GTSS 4JS3 (4.0)
+
*
+
+
+
Someone will have to fill in this page, since I know nothing about this (yet). -- Eric
[Less]
|
Posted
3 months
ago
by
Eswenson
Useful Links
← Older revision
Revision as of 21:08, 13 May 2025
Line 30:
Line 30:
** If you are prompted for a username/password, use "anonymous" as the username and "multics" as the password.
** If you
... [More]
are prompted for a username/password, use "anonymous" as the username and "multics" as the password.
* [[Changing Multics]]
* [[Changing Multics]]
+
* [[GCOS]]
== Multics Documentation ==
== Multics Documentation ==
[Less]
|
Posted
3 months
ago
by
Eswenson
GCOS Batch Simulator
← Older revision
Revision as of 22:15, 13 May 2025
(3 intermediate revisions by the same user not shown)
Line 54:
Line 54:
The result in either case, is a SYSPRINT segment
... [More]
, with the name cob03.sysprint.list (or cob03.gcos.sysprint.list), which shows the results of running the job deck under the GCOS simulator.
The result in either case, is a SYSPRINT segment, with the name cob03.sysprint.list (or cob03.gcos.sysprint.list), which shows the results of running the job deck under the GCOS simulator.
+
+
Here is a sample Jovial program (courtesy of Charles Anthony):
+
+
+
$ snumb 0001t
+
$ ident
+
$ options jovial
+
$ jovial lstin,lstou,deck,dump,debug
+
PROGRM CDOORS
+
START
+
FILE PRNT V(NORM) R06 $
+
ARRAY ISOPEN 100 I 36 S $
+
ITEM PASS I 36 S $
+
ITEM PASS1 I 36 S $
+
ITEM DOOR I 36 S $
+
OUT (1, PRNT) $
+
FOR D = 0, 1, 99 $
+
ISOPEN($D$) = 0 $
+
FOR P = 0, 1, 99 $
+
BEGIN
+
PASS = P $
+
PASS1 = PASS + 1 $
+
FOR D = PASS, PASS1, 99 $
+
ISOPEN($D$) = 1 - ISOPEN($D$) $
+
END
+
FOR D = 0, 1, 99 $
+
BEGIN
+
DOOR = D $
+
DOOR = DOOR + 1 $
+
IF ISOPEN($D$) EQ 0 $
+
PRINTF (6H(CLOSED), DOOR) $
+
IF ISOPEN($D$) NQ 0 $
+
PRINTF (6H(OPEN ), DOOR) $
+
END
+
+
PROC PRINTF (SS, VAL) $
+
ITEM SS H 6 $
+
ITEM VAL I 36 S $
+
ITEM BUF H 12 P 12H( ) $
+
ITEM CHR H 10 P 10H(0123456789) $
+
BEGIN
+
FOR L = VAL $
+
BEGIN
+
BYTE ($0, 6$) (BUF) = BYTE ($0, 6$) (SS) $
+
BYTE ($8$) (BUF) = BYTE ($ REM (L / 1000, 10) $) (CHR) $
+
BYTE ($9$) (BUF) = BYTE ($ REM (L / 100, 10) $) (CHR) $
+
BYTE ($10$) (BUF) = BYTE ($ REM (L / 10, 10) $) (CHR) $
+
BYTE ($11$) (BUF) = BYTE ($ REM (L / 1, 10) $) (CHR) $
+
IO1(3, PRNT, 0, BUF, 2) $
+
RETURN $
+
END
+
END
+
TERM $
+
$ execute
+
$ endjob
+
== GCOS Daemon ==
== GCOS Daemon ==
Line 75:
Line 131:
−
Someone will have to fill in this page, since I know nothing about this (yet). -- Eric
+
Below, you'll see a gcos_tss (tss) session that runs a simple "hello world" program written in BASIC:
+
+
+
gtss
+
GTSS 4JS3 (4.0)
+
*basic
+
*10 print "hello world"
+
*run
+
+
+
+
+
hello world
+
+
+
ready
+
*bye
+
+
+
+
Here is an attempt (that ends in failure) to compile/run a JOVIAL program under TSS:
+
+
+
gtss
+
GTSS 4JS3 (4.0)
+
*jovial
+
*10 PROC FACTORIAL(ARG) U;
+
*10 BEGIN
+
*10 PROC FACTORIAL(ARG) U;
+
*20 BEGIN
+
*30 ITEM ARG U;
+
*40 ITEM TEMP U;
+
*50 TEMP = 1
+
*60 FOR I:2 BY 1 WHILE I
+
*70 TEMP = TEMP*I;
+
*80 FACTORIAL = TEMP;
+
*90 END
+
*run
+
SSA_buf_ptr -> 413|374
+
File list ptr -> 413|7456
+
Urgency 163840 (500000)
+
Snumb 0001t
+
Activity name jovial
+
IO time limit 0.
+
Job time limit 1.6666666667e-2
+
Job io time limit 0.
+
PSW 010004000000
+
Geload limit 060000070000
+
$ ident !!!!!!gcos_cobol 00000000000000000[000000000000000000!!!!!!
+
$ comment 000000000000000000000000000000000000000000000000000000000000
+
+
file list .. 10 entries
+
syslib L*
+
altlib *L
+
*src S*
+
r* R*
+
h* H*
+
p* P*
+
b* B*
+
*1 *1
+
*2 *2
+
*j *J
+
*SRT 0001t-01 @1417.0 jovial ( 8)
+
*EOJ 0001t-01 @1417.0
+
+
GCOS sysout files NOT queued for daemon output:
+
>udd>SysAdmin>Swenson>work>gcos_cobol>gtss_task.sysprint.list
+
ERROR..STA.. 0000 MISSING START
+
ERROR..STA.. 0002 SYNTAX
+
ERROR..STA.. 0003 SYNTAX
+
ERROR..STA.. 0004 SYNTAX
+
ERROR..STA.. 0005 MISSING TERM
+
NON FATAL ERROR * MISSING ROUTINE .FSETU
+
NON FATAL ERROR * MISSING ROUTINE .GTLIT
+
NON FATAL ERROR * MISSING ROUTINE .TSGF.
+
NON FATAL ERROR * MISSING ROUTINE .FTSU.
+
NON FATAL ERROR * MISSING ROUTINE .GFLG
+
NON FATAL ERROR * MISSING ROUTINE .ASCB.
+
FATAL ERROR * $ENTRY NAME NOT LOADED
+
NON FATAL ERROR * $ENTRY NAME NOT LOADED
+
NON FATAL ERROR * $ENTRY NAME NOT LOADED
+
[Less]
|
Posted
3 months
ago
by
Jjohnson
Fix typo in JOVIAL program
← Older revision
Revision as of 22:47, 13 May 2025
(One intermediate revision by the same user not shown)
Line 55:
Line 55:
The result in either case, is a SYSPRINT segment, with
... [More]
the name cob03.sysprint.list (or cob03.gcos.sysprint.list), which shows the results of running the job deck under the GCOS simulator.
The result in either case, is a SYSPRINT segment, with the name cob03.sysprint.list (or cob03.gcos.sysprint.list), which shows the results of running the job deck under the GCOS simulator.
−
Here is a sample Jovial program (courtesy of Charles Anthony):
+
Here is a sample JOVIAL program (courtesy of Charles Anthony):
Line 157:
Line 157:
GTSS 4JS3 (4.0)
GTSS 4JS3 (4.0)
*jovial
*jovial
−
*10 PROC FACTORIAL(ARG) U;
−
*10 BEGIN
*10 PROC FACTORIAL(ARG) U;
*10 PROC FACTORIAL(ARG) U;
*20 BEGIN
*20 BEGIN
[Less]
|
Posted
3 months
ago
by
Jeffrey H. Johnson
Homebrew PGO build issue in brew build environment
|
Posted
3 months
ago
by
Jeffrey H. Johnson
R3.1.0
|
Posted
3 months
ago
by
Jeffrey H. Johnson
Jeffrey H. Johnson
(ef0d860f)
at
13 May 23:39
Documentation: List xDeck format
... and
1 more commit
|