著名Linux開発者Alan Cox、Z80向けに新OS「Fuzix」を公開 103
ストーリー by hylom
これは楽しそうだ 部門より
これは楽しそうだ 部門より
著名Linux開発者Alan Cox氏が、新たなOS「Fuzix」を公開した(OSNews、Alan Cox氏のGoogle+への投稿、Gitリポジトリ)。
Google+への投稿によると、このOSはUNIX並の機能を備え、かつコンパクトであることを目指しているようだ。まずはZilog Z80プロセッサをサポートしており、また6809や6502といったプロセッサへの移植も試験的に行われている模様。Fuzix開発の理由として、移植性のあるZ80向けのフリーなOSが存在しない点などが挙げられている。
Cox氏は「(開発を始めた)本当の理由は単純で、楽しいからだ」とも述べており、楽しんで開発を行っている模様。
表だって語れない理由 (スコア:5, おもしろおかしい)
Linusも居ないしな
Re:表だって語れない理由 (スコア:1)
御大が後ろから見てますよ。
ターゲットはAmstrad NC100 (スコア:5, 興味深い)
かれこれ20年以上昔のハンドヘルドコンピュータらしい
http://www.ncus.org.uk/
ワープロ+スプレッドシート+BASIC搭載みたいで、
maid in JAPAN らしいけど・・・
Windows用のエミュレータもある感じ
Fuzix用には64KバイトのRAMが必要で32Kバイトがカーネル
残りの32Kバイトがユーザ空間で、ユーザ空間は外部記憶にスワップするそうな
件のハードでどのようにメモリ保護を実装しているかわからないけど
PDP-11みたいなかんじかな?
メモリ保護≠オンデマンドページング、で
Re:ターゲットはAmstrad NC100 (スコア:1)
> Amstrad NC100 ってのはよくわからないけど
> かれこれ20年以上昔のハンドヘルドコンピュータらしい
>
> http://www.ncus.org.uk/ [ncus.org.uk]
> ワープロ+スプレッドシート+BASIC搭載みたいで、
> maid in JAPAN らしいけど・・・
PC-8201の海外向けOEM版か?
http://ja.wikipedia.org/wiki/PC-8200%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA [wikipedia.org]
Re: (スコア:0)
8ビットにおかえりなさいませご主人さまっ!
Re: (スコア:0)
EPSONのワードバンク [dentaku-museum.com]に似てる希ガス
Re: (スコア:0)
AMSTRAD NC 100
http://www.old-computers.com/museum/computer.asp?st=1&c=753 [old-computers.com]
All the NC computers were made in Japan by Nakajima. The company also sold its own version of the NC-100, called ES-210.
NAKAJIMA ES 210
http://www.old-computers.com/museum/computer.asp?c=1143 [old-computers.com]
Nakajima, a large Japanese OEM manufacturer, made (designed?) the Amstrad NC series and also sold their own version of the Amstrad NC-100 with a grey and blue case.
Technical features and built-in firmware seem to be the same as the NC-100.
中島オール株式会社 社歴
http://www.nakajima-all.co.jp/index.files/cfs_products.htm [nakajima-all.co.jp]
1992 平成4年 3月 ノートワー
Re: (スコア:0)
中島オール株式会社 社歴
のリンク間違い
http://www.nakajima-all.co.jp/index.files/sub/kigyou_syareki.htm [nakajima-all.co.jp]
Re: (スコア:0)
作っていたメーカーが出した Nakajima ES-210 なんてのもあるらしい。
http://www.old-computers.com/museum/computer.asp?c=1143 [old-computers.com]
# 中島という人なら知っているけど、メーカーでははじめて耳にします。
Re: (スコア:0)
製品コンセプトがHP200LXみたいだな
ご連絡先
S-OS (スコア:1)
ソース公開されてるし、移植性もあるし……
Re: (スコア:0)
あれはマシン語モニタであってOSではない
Re:S-OS (スコア:3, 参考になる)
S-OSは、ユーザーが直接操作する、いわゆるシェルの部分が貧弱というか、マシン語モニタ相当のものになってましたが、そっちはS-OSの本質じゃないです。
S-OSのコンセプトは
機種ごとのハードウェアの違いを吸収するために、共通のシステムコールを用意する。
S-OS用のプログラムはハードウェアを直接操作せず、必ずシステムコール経由で操作する
ことで、同一のプログラムバイナリがそのまま多機種で動作させられる
というものですから。分類としてはちゃんとした「OS」でしょう。
まあ「プロセス管理」が無いあたりが、ちょっとOSとして弱いところですかね。
#当時、COMMAND.COM的な対話型シェルプログラムを作ってOh!Xに投稿したんだけど、採用されなかった…
Re:S-OS (スコア:1)
統合BIOSと考えた方がいいのでしょうね<S-OS
S-OS自体は、システムコールとI/O周りの塊だから…FLEX [wikipedia.org]辺りに倣ったものじゃなかったかなぁ。と記憶(うろおぼえ)
まぁ、初期のMS-DOSやCP/MをOSに入れるかどうかと非常に近いものがあると思いますよ。
Re: (スコア:0)
Z-80にとってバランスの良いシステムについて
なんの知見も経験もない人の見本のような投稿だな。
Re: (スコア:0)
Z-80にとってバランスの良いシステムについて
その実装のひとつである S-OS “SWORD” が “OS” かどうかって話が理解できないんだな、かわいそうに。
Re: (スコア:0)
OSの意味を理解してないのはお前だw
Re:S-OS (スコア:1)
> CP/Mあたりだと、OSはBIOS部とBDOS部に分かれてて、今S-OSって、CP/MのBIOS部相当だよね?(違う?)
S-OS は、キー入力/文字出力/ファイル入出力などの、CP/MにおけるBDOS相当の機能も提供してます。
というより、CP/Mは「機種依存部であるBIOS」と「全機種共通のBDOS」という分離を行っている(移植が必要なのはBIOSだけ)のに対し、
S-OS はそういった分離をせず「各機種毎の S-OS を用意している」、ってだけの話で。
(プロセス管理が無いって点で)、OSとしての提供機能レベル的には、CP/MもS-OSも似たようなものでしょう。
S-OSはOSではないという考え方もありだと思いますが、それならCP/MもOSじゃないし、MS-DOSも微妙な立ち位置になりそうです。
しかし何に使うんだろう (スコア:0)
今や組込みすらRTOSが必要なレベルだと32bit系だし、今でも8bit使ってるようなものって、リソース厳しくてRTOSなしだよねぇ。
Re:しかし何に使うんだろう (スコア:2, すばらしい洞察)
使うのが目的ではないでしょう。
すごく初期段階にしてカーネル40KBだそうで、もうアドレス空間が埋まりそうだし。
Z80でC言語とか、コンパイラはなにを使ってるのかな。
LSI-C80で非再帰モードとかバンバン使わないとまともなコードにならんと思う。
Re:しかし何に使うんだろう (スコア:3, 参考になる)
Makefile [github.com] を見ればわかる。
Z80 なら SDCC - Small Device C Compiler [sourceforge.net],
6502 なら cc65 - a freeware C compiler for 6502 based systems [cc65.org],
M6809 なら gcc となっている。
Re:しかし何に使うんだろう (スコア:1)
MSXとか
Re: (スコア:0)
UZIXとかありましたけど
今はもう開発終了してるんですかね?
つ【OS-9】(Re:しかし何に使うんだろう (スコア:1)
OS-9/6809 Level1 [roug.org]とか、実メモリが64KBなくても結構動いたようですし。
実際、メインRAM領域が62KB程度の富士通 FM-7 [fm-7.com]でも、使おうと思えば結構使えたんですよね。マルチユーザ・マルチタスクで。
しかも、アプリをPascalっぽい構造化BASIC(実際、UCSD-Pのように独自中間コードに変換してて、ネィティブなマシン語にはコンパイルしていなかった)のBASIC09 [syakazuka.com]コンパイラで書いたりとかも出来た。
# MMUが使えると、より大きなメモリ空間と、ハードウェアでのプロセス保護が出来るLevel2と言うのもあって、確か768KBの拡張メモリとかも売りだされてた。
こう考えると、カーネルの設計さえコンパクト化できれば、そこそこ使えるものが出来るんじゃないですかね。
今時ならばFPGA上にZ80や6809をいれ込んだりも出来るでしょうし、キーボードやディスプレイはUSBでつなげば良いですし。
# USBコントローラが別に必要で、FPGAの制御コアが32bit ARMだからそちらを使うと言うのはいかがなものか。と言う展開もありえますが(^_^;
Re:つ【OS-9】(Re:しかし何に使うんだろう (スコア:1)
具体的なことを何一つ書けない間抜けな人は黙ってて
Re:つ【OS-9】(Re:しかし何に使うんだろう (スコア:1)
>Z80でPIC(position-independent code)で、リエントラントなコードを書くのって難しくない?
非常に難しいと思います。出来なくはないでしょうが。
githubのZX SpectrumやFPGA上でのZ80を想定したマシン依存部分のコード(の中の定義ファイル)を斜め読みしてると、ユーザ領域は、プロセスごとに1バンク持たせて、CPU側からは固定アドレスにアサインされてるかのように見せようとしてるのではないか?と言う感じがしますよ。プロセスの数が多くなったらスワップアウト/スワップインを行うとか。
#あくまで、十分一寸斜め読みしただけなので外してるかもしれませんが。
># とは云え、PICでリエントラントである事が、OS-9/6809のフットプリントを小さくするのに、どれ位寄与したかは謎。
まぁ、そこは64KBのバンク切り替えのない領域にプロセスを詰め込むには必須だったと思います。(あの時代なら256KBのバンク切り替え可能なメモリがあればお大尽だったので)
カーネルも相当モジュール化されてましたし、そこら辺の含めてリエントラントにしておかないとスタックやらデータ領域やら再配置するのが難しかったですから。
そうしないと、マルチユーザやマルチタスクを実現しつつメモリを節約するのは困難になりますし。
Re: (スコア:0)
例えば、2.4GHz帯のデータ通信用のチップなど内蔵8052コアで、高頻度の非同期なイベントを処理しまくっています。
そういったものがRTOS的なフレームワーク無しで作れるかというと、とても大変な上に実際に出来上がったものはRTOSに限りなく近いでものになるでしょう。
Re: (スコア:0)
バンク切り替えとかサポートしたら結構面白そう。
Re:しかし何に使うんだろう (スコア:3, 興味深い)
ていうか、gitのFUZIX/Kernelの説明を見るとバンク切り替えができることを前提としてるように思える。
ああ、もう懐かしいわ、exxとかex af,af' とかpush/popの山。リアルタイムモニタ作ると絶対にこれが出てくる。
1990年ごろまでZ80やってたけど、いまだと64kByteのメモリなんて逆に見つけづらかったりしない? 数メガのチップをバンク切り替え風に使うとかしてるのかな?
Re: (スコア:0)
いまだと64kByteのメモリなんて逆に見つけづらかったりしない?
いまに限らずZ80現役当時でも64kB(=512kb)なんて切の悪い容量のRAMはまずなかったでしょ。UV-EPROMとかにはあったけど。
Re: (スコア:0)
ターゲットはエミュレータなのかな。
外部記憶なし、ファイルシステムなしだとすれば
まさにタスクスイッチャーとしてのRTOSな感じ?
ネットワーク+プロトコルはシリアルでやれるか・・・。
今時の3GHzとかのPCだと Z-80 300MHz ぐらいになるんだろうか。
Re:しかし何に使うんだろう (スコア:2)
結構いろんなプラットフォーム [github.com]で動かそうとしてますよ。
MSXとかZX Spectrum 128とかTRS80とかDragon64とか…この調子だとAppleIIとかでも動かしかねない。
# ここにFM-7/77/AVがないのは、まぁ、国際的な知名度なのでしょうね。
Re:しかし何に使うんだろう (スコア:5, 参考になる)
現実には、ぱちんこの検定に通すためには主基板ROMは16KB以下
(更にプログラム領域3KB以下でデータ領域3KB以下)でないと駄目で、
貧民的プラグラミングが求められるので無理です。
Re:しかし何に使うんだろう (スコア:1)
一方サブ基板は動画&音声データの塊
演出だけでなく、図柄変動(数字が動いて止まる奴)もスプライト描画とかではなく動画でやって合成してるとか聞いたことが
まあせいぜい10個強の3桁だから、リーチで特殊な動きするときとか考えても今の記憶装置なら収まるのか…
Re: (スコア:0)
主基板ROMは16KB以下
(更にプログラム領域3KB以下でデータ領域3KB以下)
16KB-3KB-3KB=10KB
ROMにコードとデータ以外で何が入ってるの??
Re:しかし何に使うんだろう (スコア:5, 参考になる)
ROMの入手性を勘案して、充分かつ最もミニマムな容量で設定しているだけだと思いますよ。
最も今ではLETechかIDNACのロム(CPUと周辺、ROM込み。不正改造が困難なchip)しか実質採用できませんので
単独でROMを載せていることは、まずないと思いますが。
Re: (スコア:0)
単純にその決まりができた当時8KB以下のROMは製造してなかったとか。
Re: (スコア:0)
現代でも16kB(=128kb)のROMなんて製造されてないのでは?
Re:しかし何に使うんだろう (スコア:2)
128kbitのROMだったら、SPIとかI2Cのでよければ、RSコンポーネンツで注文すると1個150円、午前中に注文して早ければ翌夕方には
届くくらいではないかと。よくルータとかPCとかネットワークカードとかFPGA基板とかに乗ってません?
Re: (スコア:0)
CPUから命令フェッチするには一旦RAMに展開せんでもいかんシリアルROMなんてパチ関係のプログラム用に使えるわけない
Re:しかし何に使うんだろう (スコア:2)
内蔵じゃない外付けパラレルROMで16kBってのが難しいってことですか?
Re:しかし何に使うんだろう (スコア:2)
現代でも16kB(=128kb)のROMなんて製造されてないのでは?
Re:しかし何に使うんだろう (スコア:2)
128Kbitの単体ROMが小容量過ぎて存在しないかというと、需要があってシリアルならいくらでもある。
専用品だとかメーカー限定とかDCから動作とかTTLとか後出しの条件が出てくるなら、知らない。
だいたいZ80ともどこにも書いてないし、どうせパチンコ専用のSoCがあって事実上一択なんでしょ?
Re:しかし何に使うんだろう (スコア:2)
じゃあパチを定義したらいいんじゃないの?
メモリ保護はどうやって? (スコア:0)
Z80にはそんなものなかったですよね?
# 派生品?
読み (スコア:0)
ふじっくす?
ふぁじっくす?
ふゅーじっくす?
いっそ Linux の向こうを張って (スコア:2, おもしろおかしい)
Alancox にすりゃいいのに
Re:読み (スコア:2)
(個人的な希望観測に根ざした予想だが)
上気3つのどれでも構わないが強弱アクセントは第1音節におくこと。
// 宦官(を意味する英単語複数形)とUNIXが駄洒落で使えるコミュニティに参加したかったものだなあ。。。
Re:自作のジャンク漁り (スコア:1)
Z80上位互換のHD84C015を使った、スーパーAKI-80 [akizukidenshi.com]が在庫あるようですが。
ディスプレイ周りは独自に作るか、もしくはUART経由でつなぐことになりますが、FUZIXを動かすプラットフォームとしては悪くないかもしれません。
# でも、カーネルを焼きこむことになるEPROMが入手できるのだろうか?(^_^;
## SDカードかフラッシュROMでEPROMエミュレーションする装置が必要になるかも。
Re:自作のジャンク漁り (スコア:1)
AKI-80のCPUを間違えてました(^_^;
TMPZ84C015(東芝)でした。