HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
0115
asw.derやはり、OSというのは絶対につくれないのか?13解決


asw.der

リンク

2022/1/15(Sat) 10:56:58|NO.95051

HSPで、OSというのは、やっぱり作れない感じですか??
例えば、メモリ操作命令とか使ってもむりですか?



この記事に返信する


沢渡

リンク

2022/1/15(Sat) 11:50:45|NO.95053

WindowsだとかMacOSだとかLinuxのような「ゼロから動くOS」は、まあ不可能でしょう。
HSP自体が内部でC++のライブラリやWindowsのAPIを大量に使用している、
Windowsありきのものですから。

「MS-DOS上で動いていた時代のWindows」のような「OS内OS」であれば
ワンチャンあるのではないか…とも思いましたが、
そもそも「Windows上で動くOS」とは一体どんなものなのか?
仮にそんなものがあったとして、ユーザーにどんなメリットがあるのか?
Windowsの標準機能では不足なのか?
「難しい処理に対して平易にアクセスする手段を用意する」という意味なら、
それってHSPで十分なのではないか?
…などと色々考えたものの、答えは出ずじまいです。



asw.der

リンク

2022/1/15(Sat) 12:18:40|NO.95056

はい



Crystal

リンク

2022/1/15(Sat) 12:24:39|NO.95057

HSPでパソコンで完全に起動するOSを作るのは難しい。BIOSやデバイスの感知などWin32 APIを知っていないと難しい。
Win32 APIを勉強すればある程度のものは作れるとは思うが... それなら、HSPよりC言語を習得した方が早いです。



秋月

リンク

2022/1/15(Sat) 14:06:26|NO.95060

HSPの標準命令や型周りは軒並みダメになるけど、
HSPで書いたコード

regAX = 10 regBX = regAX + 5
を、アセンブリ言語で

MOV AX, 10 PUSH AX ADD AX, 10 MOV BX, AX POP AX
に変換できるプログラムなら作れそう。
んでもって作ったアセンブリ言語をアセンブルしてブートローダを作って、qemuとかで実行する。みたいな。
メモリ操作や割り込み処理とかは適当に関数を作るとか。
ただ、プロテクトモードへの対応は難しそう。(単に自分の技術力が無いだけなんだけど)



秋月

リンク

2022/1/15(Sat) 14:07:36|NO.95061

ADD AX, 5
ADD AX, 10
って書いてしまった
スマソ



zrs90(5さい)

リンク

2022/1/15(Sat) 16:10:58|NO.95062

os ですか? どの程度の物を目的にしているか
分からないのですが...
作って見たい方を、止める気はないので、参考程度に。

私も、Windows のソースコード数がふと
知りたくなり、調べました。
(Windows10 は資料が、ちょっと見つかりませんでした。)

Windows vista (※今から10年以上前のosです)
で、約5000万行(!)だそうです。
動作メモリから、推測してますが、その倍以上
使っているので、単純に、約1億行(!?)と言う計算に...

詳しくは、Windows10 ソースコード数 で検索して見て下さい。
検索上位から、4〜5件程、色々書いてあります。
情報に、古いのが混じってますが...
Mac os 、Linux 、Google等の話も出てきます。

上で、沢渡さん、crystal さんが、仰っている事が
ある程度、理解出来ると思います。


後、hsp3の.exeファイルと、同じ処理で
c言語で作った.exeファイルの速度比較をすると
hsp3の方が、数倍遅い。...と言う点があります。
(※もちろん、プログラムの作り方にもよりますが)
それが累積すると、動作スピードの差は数倍どころで
済まない可能性が高いです。



zakki

リンク

2022/1/15(Sat) 20:37:30|NO.95064

JavaにしてもJava SEでは生メモリやベアメタルにアクセスできませんが、Java言語製のOSあったりはします。
Java製OSのような感じで、アセンブラでブートストラップしてC製の最小限のHSPインタプリタを起動して、そのの処理はHSPで記述するみたいなのは技術的には可能じゃないでしょうか。
Androidみたいな感じでハードウェア寄りの部分はLinuxやBSDなどの既存カーネルを使って、ユーザランドのカスタマイズから入るとそれよりは簡単かもしれません。(簡単とは言ってない)

HSP言語を使って作るのは頑張れば出来るけど、hsp3.exeやhsp3cnv.exeをそのまま使うことはできないので、それ相当の処理を自作するなりOpenHSPをカスタマイズするなりという技術は必要です。



asw.der

リンク

2022/1/16(Sun) 10:58:06|NO.95076

ありがとうございます



ななし

リンク

2022/1/21(Fri) 17:01:47|NO.95132

HSPでOSを作るHSPOSCMPというものがありますよ!
HSPのVMをカーネルに移植するなど等でHSPがネイティブで動くOSが作れたりもできそうですね。



沢渡

リンク

2022/1/21(Fri) 19:08:53|NO.95135

こんなものがあったとは…>HSPOSCMP
使える命令が相当限定されているようですが、なるほど、HSPのランタイムを
使わない形で、独自に「HSP→C++→マシン語」という順序でコンパイルしているのですね。
上の書き込みでは適当なことを言って申し訳ないです。



ねんねこ5787

リンク

2022/1/22(Sat) 10:01:56|NO.95144

>>95132
こんなものがあったとは...
ドナルドウズを完全OS化できますね



zrs90(5さい)

リンク

2022/1/23(Sun) 16:33:19|NO.95164

去年の3月頃かな? ゼロからのOS自作入門
と言う、書籍が出てました。

例の、HSPOSCMP と組み合わせて
os作ったら面白そう。
(※書籍内容だけで作れるとか、言われそうだが却下。)



f(納品完了)

リンク

2022/1/25(Tue) 22:58:44|NO.95186

>HSPOSCMP

色々胸熱ではあったのに開発止まってしまっているようで。

現状「MBRから起動する簡単なアプリが作れるだけ」でOS的に必要そうな機能は実装されてなくて悲しい。
HSP側にOS的に必要そうな命令が存在するかどうかは別として(あかんだろ

(HSPがWindowsの機能を使う部分をHSPOSCMP側が自力で実装するという鬼仕様だものなあ…
結局これ最終的にHSPOSCMPって簡易なOSの上でHSPスクリプト由来のコードが動くって話なんじゃ…)



ONION software Copyright 1997-2023(c) All rights reserved.