forked from rroart/freevms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTASKLIST
196 lines (156 loc) · 4.79 KB
/
TASKLIST
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
Criterias for major/minor version bumps?:
Previous:
0.1: ODS-2 grub support, kernel boot and dcl start.
0.2: ODS-2 about as usable as Ext2.
0.3: SMP and 64-bit support.
Next (A-H in more or less probable order, from 0.5-)?:
0.F: New cluster network engine, based on CMU IP stack engine.
0.G. More CWPS
0.E: A much more developed CLI
0.C: Locks in active use
0.D: DLM
0.B: ODS-5 (FI5) and Unix compatibility.
0.A: Security features.
0.H: PAL (no 1.0 without it)
1.0/2.0: FreeVMS being able to recompile itself on FreeVMS.
0.4: inactive and inconclusive, not a branch of this freevms
FreeVMS tasklist
1. High priority:
CPU/PAL
LIBRTL
CLI, CDU
Better terminal driver
2. Medium priority:
VMS image and linker
MSG
General bugfix, extensions, compliance to ordinary functionality
SMG
ODS-5 (FI5) and Unix compatibility.
64-bit LE (have to go through the code to handle int, long etc)
SMP
3. Low priority:
Locks
Cluster (will increase later in 0.2.x-cycle)
LBR
Full RMS (with more than SEQ)
Full ODS-2 (with extended headers, volume set etc)
Security features
Mutexes
4. Yet unknown priority:
System service dispatching
Condition handling
CRTL (probably none, should go for using libc)
5. No priority:
Volume shadowing
Non-intel
64-bit BE
See SElinux link
***************************************
Detailed descriptions:
Basic/foundation stuff:
CPU/PAL
We will need someone with keen eye for and high knowledge of CPU
semantics to finish IPLs etc, because we need to get synchronization
correct on the instruction level, or we will never get it stable.
Important concepts are atomicity/noninterruption, interlocking, stacks.
(See VARM, eventually AARM.)
Also needed is implementing and finishing the following instructions:
INSQUE, REMQUE
ADAWI, INSQHI, INSQTI, REMQHI, REMQTI
PROBE
CHMx
REI
SWASTEN
SWPCTX, LDPCTX
Interrupt/trap/stack functionality
Data Structure Definitions
Kernel:
Control Mechanisms:
ASTs
Synchronization:
Lock management (DLM)
Memory management
Process and time management
I/O Subsystem
Logicals
ODS-2
DCL
Suggested order:
CLI, LBR
CDU, MSG
DCL itself, with Internal Procedures
CLI Command Language Interface routines No kernel stuff
See
$ help cli
http://www.openvms.compaq.com:8000/73final/4493/
4493pro_003.html#cli_chap
LBR librarian No kernel stuff (I think)
See
$ help lbr
http://www.openvms.compaq.com:8000/73final/6100/
6100pro_005.html#lib_chap
http://www.openvms.compaq.com:8000/73final/4493/
4493pro_019.html#23_structureoflibraries
CDU Command Definition Utility No kernel stuff (I think)
See
$ help set command
http://www.openvms.compaq.com:8000/73final/6100/
6100pro.html#cd_chap
MSG message Some kernel stuff
See
$ help rtl lib lib$signal
$ help message
http://www.openvms.compaq.com:8000/73final/6100/
6100pro_008.html#msg_chap
Internal procedures possible now, some can be developed independently
=, assign, call, create/name_table, deassign, define,
delete/symbol, eod, exit, gosub, goto, if/then/else/endif,
inquire, on, read, recall, return, set control, set prompt,
set symbol, set [no]verify, show symbol, show time,
show translation, stop, write
Internal procedures for later (kernel dependent)
allocate, attach, cancel, close, connect, continue,
deallocate, debug, deck, define/key, delete/key, deposit,
disconnect, eoj, examine, open, set default, set key,
set [no]on, set output_rate, set protection, set uic,
show default, show key, show protection, show quota,
show status, spawn, wait
Also see:
Look up DCL in the Internals book.
Mainly Process Dynamics chapter.
Basic libraries:
LBR
SMG
Other libraries:
LIBRTL
"SRM", will be using Grub with ODS-2 support.
RMS
Utilities COPY DIRECTORY etc
VMS image support, linker+compiler support for images
Kernel:
Control Mechanisms:
Condition handling
System service dispatching
Synchronization:
Spinlocks, the Linux ones are probably usable.
Mutexes
SMP support
Clustering, SCA, MSCP etc. Base ourselves on the CMU IP stack engine?
Ordinary security stuff.
Start with aiming at
http://www.nsa.gov/selinux/doc/inevitability/inevitability.html (not?)
Non-i386 support, will not be done.
64-bit support, AMD64.
CRTL, we will continue to try to use libc etc?
Editors (got edt from Ozone), depends on better terminal driver and maybe SMG
Volume shadowing
***************************************
CURRENT/ACTIVE PEOPLE:
(Consider no part locked by anyone.
If you do not produce, someone else's code will be used.)
Andrew Allison: librtl
Bertrand Joël: srm
Bojan Nemec: GCC variable argument count on i386
Roar Thronæs: CPU/PAL, Kernel, Cluster, the rest practically and everywhere
Roger Tucker: misc synchronization patch, librtl
Zakaria Yassine: init