forked from PDP-10/its
-
Notifications
You must be signed in to change notification settings - Fork 0
/
its.primer
executable file
·3518 lines (2182 loc) · 122 KB
/
its.primer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Price: $1.00
Mathlab Memo #3
Massachusetts Institute of Technology
Mathlab Group
Laboratory for Computer Science
Cambridge, Massachusetts, 02139
An Introduction to ITS for the MACSYMA User
by
V. Ellen Golden
revised
April 14, 1981
An Introduction to ITS for the MACSYMA User
Contents
I. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 1
II. Getting onto the System . . . . . . . . . . . . . . . . . . .3
A. Getting an Account . . . . . . . . . . . . . . . . . . . . . 3
B. Establishing a Connection . . . . . . . . . . . . . . . . . .3
C. Logging In . . . . . . . . . . . . . . . . . . . . . . . . . 6
D. Loading a MACSYMA . . . . . . . . . . . . . . . . . . . . . .6
E. Logging Out . . . . . . . . . . . . . . . . . . . . . . . . .7
F. INQUIR . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
G. INIT files . . . . . . . . . . . . . . . . . . . . . . . . . 8
H. Experienced User Login Protocol . . . . . . . . . . . . . . .9
III. DDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
A. Program Loading and Execution . . . . . . . . . . . . . . . 10
B. "Jobs" . . . . . . . . . . . . . . . . . . . . . . . . . . .11
C. Moving From One Job to the Next . . . . . . . . . . . . . . 12
D. Getting Rid of Jobs . . . . . . . . . . . . . . . . . . . . 12
E. Disowned and Detached Jobs . . . . . . . . . . . . . . . . .12
F. Quit Commands . . . . . . . . . . . . . . . . . . . . . . .13
G. Communication . . . . . . . . . . . . . . . . . . . . . . . 14
H. Messages and Mail . . . . . . . . . . . . . . . . . . . . . 17
I. MACSYM Mail . . . . . . . . . . . . . . . . . . . . . . . . 18
J. Other DDT Commands . . . . . . . . . . . . . . . . . . . . .18
IV. Introduction to and Description of Files . . . . . . . . . .20
A. File Names . . . . . . . . . . . . . . . . . . . . . . . . .20
B. Directories . . . . . . . . . . . . . . . . . . . . . . . . 21
C. File Manipulation: Printing, Copying, Renaming, Deleting . .23
D. FIND. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
E. Altmode, or Defaults made easy . . . . . . . . . . . . . . .25
V. TECO. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
A. File Preparation . . . . . . . . . . . . . . . . . . . . . .27
B. Editing Commands . . . . . . . . . . . . . . . . . . . . . .29
C. Filing in Teco . . . . . . . . . . . . . . . . . . . . . . .30
D. TECO Example . . . . . . . . . . . . . . . . . . . . . . . .32
E. Other TECO Facilities . . . . . . . . . . . . . . . . . . . 33
VI. Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . 36
A. NAME. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
B. WHOIS . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
C. PEEK. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
D. TIME. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
VII. Additional Sources of Information . . . . . . . . . . . . . 38
A. Running MACSYMA Demo files. . . . . . . . . . . . . . . . . 38
B. SHARE Directory . . . . . . . . . . . . . . . . . . . . . . 38
C. The INFO Program and further information about the system . 39
VIII. Terminals . . . . . . . . . . . . . . . . . . . . . . . . . 40
A. The TCTYP Program . . . . . . . . . . . . . . . . . . . . . 40
i
B. CRTSTY . . . . . . . . . . . . . . . . . . . . . . . . . . .41
C. A Word About Keyboards . . . . . . . . . . . . . . . . . . .41
D. OCTPUS . . . . . . . . . . . . . . . . . . . . . . . . . . .42
E. TIP commands . . . . . . . . . . . . . . . . . . . . . . . .47
IX. Possible Problems . . . . . . . . . . . . . . . . . . . . . 48
A. Problems with your terminal . . . . . . . . . . . . . . . . 48
B. Problems with the system . . . . . . . . . . . . . . . . . .48
C. If Your Typing Appears . . . . . . . . . . . . . . . . . . .49
D. If Your Typing Does Not Appear . . . . . . . . . . . . . . .50
Index of DDT Commands. . . . . . . . . . . . . . . . . . . . . . . . .53
General Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
ii
Acknowledgements
The original outline for this memo was prepared by Richard Bogen.
Corrections and editorial comments were provided by the Mathlab Group.
Work reported herein was supported in part by the Advanced Research
Projects Agency of the Department of Defense and was monitored by the
Office of Naval Research under Contract #N00014-75-C-0661, in part by
the United States Department of Energy under Contract #E(11-1)-3070, and
in part by the National Aeronautics and Space Administration under Grant
NSG 1323.
iii
Introduction to ITS 1
I. Introduction
The MACSYMA algebraic manipulation system is a collection of
programs embedded in a LISP interpreter. The purpose of this document
is to describe how to gain access to MACSYMA as it exists on the MC PDP-
10 at the Laboratory for Computer Science at M.I.T. and how to interact
with the environment in which it exists, i.e. operating system, monitor,
editor, and other programs, so that successful use can be made of it.
To use MACSYMA effectively you will also need a "Primer" and a
MACSYMA Manual. These may be obtained from:
Laboratory for Computer Science
Publications Department
Room 112
545 Technology Square
Cambridge, MA 02139
There is a $5.00 charge for the manual, plus $1.00 for postage and
handling. The primer is free, and comes with the manual. Additional
copies of the Primer may be obtained from:
Secretary, Mathlab Group
Laboratory for Computer Science
Room 828
545 Technology Square
Cambridge, MA 02139
Additional copies of this document may be obtained from Publications for
$1.00/each.
Before continuing we should establish some conventions for notation in
this document.
the character $ will be used to denote the "altmode" (ascii 27 (decimal)
or 33 (octal)), often labelled "escape" or "esc" on terminal
keyboards.
control characters will be denoted by being prefixed by an uparrow, thus
^Z, ^A. They are typed by holding down the key marked "control",
"ctrl" or "cntl" on the keyboard as one would the shift key, and
typing the indicated character.
<something> will be used to denote variables in examples of command
lines. Thus
:login <name><carrige return>
The entire <name> is to be replaced with whatever login name you
select, e.g.
1
I. Introduction Introduction to ITS
:login ellen
and the <carriage return> (often shortened to <cr>) indicates the
key labelled "return".
2
Introduction to ITS II. Getting onto the System
II. Getting onto the System
II.A. Getting an Account
To log in to the system you will need a login name and a
password. A login name is any identifier of up to six characters in
length. Most people choose their initials, but any combination of
letters or digits is acceptable, provided (a) the last character is not
a digit, and (b) the particular name is not already being used by
someone else. The INQUIR program will check whether or not your
proposed login name is "taken", and ask you to select another if it is.
The login name you select should be used each time you log in.
A password is any combination of letters and digits up to 12
characters in length. If you do not have a password, then you should
apply for one. The procedure will be started automatically for you when
you first connect to the machine and attempt to log in. Answer the
questions which the Password program asks, and your account application
will be automatically be sent to the USER-ACCOUNTS group. If someone
from USER-ACCOUNTS is logged in at the time, your account may be
initialized within a few minutes. It will certainly be processed within
24 hours. If you have any questions or problems, you may call (617)253-
5891 for assistance.
The first time you log in after your account has been
initialized, you will be asked to run the INQUIR program (see II.F.
below) and answer its questions, giving your full name, address,
position, field of interest, and login name. The INQUIR program will be
started up for you automatically. It will appear to duplicate some of
the questions from the account application, but it is a separate
database, so please bear with us and answer its questions.
II.B. Establishing a Connection
There are 4 different ways in which one can establish a
connection to the MC computer:
(1) Using a terminal which is directly connected to the machine.
These are on the 8th floor of the Laboratory for Computer
Science at M.I.T.
(2) Using a dialup line, directly connect to the machine.
(3) Dialing the number of a Terminal Interface Processor (or TIP) on
the ARPA Network, and connecting to the machine from there.
(4) Connecting to another computer on the ARPA Network either by a
direct line or a direct dialup line, and running a program on
that computer which makes network connections.
3
II. Getting onto the System Introduction to ITS
For local terminals (option 1), turn to section II.C below.
The protocol for (4) will vary widely with the particular
computer you have access to. However, no matter what the protocol you
will have to specify either the name of the MC computer, which is MIT-
MC, or its host number, which is 236 decimal, or 354 octal.
The protocols for (2) and (3) are given here:
4
Introduction to ITS II. Getting onto the System
Dialup protocol TIP protocol
1. Make sure your console is set 1. Make sure your console is set
for 30 cps (300 baud), or 120 for 30 cps (300 baud), full
cps (1200 baud) full duplex, duplex, the parity switch, if
the parity switch, if there is there is one, does not matter.
one, does not matter. 2. Dial the number of the Tip.
2. Dial the number of the machine. 3. When you hear the tone place
3. When you hear the tone place the receiver in the acoustic
the receiver in the acoustic coupler headset or press the
coupler headset or press the data button on the dataset and
data button on the dataset and hang up the receiver.
hang up the receiver. 4. Type the appropriate letter for
4. Type an <cr>. The response your console type. For most
should be ascii consoles that operate at
300 baud, this is E. Some
Connected to MC response will then be printed.
5. Type @OPEN 236. (The 236 is
Now you may proceed with the the number of the MC computer.)
standard login procedure Most commands to the TIP begin
(Section II.C) starting with with @ and are never seen by
(2) below. 1
the MC system. The response to
the @OPEN command may be any
one of the following:
CANT - this means the line is
already open and the TIP cannot
make the connection. (Probable
reason is the last user did not
close the connection when he
logged out). Type @CLOSE and
then repeat the @OPEN command
again.
TRYING... - this means the TIP is
attempting to complete the
connection. Wait, and usually
it will be successful.
OPEN - this means the connection
has been completed.
REFUSED - this means all available
ports are in use. Try again
later.
Now you may proceed with (2)
below.
_______________
1. If you want to type an @ that
is not the beginning of a TIP
command, then type @@. 5
II. Getting onto the System Introduction to ITS
II.C. Logging In
(1) Type Control-Z. (Control characters are typed by holding down the
key labelled "control" (or "Ctrl") while typing the desired
character. From here on they will be represented in print by being
prefixed with "^".) After ^Z is typed the MC system will respond
2
with "MC ITS nnnn DDT mmm" and tell how many users are on.
(2) Type :LOGIN, a space, your login name, and a carriage return. For
example,
:LOGIN JRN
The system will then ask for your password. Type your password
followed by a carriage return.
The system will then print the date and time, and the message
Welcome to ITS
If you have any mail (see III.H), it will be offered to you for reading
and if there are any systems messages you have not seen yet, they will
also be offered.
II.D. Loading a MACSYMA
To load a MACSYMA simply type :MACSYM followed by a carriage
return or :A followed by a carriage return (A is a pseudonym for
MACSYMA). Several seconds later MACSYMA will acknowledge that it is
ready by printing
This is MACSYMA 296
(or whatever the current version is), loading a "fix" file, if any, and
labeling the first input line
(C1)
Now commands (terminated by a semicolon or dollar sign) may be typed to
MACSYMA. (See the MACSYMA manual.)
If you have never used MACSYMA before, you may wish to run the
on-line PRIMER. To do this, give MACSYMA the command
PRIMER();
_______________
2. The nnnn and mmm are version numbers for the system and DDT program
respectively, and are useful for connecting bugs with a particular
version.
6
Introduction to ITS II. Getting onto the System
The on-line PRIMER is also available from DDT level with the command
:TEACHM.
The "QUIT" command for MACSYMA is ^G (control-G).
If you need help, you can use the SEND(); command in MACSYMA.
Type
SEND("message");
and message will be sent to the Mathlab group people who are logged in.
One of them will then contact you and help you. Notice the quotation
marks, they are part of the command.
Other on-line HELP commands for MACSYMA are DESCRIBE(command);,
OPTIONS(); and APROPOS(string);. The DESCRIBE command takes the name of
a command and prints out the portion of the manual which describes that
command. The OPTIONS command enters a network of topics, which allows
you to find the commands which exist in MACSYMA for dealing with certain
3
types of expressions or to perform particular functions. The APROPOS
command takes a character string as an argument and prints out the list
of commands which contain that string. E.g. APROPOS(tr_); would print
out all the switches which are associated with the MACSYMA translator,
since they all have "TR_" in their names. To see how some commands
work, there is an EXAMPLE(command); command, which runs a demo file of
sample calculations.
II.E. Logging Out
In order to logout you should be at system command level. That
is, you should be talking to DDT (see III. below) and not to MACSYMA or
any other programs. Usually it is only necessary to type a ^Z to get
back to DDT level. If you are already there then the system prints ??.
To logout from MC, type the command :LOGOUT and a carriage return.
Next, if you are using a TIP, close the connection by typing @C. Then
it is only necessary to hang up the phone and turn off the terminal.
Occasionally, attempting to logout will produce the message
--KILL RUNNING INFERIORS?--. This means that a program you have loaded
is still running. If you do not want the program (i.e. want to kill it
4
and logout), respond by hitting the space bar once . If you do not want
to kill the program, you can type :LISTJ (see III.B) to see what is
going on and proceed accordingly.
_______________
3. This network is not quite complete, but is being worked on currently.
The command is usable, however, and the areas covered will expand
rapidly.
4. If you don't know about the program or what this all means, then
probably it is quite safe to type a space.
7
II. Getting onto the System Introduction to ITS
II.F. INQUIR
The INQUIR program assists us in identifying our users. It will
be started for you automatically the first time you log in. It will
explain itself fairly well; however, please note the following:
You do not need to give your Social Security Number if you would
prefer not to, nor your birthday. To avoid any question you feel is too
prying or does not apply, simply type a carriage return. We do need
your full name and an address, however. You may give your place of work
as "home address" if you wish. Your "Group" is U (MACSYMA User) or Nî _
(Non-Consortium MACSYMA User), depending on whether or not you areî _
funded by one of the MACSYMA Consortium organizations. If you are not
sure about this, speak to ELLEN or another member of USER-ACCOUNTS.
When you have answered all the questions and it says "What now boss?"
You signify that you are finished by typing
DONE
If you need to update the information in your INQUIR entry you can start
up INQUIR by typing
:INQUIR
(followed by a carriage return, of course). And the system will look up
your entry and allow you to edit it.
II.G. INIT files
It is possible to have a special file which does certain things
when you log in, like give :TCTYP commands for you (see below), or set
the defaults to a particular directory (see Section IV.B on files and
directories), or print out the date and time. Such a file is called an
INIT (INITialization) file. If you have a directory, it is located on
your directory and is called
<login name>;<login name> LOGIN
If you do not have a directory, it is located on your "home directory"
(see IV.A below) and has the name
<directory>;<login name> LOGIN
Such a file can eliminate many of the frustrations of logging in,
assuming you always use the same type of console and want the same
things to happen each time. To have one of these files created for you,
contact ELLEN or another member of the Mathlab group. (See III.G and
III.H below).
8
Introduction to ITS II. Getting onto the System
II.H. Experienced User Login Protocol
When you have become quite familiar with the login protocol
given above, and know fairly well the material in the DDT section which
follows, you may wish to change slightly the way you log in to the
system. Using :LOGIN sets certain variables within the DDT program
which are intended to protect novice users from accidently destroying
their programs or otherwise doing things they might regret. Once you
are sufficiently familiar with the various commands, and appreciate the
^K command and the : command for loading programs, you may find it
irritating to be asked each time you use one
--CLOBBER EXISTING JOB?--
or
--CREATE ADDITIONAL JOB?--
with the attendent delays to answer with a space. Well, when you reach
this point, you are ready to graduate to the "experienced user" login
protocol which is
<login name>$U
$ represents the character altmode (or escape, ascii 27 (decimal), 33
(octal)). This method of logging in replaces :LOGIN <login name> and
does not set the variables which protect you from loading excess jobs,
etc. DDT will continue to tell you what the default file names are for
^O, however.
9
III. DDT Introduction to ITS
III. DDT
After typing ^Z you are communicating with a program called DDT
(also called HACTRN) which is the monitor level under ITS that accepts
system commands for performing various functions like program loading,
program control, and copying and printing files. There are two formats
for commands at DDT level; the first is called "Monitor" format, and
this format is what will be meant by the general expression "DDT
command". These commands begin with a colon and are immediately
followed by the mnemonic name of the command with no intervening spaces.
Some commands take arguments, which are separated from the command by a
space. A command ends with a carriage return which causes DDT to begin
execution.
The second format for commands is a short form, consisting of a
single character, possibly prefixed by 1 or 2 altmodes. These short
commands perform the same functions as the corresponding mnemonics.
When short form commands take arguments, these precede the command with
no space between the argument and the command. Altmode, (or escape)
which is ascii 27 (decimal), 33 (octal), will be represented in print by
$. It differs from "control" in that it is not held down, but just
typed. The succeeding command character is not separated from it, e.g.
$P. On some terminals altmode may not be standard. Right brace, },
(ascii octal 175, or 176) is what you get when you push the key labelled
"altmode" on some of these terminals. The :TCTYP command,
:TCTYP STANDARDIZE tells the system to interpret ascii 175 and 176 as an
altmode.
A few short form DDT commands are control-characters.
The short forms are easier to type, of course, but the novice
user is urged to become familiar with the mnemonic DDT commands first.
This permits the simple rule of thumb:
All commands to DDT begin with : and end with carriage return.
III.A. Program Loading and Execution
One way to load and execute programs has already been mentioned,
e.g. :MACSYM. That is, colon followed by the program name and a
carriage return. This is consistent with the rule of thumb for DDT
commands. There is, however, another way to load programs which is
frequently preferable: type the program name followed by ^K, e.g.
MACSYM^K. The reason this is preferable is that ^K causes the
replacement of any existing program you may have loaded called MACSYM
1
with a new MACSYMA. :MACSYM will load a second MACSYMA, if you have
_______________
1. However, DDT may first ask you if you are sure this is what you want
to do by typing --CLOBBER EXISTING JOB?--. You answer yes by typing a
space. Typing anything else will "flush" the command, so if you did not
mean to replace your MACSYMA, you get a second chance.
10
Introduction to ITS III. DDT
2
one already. In those rare circumstances where two copies of a program
are necessary, use the colon-type command, or better yet, load one with
MACSYM^K and the other with A^K (and expect to be questioned about it by
a systems programmer at M.I.T.).
To exit from a program, type ^Z. This will bring you back up to
DDT level. For the remainder of this section it will be assumed that
you are at DDT level, so if you wish to issue one of these commands and
are not at DDT level, first type ^Z to get up to DDT, and then type the
command. If you are not sure what level you are at, type ^Z. If you
were already at DDT level, the system will respond ?? and if you were
not, you will be brought up to DDT and an interrupt message of some kind
will appear, usually [DDT] (but if you were in a TECO under your MACSYMA
it might say "(Console connected to MACSYMA)", in which case you would
need still another ^Z to get to DDT).
To re-enter a program, type :CONTIN. $P is a short, easier form
for this.
When you exit from a program, it stops running. If you want to
have a program resume running while you remain at DDT level, type
:PROCEED after ^Z. ^P is the short form for this.
III.B. "Jobs"
The programs running "under" your DDT are referred to as "jobs".
It is possible to have more than one job and to move from one job to
another, leaving the first (a long computation in MACSYMA, for instance)
to run while you do something else. DDT will permit you to have up to
eight jobs at one time, but since the system can only accomodate about
120 jobs for all users (including the systems jobs), it is not
recommended to have more than two or three. (Your DDT is one job, so as
soon as you load a MACSYMA you have two jobs, your "top level" DDT and
one "inferior"). When you have more than one job under your DDT, it is
necessary to be able to tell which job is the "current" one, so that if
you type :CONTIN or $P you will be "in" it. To see a list of the jobs
you own at any given time, type :LISTJ (the short form is $$V). This
will give a list of all your jobs, with the current one marked by an *.
Each job will be followed by its status, R for running, P for stopped
but "proceedable", or W for waiting to print out something on the
console. The status will be followed by the index number for that job,
which is a unique number assigned to the job by the system. For
example:
*TECO P 14
MACSYM R 23
_______________
2. But since you rarely want to do this, DDT will ask --CREATE
ADDITIONAL JOB?--, and you reply space for yes, anything else for no.
11
III. DDT Introduction to ITS
III.C. Moving From One Job to the Next
To move from one job to the next, i.e. to make another job the
current job, type :JOB. The system will then tell you which job is then
current by responding, for example, MACSYM$J. Typing a sequence of
:JOB's will cause each job to become the current job, in turn. An
alternative to this shuffling through all your jobs to get to the
desired one is to type :JOB followed by a space and the name of the
desired job, e.g.
:JOB MACSYM
This will cause the job with this name to become the current one. The
short form of this command is $J, preceded by the job name to specify a
particular job, e.g. MACSYM$J. Notice that :JOB only selects the
current job; you still must type :CONTINUE to enter it. Warning: if
you misspell the name of the job, :JOB will create a new job which you
3
will have to kill.
There is a shorthand for :JOB followed by :CONTINUE. That is to
4
type the name of the job you wish to re-enter followed by ^H , e.g.
MACSYM^H.
If you have left a job running with :PROCEED, it will inform you
when it is ready to print out by sending you a message, e.g. JOB MACSYM
WANTS THE TTY. It will then wait for you to exit whatever job you are
in, and enter it using ^H or :JOB and :CONTINUE.
III.D. Getting Rid of Jobs
To dispose of a job that you no longer want, the command :KILL
is used. This kills the current job, so obviously care should be taken
to assure that the job you want to KILL is the current job. (:LISTJî __
will help you). After a :KILL command, DDT will inform you which job is
then current. For example if you just :KILLed your TECO, DDT will
select your MACSYMA (or whatever the next job is) and print
MACSYM$J
III.E. Disowned and Detached Jobs
Occasionally it may be necessary to logout in order to switch
terminals, or to permit someone else to use your terminal, but you may
have a job you do not want to lose, or which hasn't finished running.
The thing to do is to detach yourself, or to disown the job. There is a
_______________
3. DDT will type "!" when a new job is created, as a warning.
4. ^H is "backspace"
12
Introduction to ITS III. DDT
difference between these two. Disowning a job is to merely "cut" it
loose from your DDT while you are logged in. It can be thought of then
as floating loose in the system. To do it, exit from the job with ^Z,
then type :DISOWN (If you want to leave it running, type :PROCEED before
:DISOWN). If you log out while a job is disowned, it will wait for you
to log back in and reclaim it. To reclaim it use the :JOB command
followed by the job name. The system will respond by typing
:$ REOWNED $
and it will then be reconnected to your DDT, and you can reenter it with
:CONTINUE. Disowning running jobs is inconsiderate, however. If a
disowned job wants to print out, it will not be able to and will just
stop. This defeats the purpose of its existence and takes up a job slot
in the system. What this means is you should only disown running jobs
when it is absolutely necessary.
Detaching affects the entire DDT and all the jobs connected to
it. Typing :DETACH will log you out of the system but leave your DDT
and all your jobs sitting there. This takes up several job slots in the
5
system, so it should only be used when absolutely necessary. When you
log back in, (assuming the system has not crashed in the interim) you
will receive the message --ATTACH YOUR DETACHED JOB-- and should answer
this by typing a space as explained in section IX.D, below. When you
log back in after disowning a job, you will not receive a message, but
the continued existence of your job can be confirmed by using :PEEK (see
Section VI.C), and you can then reclaim it with :JOB.
III.F. Quit Commands
There are three Quit commands for DDT, ^D , ^S, and ^G. These
three have different functions. ^D will abort a command that you have
not completed typing. This is useful if the wrong command was selected,
or a typing error has been made. DDT will print "XXX?" and you may then
retype the command. ^G will stop the execution of a command. DDT
responds with "QUIT?" and execution stops. This is a "panic button"
type of command, and will stop infinite loops. ^S will stop the
printout which results from the execution of a command, e.g. the listing
of a directory. ^G is also the "quit" command for MACSYMA and TECO.
However, when using any "quit" command, at DDT level or inside a
program, it should be noted that due to network delay typing a "quit"
command from a TIP will not cause instant cessation of execution; rather
it may take several seconds (or even minutes) before the quit command
takes effect. It should also be noted that a TIP has a limited number
of bits to hold its "interrupt" character, so although it may seem
psychologically satisfying to type a long string of ^G's, they overflow
_______________
5. During the afternoon system people usually kill detached trees that
have been idle for over half an hour, since the system is too loaded to
make it possible to retain them.
13
III. DDT Introduction to ITS
6
(and clear) the interrupt bit, actually cancelling each other out.
III.G. Communication
A very useful aid to a MACSYMA user is the ability to
communicate on-line and receive assistance in this fashion. This is the
best way to get help with specific MACSYMA problems, because a MACSYMA
Programmer at MIT can have access to your current MACSYMA and examine
your expressions. He (or she) can also use your console remotely to
demonstrate various solutions for you.
There are two ways to communicate: one-way communication, using
the command :SEND, and two-way communication in which the user links his
terminal to that of another user and the typing of either one appears on
both. A list of people who can answer questions for you is available.