• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:簡単なOSを作りたい)

簡単なOSを作りたい

このQ&Aのポイント
  • 簡単なOSを作りたい。現在の既存のOSでは必要な機能を制限することが難しいため、自分でOSを作ろうと考えている。Linuxカーネルを使用すべきかどうか迷っている。プログラム専用のOSを実現するための勉強方法を教えてほしい。
  • OSについてほとんど知識のない者が簡単なOSを作りたいと考えている。既存のOSでは必要な機能の制限が難しいため、自分でOSを作ろうと考えている。Linuxカーネルを使用するべきかどうか迷っている。プログラム専用のOSを実現する方法を教えてほしい。
  • 簡単なOSを作りたい。既存のOSでは必要な機能の制限が難しいため、自分でOSを作ろうと考えている。Linuxカーネルを使用するべきかどうか迷っている。プログラム専用のOSを実現する方法を教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.9

「OSについてほとんど知識が無い」 けれど 「windowsやmac等の既存のOSでは堅牢性が高く  そのプログラムにとってそういう強さはむしろ邪魔」 なので 「自分でOSを作るしかない」 と判断しているところが、性急すぎる気がします。 実際には、OSで提供している機能なのに、それを知らないだけという可能性はないでしょうか。 たとえば、例えば、ローカルの画像ファイルを一括で アップロードするアプリを作りたいとしたとき 通常のブラウザでは、セキュリティーの観点からサーバーサイドからやブラウザ上のJavaScriptを使って ローカルの任意のファイルへのアクセスは禁止しているので、このままでは実現できません。 (OSが禁止しているのではなく、ブラウザが禁止している点が重要) しかし、OSとしては、ローカルファイルへのアクセスは当然できるのですから Webアプリでなく、専用のデスクトップアプリやアプレットを用意することは可能ですし、 出まわっているftpクライアントや、クラウド同期系のツールでも実現可能です。 #家族が6人だが、6人乗りの自動車がないからといって、 #自分で車を作ったり、市販車を6人乗りに改造する人はまずいません。 #セダンでなく、ワゴン車を使えばよいということに気がつけば、 #あとは7人乗以上のワゴン車の座席を余らせるだけのことです。 つまり、見直すのは、OSそのものではなくて、アプリの実現方法とOSの選択です。 時間がないというのなら、なおさらです。 現状のOSでは ○○の制限があって、△△の機能が実現できないということを明確に明示さえすれば、 それの回避策を多角的に考えられるので、最適な方法が見つかると思われます。 「どうしても自作OSの上で動かしたい」っていうだけだと、「じゃそうすれば」としかいいようがないですから。 逆に、アプリの話はどうでもよくて、 自作OSというものに 興味もたれているのでしたら、別の話ですが・・・ (それならそれで、時間をかけてゆっくりやるしかないでしょう)

puntero
質問者

補足

実は「作りたいプログラム」もどうやって作ればいいかわからない状態です。 ただ抽象的な概念のようなものが頭の中にあるだけで具体的にどう作ればいいのか全然わかりません。 ただ言えることは、そのプログラムは乱暴な挙動をするかもしれないのでOSがセキュリティ上その動きを止めてしまうのではないかということです。 なので、そのプログラム専用のOSが必要かなと思い今回質問しました。

その他の回答 (11)

  • syun1015
  • ベストアンサー率0% (0/1)
回答No.12

Linuxディストリを使えば手っ取り早いと思います。例えばPeriやjavaは開発がしやすくなっているディストリビューションもたくさんあります。pollixというでぃすとりもいいと思いますよ。 以下、らいぶCDの部屋より。 >>> Plollixは開発用のツールを満載したデベロッパー向けの1CDLinux. >>>インストールされている統合開発ツールおよび開発用の実行環境は、 >>>J2SE SDK, Jikes, Netbeans, Eclipse, BlueJ, JGrasp, JSwat, Tomcat, JBoss, Boa- >>>Constructor, IDLE, SPE, VisualTcl, SWIG, >>>>>>SciTE,...etc. >>>ウィンドウマネージャーにはIceWMを採用し、動作は軽快であり、 >>>ドキュメント作成のためにOpenOfficeまで装備しています. >>>1枚のCDを持ち歩けばどこでも作業ができ、 >>>プログラマーには重宝するでしょう(笑い).

参考URL:
http://simosnet.com/livecdroom/index.html#pollix
回答No.11

> 実は「作りたいプログラム」もどうやって作ればいいかわからない状態です。 > ただ抽象的な概念のようなものが頭の中にあるだけで具体的にどう作ればいいのか全然わかりません。 ということでしたら、仕様と 概略のフローを一旦 絵にしてみて、 その上で、 OSや アンチウィルスソフト が ブロックしそうな項目を洗い出してみることを お勧めします。 実際には、既存のOSでも 設定や使い方で回避できるものが多々あるでしょうから、 その上で 本当に専用のOSがいるのかどうかを判断するべきです。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.10

linux,FreeBSD,FreeDOSを利用するのが手軽だと思いますよ。 オリジナルのOSを作ったところで、まずそのOSを作る手間。 そのOSで動作するプログラムを開発するためのクロス開発環境を作る手間。 (そのOS上で動作する開発環境でもよいでしょうが) そして時間がないということからすると、 失礼ですが、あなたの手には負えないと思われます。 そもそも危惧されている堅牢性はどのような事なのでしょうか。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.8

