Discuss Scratch
- Discussion Forums
- » 日本語
- » ScratchでOSを作るには?
- kouryou118103
-
Scratcher
1000+ posts
ScratchでOSを作るには?
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を作るには?
そんなことする人いるのか…私はそんなことしている人です。
地獄を見るのであまりやらないほうが良いと思います。
また、C言語に関する知識や低レイヤの知識、ハードウェアの知識やUEFIの仕様書の熟読等作るための前提が滅茶苦茶おおいです。
- Ros_project
-
Scratcher
17 posts
ScratchでOSを作るには?
私はそんなことしている人です。直接sb3ファイルからコンパイルしてるんですか? それは不可能だと思うんですけど..
- kanatann
-
Scratcher
23 posts
ScratchでOSを作るには?
#479
BASIXとかをベースとしてUI関連をいじって行ったらスクラッチで作ったものを”再現”することはできると思います。
ただし、本物にするとなったら本当に大変だと思います。
@sei6saiさんがおっしゃる通り、かなり難しい作業なのはいうまでもないです。
BASIXとかをベースとしてUI関連をいじって行ったらスクラッチで作ったものを”再現”することはできると思います。
ただし、本物にするとなったら本当に大変だと思います。
@sei6saiさんがおっしゃる通り、かなり難しい作業なのはいうまでもないです。
- Ros_project
-
Scratcher
17 posts
ScratchでOSを作るには?
(#484)ですよね。 やはり本当のOSとなるとただでさえCの知識が必要な上にPC関連の知識もいるので自分には難しそうですね(
C言語で実装しています
- Ros_project
-
Scratcher
17 posts
ScratchでOSを作るには?
BASIXとかをベースとしてUI関連をいじって行ったらスクラッチで作ったものを”再現”することはできると思います。1から作るのではなくDebian系のものから派生させるならまだ多少は簡単な作業で作ることができますね。
ただ、自由度で言えば、1から作ったほうが良いので再現程度で良い人はBASIX等の派生を作るという手もありですね。
- newmomizi_txt
-
Scratcher
1000+ posts
ScratchでOSを作るには?
例えばScratchではマウスカーソルの位置は (マウスのx座標) ブロックなどで簡単に取得できますが、カーネルのような低レイヤーソフトウェアではそんな便利なものは使えません。USBからの入力を監視し、それをもとにカーソルの位置を計算する必要があります。
C言語などのソフトウェアに関する知識もそうですが、ハードウェアに関する深い知識、そしてそれらを連携させる高度な技能が要求されるでしょう。
もっと簡単に実現しようとするなら、例えばLinuxのカーネル、簡易的なXサーバー、Electronを組み合わせ、その中でScratchのプロジェクトを実行させればよいかもしれません。
(ただし、実用的なものにしようとするのならターミナル等も必要になりますから、その部分の連携は人力で頑張る必要があります)
C言語などのソフトウェアに関する知識もそうですが、ハードウェアに関する深い知識、そしてそれらを連携させる高度な技能が要求されるでしょう。
もっと簡単に実現しようとするなら、例えばLinuxのカーネル、簡易的なXサーバー、Electronを組み合わせ、その中でScratchのプロジェクトを実行させればよいかもしれません。
(ただし、実用的なものにしようとするのならターミナル等も必要になりますから、その部分の連携は人力で頑張る必要があります)
- abee
-
Scratcher
1000+ posts
ScratchでOSを作るには?
ScratchでOS(のようなもの)を作っている人の多くは、OSの一部分、具体的にはGUIを使ったフロントエンド(デスクトップ、ビジュアルシェル)のことをOSと呼んでいるようです。
本来のOSは、その裏で動いているのデバイス、メモリ、プロセス、ファイルなどを管理するソフトウェアのことです。
Scratchで仮想的なコンピューター(仮想マシン)を作り、その上で動作するOSを実装することは可能で、実際に作った人もいました。
もし、本当にOSを作ってみたいのであれば、Scratchの前にコンピューターの下回り(低レイヤー)を理解している必要があります。
たとえば、以下の記事で紹介されている本が参考になると思います。
低レイヤーを学ぶための技術書をまとめてみる
本来のOSは、その裏で動いているのデバイス、メモリ、プロセス、ファイルなどを管理するソフトウェアのことです。
Scratchで仮想的なコンピューター(仮想マシン)を作り、その上で動作するOSを実装することは可能で、実際に作った人もいました。
もし、本当にOSを作ってみたいのであれば、Scratchの前にコンピューターの下回り(低レイヤー)を理解している必要があります。
たとえば、以下の記事で紹介されている本が参考になると思います。
低レイヤーを学ぶための技術書をまとめてみる
- HARINEZUMINOKETU
-
Scratcher
77 posts
ScratchでOSを作るには?
#479ターボワープでパッケージ化すれば可能では?
BASIXとかをベースとしてUI関連をいじって行ったらスクラッチで作ったものを”再現”することはできると思います。
ただし、本物にするとなったら本当に大変だと思います。
@sei6saiさんがおっしゃる通り、かなり難しい作業なのはいうまでもないです。
- Ros_project
-
Scratcher
17 posts
ScratchでOSを作るには?
(#494)ターボワープのパッケージ化ではHTMLやWindows、Mac、Linux用のアプリケーションの変換しか行えないのでOSとして使うことは困難だと思われます。
ターボワープでパッケージ化すれば可能では?
追記:スタートアップにそのアプリを入れたら再現程度なら可能ですね。ただシステムの制御などは一切行えないので様々な機能が制限されると思いますが..
Last edited by Ros_project (Dec. 24, 2024 08:38:25)
- muriyoudesu
-
Scratcher
36 posts
ScratchでOSを作るには?
システムは無理ですが、頑張れば対応できますよ(#494)ターボワープのパッケージ化ではHTMLやWindows、Mac、Linux用のアプリケーションの変換しか行えないのでOSとして使うことは困難だと思われます。
ターボワープでパッケージ化すれば可能では?
追記:スタートアップにそのアプリを入れたら再現程度なら可能ですね。ただシステムの制御などは一切行えないので様々な機能が制限されると思いますが..
- muriyoudesu
-
Scratcher
36 posts
ScratchでOSを作るには?
どのような「頑張り」ですか?スタートアップではなく、もっと深いところをいじくり、起動時に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)