annotate poster/os9/os9s.ind @ 18:1fc9d0bd924f default tip

update
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sat, 20 Apr 2019 18:06:35 +0900
parents 7fd82a802a66
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
1 -title: OS9/GAME09/FORTH/TL1
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
2
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
3 -author: 河野真治
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
4
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
5 --OS-9 の特徴
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
6
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
7 Microware 社によりMotorola のMC6809用に作られた 8bit OS。1980年初頭。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
8
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
9 Module と言う単位をメモリ上にどこに配置しても良い
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
10 Time sharing を採用した並列実行(concurrent) (平行(parallel)ではない)
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
11 Unix like なshell とpipe
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
12 Basic09 というPascal likeな言語を持つ。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
13
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
14 --MC6809
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
15
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
16 <center><img src="mc6809.gif"></center>
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
17
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
18
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
19 --Level 1/2
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
20
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
21 level 1 ROM上のOS9 p1 kernel で動作する。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
22
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
23 level 2 MMUで2Mbyteのメモリを使える
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
24 アドレス変換に対応し、512kメモリを使用できる。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
25
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
26 --何をするか
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
27
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
28 Emulator 上で OS-9 を動かそう。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
29
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
30 できれば Level 2
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
31
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
32 なんで?
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
33
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
34 昔、自作のに乗っけれなかった。せっかく5万円も出して買ったのに。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
35
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
36 残念ながらハードはもうないけど、Emulator なら?
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
37
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
38 20年前に「年取ったらやろう」と思っていたが、そろそろやるべき。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
39
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
40 --OS9 with MMU
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
41
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
42 <center><img src="fig/os9mmu.svg"></center>
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
43
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
44 --kernel構成
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
45
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
46 <center><img src="fig/os9.svg"></center>
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
47
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
48 --kernel構成
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
49
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
50 OS9p1
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
51 system callと割り込み処理
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
52 Module 発見と管理
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
53
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
54 OS9p2
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
55 メモリ管理
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
56 Task管理
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
57 Signal
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
58
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
59 --kernel構成2
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
60
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
61 IOMan
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
62 SCF/RBFと device driver とdescriptor の登録
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
63
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
64 SCF
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
65 sequencial file io manager
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
66
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
67 RBF
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
68 randome block file io manager
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
69 file system管理
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
70
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
71 --Runtime module
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
72
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
73 init
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
74 boot用初期データ
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
75
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
76 sysgo
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
77 clockとShellの起動
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
78
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
79 Clock
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
80 timer 割り込み
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
81 日付計算
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
82
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
83 --Runtime module 2
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
84
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
85 Shell
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
86
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
87 Device descriptor
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
88 D0
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
89 Term
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
90
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
91 Device driver
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
92 PTY
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
93 PDisk
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
94
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
95 --nitros9
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
96
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
97 OS9 をdisassemble したものらしい
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
98
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
99 Tandy Coco 上で動いていたらしい
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
100
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
101 ライセンス的にはだめかも
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
102
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
103 大目に見られてる?
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
104
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
105 --Emulator
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
106
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
107 sbc09というアセンブラEmulator上に実装して動作させた
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
108
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
109 sbc09 を mmu 対応にして level 2 まで動かした。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
110
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
111 仮想RBF (random block filer manager )
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
112
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
113 Unix 上のファイルを Emulator 側からos9のファイルシステムとして見せる
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
114
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
115 --OS-9 上のソフト
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
116
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
117 BASIC09
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
118 FORTH
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
119 BASIC
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
120 GAME09
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
121 TL/1
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
122
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
123 --FORTH
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
124
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
125 PostScript の元になった言語
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
126
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
127 関数単位
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
128
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
129 assembler を自分でかける
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
130
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
131 : ACCEPT-TEST
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
132 CR ." PLEASE TYPE UP TO 80 CHARACTERS:" CR
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
133 ABUF 80 ACCEPT
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
134 CR ." RECEIVED: " [CHAR] " EMIT
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
135 ABUF SWAP TYPE [CHAR] " EMIT CR
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
136
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
137
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
138 --GAME09
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
139
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
140 VTLの日本での実装
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
141
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
142 記号的なBASIC
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
143
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
144 コンパイラとかが書かれた
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
145
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
146 100 "ADDRESS=" A=?
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
147 110 "TO =" D=? @ !=900
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
148 120 @=(A>D) #=-1
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
149 900 / ??=A .=20 E=A !=1000
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
150 910 $=$D .=5 B=0,5 ;=E+B>=A .=3 #=930
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
151 920 ?$=E:B) " "
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
152
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
153 割とダメ。行番号なしの rvtl というのがある。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
154
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
155 --Micro C
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
156
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
157 mohta氏と手塚氏の作った 6809 用の整数Cコンパイラ。構造体がある。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
158
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
159 04D7: * getchar()
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
160 04D7: * { return getc(stdin);
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
161 04D7: getchar
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
162 04D7: 3440 PSHS U
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
163 04D9: 33E4 LEAU ,S
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
164 04DB: EC20 LDD 0,Y
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
165 04DD: 3406 PSHS D
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
166 04DF: 17FFB7 LBSR getc
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
167 04E2: 3262 LEAS 2,S
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
168 04E4: * }
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
169 04E4: 35C0 PULS U,PC
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
170
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
171 これを CbC にしたものがある。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
172
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
173 --TL/1
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
174
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
175 大西氏のコンパイラ言語、データ型はByteとByte Arrayのみ。手続きと関数がある。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
176
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
177 PROC WAIT
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
178 FUNC TIME
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
179 %--- MAIN ---
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
180 VAR MMI,MMJ,MMK
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
181 BEGIN
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
182 WRITE(1:ASCII($A))
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
183 MMI:=1 MMJ:=2 MMK:=3
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
184 WAIT(4,5)
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
185 WRITE(1:MMI,CRLF)
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
186 END
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
187 %-- PROCEDURE WAIT --
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
188 WAIT(WWA,WWB)
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
189 VAR WWJ,WWK
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
190 BEGIN
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
191 WWJ:=4
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
192 WWK:=TIME(6,7)
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
193 WRITE(1:MMI,WWJ,WWA,WWB,WWK,CRLF)
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
194 END
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
195
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
196 型がないのは現代的な気がする
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
197
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
198 --TL/1のオブジェクト
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
199
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
200 020B: 9F 16 STX <$16
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
201 020D: 30 C9 01 C2 LEAX +$01C2,U
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
202 0211: 86 01 LDA #$01
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
203 0213: A7 00 STA +$00,X Mainの大域変数
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
204 0215: 86 02 LDA #$02 =局所変数
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
205 0217: A7 01 STA +$01,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
206 0219: 86 03 LDA #$03
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
207 021B: A7 02 STA +$02,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
208 021D: 86 04 LDA #$04
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
209 021F: A7 03 STA +$03,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
210 0221: 86 05 LDA #$05
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
211 0223: A7 04 STA +$04,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
212 0225: 86 03 LDA #$03
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
213 0227: 17 00 0F LBSR $0239
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
214 022A: 86 01 LDA #$01
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
215 022C: 97 01 STA <$01
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
216 022E: A6 00 LDA +$00,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
217 0230: 17 FE 3A LBSR $006D
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
218 0233: 17 FE C6 LBSR $00FC
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
219 0236: 16 FE D6 LBRA $010F
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
220 0239: AF E3 STX ,--S
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
221 023B: 30 86 LEAX A,X 呼出側の局所変数の確保
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
222 023D: 86 04 LDA #$04
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
223 023F: A7 02 STA +$02,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
224 0241: 86 06 LDA #$06
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
225 0243: A7 04 STA +$04,X 局所変数
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
226 0245: 86 07 LDA #$07
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
227 0247: A7 05 STA +$05,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
228 0249: 86 04 LDA #$04
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
229 024B: 17 00 24 LBSR $0272
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
230 024E: A7 03 STA +$03,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
231 0250: 86 01 LDA #$01
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
232 0252: 97 01 STA <$01
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
233 0254: A6 20 LDA +$00,Y 大域変数
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
234 0256: 17 FE 14 LBSR $006D
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
235 0259: A6 02 LDA +$02,X 呼び出した方の引数
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
236 025B: 17 FE 0F LBSR $006D
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
237 025E: A6 00 LDA +$00,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
238 0260: 17 FE 0A LBSR $006D
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
239 0263: A6 01 LDA +$01,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
240 0265: 17 FE 05 LBSR $006D
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
241 0268: A6 03 LDA +$03,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
242 026A: 17 FE 00 LBSR $006D
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
243 026D: 17 FE 8C LBSR $00FC
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
244 0270: 35 90 PULS PC,X
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
245
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
246 --Gears OS の参考になる?
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
247
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
248 module は Code Gear 。Data Gear を導入する。
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
249
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
250 OS 自体を module 構成にする
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
251
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
252 module を memory に mapping する
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
253
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
254 module 間の通信
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
255
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
256 module の生態系 (version 管理 )
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
257
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
258 動く module の version の組合せ
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
259
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
260 TL/1 言語はシンプルに
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
261
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
262 型はメタレベルで付ける
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
263
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
264 大きなデータは write などの通信で行う
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
265
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
266
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
267 --さらに
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
268
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
269 qemu で TLB base で動かす
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
270
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
271 interpreter base の Emualtor ではなく、compile base にする
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
272
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
273 nitros-9 のソースコードのコメントを増やす
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
274
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
275   まぁ、あんまりやりすぎないように
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
276
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
277
7fd82a802a66 add os9
anatofuz
parents:
diff changeset
278