>そこで質問ですが、カーネルはlinuxカーネルを使ってもいいでしょうか? 良いんじゃない。 Linuxカーネルは元々無料配布する目的で作成されたものです。 他にFreeBSDもソースコードが公開されていると思いますので、それを読んでみると良いでしょう。 >本来なら書籍やネットで地道に調べるべきなんでしょうが時間がありません。 それだけ急ぎなら現時点で無理な要望と思います。 現在、フリーで使えるOSはLinuxとFreeBSD位でしょう。 特にLinuxは公開されているカーネルを使ってディストリビューションを自由に配布して良いことになっているようですから応用するのに最適と思います。 あなた独自のプログラムを他のコンピュータで作成し、コンパイル後に運用マシンで動作テストされると良いでしょう。 カーネルのソースコードを入手できるサイトはご自身で探してください。

  • yakan9
  • ベストアンサー率54% (2251/4143)
回答No.7

> ユーザーとコンピュータの入出力はそろほど重要ではありません。 > あくまでそのプログラムの挙動が見れればいいので。 もっと簡単なプログラムのようですね。 「今の状態は」、というコマンドを出し、「こんな状態です」ともらったメッセージをディスプレイに出力するだけですか。 「今の状態は」、OSのあるテーブルを参照すれば分かるものであれば、「マスタモード」設定して、参照して、その「コード」を「テーブル」化しておき、検索して、説明文を出すだけの仕様になります。 SEとは、客先要求を如何にコンピュータ化するかの手段、しくみを「経験と知恵」で、具体的に構築する仕事です。

puntero
質問者

補足

そうですね。 僕が観察するための入出力です。 あとSEの件はどういうことでしょうか?

  • yakan9
  • ベストアンサー率54% (2251/4143)
回答No.6

> とにかく特定のプログラム専用のOSです。 > それに最低限必要な機能(とキーボード・マウス・ディスプレイの入出力)以外無用です。 > どうすれば実現できるでしょうか。 この程度のプログラム制御は、OSとは言わないで、I/Oインターフェース制御とでもいう部分をプログラムコーディングするだけだと思います。 1.プログラム開発言語を決定する。 →C++とかです。 2.処理フローを立案する。 →俗に言う、「基本設計書」 3.コーディング、デバッグツール、単体テスト、総合テスト、製品受け入れテスト等の仕様書作成。 大体こういった流れになるかと思います。 このときの基本的なことは、I/O制御をマルチタスク制御にするのか、シングルタスクにするのかで、内部制御プログラム設計が大きく変わってきます。 マルチタスク制御のための、リエントラントルーチンの保証や、シリアルリユーザブルルーチンの保証のどちらを採用するかといった問題が発生します。

puntero
質問者

補足

入出力に関する説明が悪いのか僕の認識が違うのかわかりませんが、ユーザーとコンピュータの入出力はそろほど重要ではありません。あくまでそのプログラムの挙動が見れればいいので。

  • 486HA
  • ベストアンサー率45% (1013/2247)
回答No.5

今から30年以上前、パソ・コンという言葉もなくワン・ボード・マイ・コンの時代にはOSなどという物もなく キー・ボード・スキャン、ビデオ・コントローラーやIOコントローラーなどハードもコントーロール・プログラムも自作していました。  当時はハード・ウェアの構成も限られていましたが、現在のPCの構成でOSを一から自作することに要する知識と技術は 例えて言えば犬小屋作りと大邸宅建設と比較するようなものです。 :>そういった場合どのように勉強をすればいいでしょうか?   何をしたいか、どのようなハード・ウェア構成にするか、どのように制御すべきかを想定しておくことが肝要です。 :>とにかく特定のプログラム専用のOSです。  特定のプログラムのためなら必ずしもOSは必要ではありません。 WindowsOSやLinuxカーネル自体がプログラムそのものです。

puntero
質問者

補足

どうしてもOSの上に乗せたいんです。

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.4

FreeDOSを使うのを検討されるといいと思います。 MS-DOS用のコンパイラやアセンブラはまだ入手可能でしょう。 http://ja.wikipedia.org/wiki/FreeDOS どのようなプログラムを作ろうとしているのかは判りませんが、 OSを作るってことは開発環境まで含めて必要になることを失念していませんか? x86のオブジェクトを直にコーディングできる達人なら開発環境なんて要らないでしょうけど。

puntero
質問者

補足

開発環境等はつまりコーディングするコンピュータということですか?今使ってるwindowsじゃダメでしょうか?

回答No.3

PC-DOSを使ったら?(今のパソコンで使えるのかな?)

puntero
質問者

補足

DOSですか。調べてみようと思います。ありがとございます。

回答No.2

時間がないのなら諦めましょう。 >最低限必要な機能(とキーボード・マウス・ディスプレイの入出力)以外無用です。 これだけ自作するのにどれだけ時間がかかるか考えたことがありますか。 こういった物に時間や労力を取られないためにあるのがOSです。

関連するQ&A

専門家に質問してみよう