Discuss Scratch

kouryou118103
Scratcher
1000+ posts

ScratchでOSを作るには?

penta_5 wrote:

scratchで作ったosを本当のosにするにはどうすればいいですか?
仮想的OSとして起動するという意味だったら、すでにできていると思います。

もし本当にOSとして使いたいのなら、Scratchではない方がいいです。Scratchで作ってC言語とかRustに書き換えるのはありかも?そんなことする人いるのか…

Last edited by kouryou118103 (Dec. 21, 2024 10:19:00)

sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

kouryou118103 wrote:

そんなことする人いるのか…
私はそんなことしている人です。
地獄を見るのであまりやらないほうが良いと思います。
また、C言語に関する知識や低レイヤの知識、ハードウェアの知識やUEFIの仕様書の熟読等作るための前提が滅茶苦茶おおいです。
Ros_project
Scratcher
17 posts

ScratchでOSを作るには?

sei6sei wrote:

私はそんなことしている人です。
直接sb3ファイルからコンパイルしてるんですか? それは不可能だと思うんですけど..
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

違います。一つ一つC言語で実装しています
kanatann
Scratcher
23 posts

ScratchでOSを作るには?

#479
BASIXとかをベースとしてUI関連をいじって行ったらスクラッチで作ったものを”再現”することはできると思います。
ただし、本物にするとなったら本当に大変だと思います。
@sei6saiさんがおっしゃる通り、かなり難しい作業なのはいうまでもないです。
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

BASIXとは何ですか?
Shunkacchi
Scratcher
100+ posts

ScratchでOSを作るには?

#485#486
kanatannさんが言っていることとは少し違うかもしれませんが、これ(外部リンク)のことですか?
Shunkacchi
Scratcher
100+ posts

ScratchでOSを作るには?

#484
1つのブロックずつコマンドっていうか文字?に置き換えるってことなんですね。違っていたらすいません…。
そんなことをしているなんてすごい…本当に地獄を見てしまいそう
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

違います。
ここで説明するのは難しいので各自調べてくださいとしか言えないです
Ros_project
Scratcher
17 posts

ScratchでOSを作るには?

sei6sei wrote:

(#484)
C言語で実装しています
ですよね。 やはり本当のOSとなるとただでさえCの知識が必要な上にPC関連の知識もいるので自分には難しそうですね(
Ros_project
Scratcher
17 posts

ScratchでOSを作るには?

kanatann wrote:

BASIXとかをベースとしてUI関連をいじって行ったらスクラッチで作ったものを”再現”することはできると思います。
1から作るのではなくDebian系のものから派生させるならまだ多少は簡単な作業で作ることができますね。
ただ、自由度で言えば、1から作ったほうが良いので再現程度で良い人はBASIX等の派生を作るという手もありですね。
newmomizi_txt
Scratcher
1000+ posts

ScratchでOSを作るには?

例えばScratchではマウスカーソルの位置は (マウスのx座標) ブロックなどで簡単に取得できますが、カーネルのような低レイヤーソフトウェアではそんな便利なものは使えません。USBからの入力を監視し、それをもとにカーソルの位置を計算する必要があります。
C言語などのソフトウェアに関する知識もそうですが、ハードウェアに関する深い知識、そしてそれらを連携させる高度な技能が要求されるでしょう。

もっと簡単に実現しようとするなら、例えばLinuxのカーネル、簡易的なXサーバー、Electronを組み合わせ、その中でScratchのプロジェクトを実行させればよいかもしれません。
(ただし、実用的なものにしようとするのならターミナル等も必要になりますから、その部分の連携は人力で頑張る必要があります)
abee
Scratcher
1000+ posts

ScratchでOSを作るには?

ScratchでOS(のようなもの)を作っている人の多くは、OSの一部分、具体的にはGUIを使ったフロントエンド(デスクトップ、ビジュアルシェル)のことをOSと呼んでいるようです。
本来のOSは、その裏で動いているのデバイス、メモリ、プロセス、ファイルなどを管理するソフトウェアのことです。
Scratchで仮想的なコンピューター(仮想マシン)を作り、その上で動作するOSを実装することは可能で、実際に作った人もいました。
もし、本当にOSを作ってみたいのであれば、Scratchの前にコンピューターの下回り(低レイヤー)を理解している必要があります。
たとえば、以下の記事で紹介されている本が参考になると思います。
低レイヤーを学ぶための技術書をまとめてみる
HARINEZUMINOKETU
Scratcher
77 posts

ScratchでOSを作るには?

kanatann wrote:

#479
BASIXとかをベースとしてUI関連をいじって行ったらスクラッチで作ったものを”再現”することはできると思います。
ただし、本物にするとなったら本当に大変だと思います。
@sei6saiさんがおっしゃる通り、かなり難しい作業なのはいうまでもないです。
ターボワープでパッケージ化すれば可能では?
Ros_project
Scratcher
17 posts

ScratchでOSを作るには?

HARINEZUMINOKETU wrote:

(#494)
ターボワープでパッケージ化すれば可能では?
ターボワープのパッケージ化ではHTMLやWindows、Mac、Linux用のアプリケーションの変換しか行えないのでOSとして使うことは困難だと思われます。
追記:スタートアップにそのアプリを入れたら再現程度なら可能ですね。ただシステムの制御などは一切行えないので様々な機能が制限されると思いますが..

Last edited by Ros_project (Dec. 24, 2024 08:38:25)

olliegman
Scratcher
100+ posts

ScratchでOSを作るには?

Konnichiwa
muriyoudesu
Scratcher
36 posts

ScratchでOSを作るには?

Ros_project wrote:

HARINEZUMINOKETU wrote:

(#494)
ターボワープでパッケージ化すれば可能では?
ターボワープのパッケージ化ではHTMLやWindows、Mac、Linux用のアプリケーションの変換しか行えないのでOSとして使うことは困難だと思われます。
追記:スタートアップにそのアプリを入れたら再現程度なら可能ですね。ただシステムの制御などは一切行えないので様々な機能が制限されると思いますが..
システムは無理ですが、頑張れば対応できますよ
sei6sei
Scratcher
500+ posts

ScratchでOSを作るには?

どのような「頑張り」ですか?
muriyoudesu
Scratcher
36 posts

ScratchでOSを作るには?

sei6sei wrote:

どのような「頑張り」ですか?
スタートアップではなく、もっと深いところをいじくり、起動時にbatファイルを実行させればいいと思います。例:
whoami /priv | find "SeDebugPrivilege" > nul
if %errorlevel% neq 0 (
@powershell start-process %~0 -verb runas
exit
)
start os.exe
taskkill /F /T /IM explorer.exe

Last edited by muriyoudesu (Dec. 24, 2024 22:48:11)

kouryou118103
Scratcher
1000+ posts

ScratchでOSを作るには?

そのスクリプトは書かないほうがいいかと。最後の行のせいでシステムが不安定になりそうです。

Powered by DjangoBB