• ベストアンサー

C++でOSを開発したいのですが・・・

C++を学習したので、卒業研究としてC++でOSを開発してみようと思い、C++で開発されたOSはないかと探していたらBayOSというOSASKをC++で書き換えた(アセンブラ部分は除く)OSを見つけたのですが、更新が滞っているようなので、できれば開発がまだ続けられているC++で書かれたOSを見ながら研究の手助けにしたいと思っております。自分ではソースまで公開されているものをみつけることができなかったので、オープンソースでなおかつC++で開発されているようなOSがあれば教えてほしいと思います。よろしくお願いします。ちなみに開発はwindowsで進めていく予定です。

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

  • ベストアンサー
  • akr
  • ベストアンサー率18% (32/173)
回答No.2

No.1様のおっしゃる通りだと思います。 設計思想を学んで、C++で実装すれば、参考にするモノは何で書かれててもあまり関係ないと思います。 それはそれとして、「mona os」は如何でしょうか。 元々2chから開発が始まったOSです。当然日本製ですし、開発もまだ進んでるみたいです。 ドキュメントなんかも揃ってそうだし、コミュニティーのありそうなので相談に乗ってもらえるかもしれないですね。

vcpp_prog
質問者

お礼

返事遅くなってすみません。 回答ありがとうございます。 設計思想からC++で実装するというのが自分にはまだ難しかったのでこのような質問をしてしまいました。 自分で理解できる言語で学ぶと頭に背理やすいのかなと思いまして...「mona os」調べてみました! まだ開発が進んでいて今年も更新がありますね。 いいものを教えていただきありがとうございます。

その他の回答 (2)

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.3

C++のどういった機能を利用したOSを開発したいのでしょうか? 上記のようなこだわりが無ければ、 Cで開発されているOSも十分選択肢に入れてもよいのでは?? Cでは実現できないC++特有の機能にこだわりが無ければ、 CもC++も同じだというのが、私の個人的な思いです。

vcpp_prog
質問者

お礼

回答ありがとうございます。 C++に限ったことではないのですが、開発するにあたってファイルをわけながら、わかりやすくまとまったソースにしていきたいと思っています。 Cだとヘッダファイルに宣言をまとめたりできないし、javaは実効速度が遅いのでOSには不向きというのを聞いてC++を学習しようと思いました。 しかし、おっしゃる通り、Cで書かれたOSをみながらC++で実装していく、ということでしたらCで書かれたものも勉強の題材になりますよね... 視野が狭すぎました。 本当にありがとうございました。

回答No.1

ちなみに、開発言語は、プログラムを具現化する手段なので、C++に拘る理由はありません。 つまり、FORTRANで書かれているプログラムを見つけたら、自分でC++に書き換えれば良いだけ。 大切なのは、仕様とアルゴリズム。 一番勉強になるのは、仕様が公開され、OSとして実用化レベルで完成されているTRONだと思いますが。

vcpp_prog
質問者

お礼

参考になりました。ありがとうございます。

関連するQ&A

  • C言語でPICマイコン開発

    今までずっとアセンブラを使い開発していたのですが、XC8コンパイラ+MPLABで C言語を使い開発したいと思っています。 以下の点について教えていただければ助かります。 ・タイマー割り込みについて アセンブラで書く場合、プリスケーラの設定などから計算して 一回の割り込み内で何命令まで書けるかがわかるため割り込みの最中に 再度割り込みが発生するようなことは避けられますが Cで書く場合はどのように回避するのでしょうか? ・コンフィギュレーションの設定の仕方 アセンブラでは__CONFIG _HS_OSC & _CP_OFF ・・・のように書きますが Cではどのように書くのでしょうか。 C言語はわかるので取っ掛かりの部分がわかれば後はすいすいいけると思うのですが。。。 上記とあわせてお勧めの書籍やページなどがありましたら教えていただけないでしょうか。 よろしくお願いします。

  • C, C++ で開発されたオープンソースのIEツールバーを教えてください。

    C, C++ で開発されたオープンソースのIEツールバーを教えてください。 宜しくお願い致します。

  • JAVAについて学習(開発)

    現在はプログラミングとは無関係の仕事をしていますが、 Javaについて学んでみたくJavaをつかってブラウザ等の ソフトウェアが作れないかと考えています。 (Linux使用の経験もありますが、Windows XP上での開発を考えています。) ・Javaの開発環境(JDKなど...) ・エディタ(秀丸など...) ・初心者がJavaについて学べるサイト ・オープンソース ・その他ツールなど 上記について何方かアドバイスをいただけないでしょうか? Javaについては短大時代に少しかじった程度です。 学生時代に経験したプログラミング言語は BASIC、C、Perl、HTML、アセンブラ、Java (どれも1年未満になります。)

  • iPhoneのアプリ開発詳しい方

    iPhoneのアプリ開発を始めようと思っています。 .netの開発は出来ますがObject-Cに関しては今回初めてです。 資格取得にむけてのアプリ一問一答形式のアプリを作りたいのですが こういった学習アプリのサンプルソースなど公開されているところがあればご教示ください。

  • 開発言語の学習に関して

    私は現在、pythonを学習しています。私は来年、専門学校へ入学する予定なのですが、希望する専門学校で習得できる言語は、java,C,C++,PHP,perlがあります。 私はlinuxカーネルで動作するオープンソースのプログラム(特に、高機能なCUIのセキュリティー関連のプログラム)や組み込みLinuxの開発に興味があるのですが、そういったプログラムを作るにおいて、今の学習も兼ねてどのような開発言語を学べば有効でしょう? (一応、python以外にも、Cの中級(明解C言語の実践編ぐらい)とC++の基礎(オライリー出版のC++入門)ぐらいの理解はあります。)

  • もし仮に5つの言語(Python, Java, C/C++, Perl

    もし仮に5つの言語(Python, Java, C/C++, Perl, LISP、アセンブラ)を学ぶとした場合の学習順序 こんばんは。 もしこの5つを何年かかけて学ぶとした場合、この学習順序をどうおもいますか? ちなみにこの5つの言語は、linuxなどのOSやオープンソースソフトウェアの開発に携わっている方たち(ハッカーの方たち) が、OSや言語開発をするなら学ぶべき言語として主張していました。(クラッカーではなくハッカーです) この方たちがいうには pythonをはじめに学習し、次にjava それからC/C++, Perl, LISP、アセンブラの順番が良いと言っていました。 特にpythonを一番に学び、javaを2番に学ぶべき理由としては↓ まず Python から始めることをおすすめします。設計がきれいだし、ドキュメントもしっかりしているし、初心者にもそこそことっつきやすくできています。でも入門言語として最適でも、おもちゃではありません。強力で柔軟で、大きなプロジェクトにもじゅうぶん対応しています Java もプログラミングを学ぶにはよい言語です。 Python よりはむずかしいですが、できるコードは Python より高速です。二番目の言語としてはとてもすぐれていると思います。 本気でプログラミングをするなら、C を勉強するしかありません。これは Unix の中核となる言語です。C++ は C と密接な関係にあります。片方を知っていれば、もう片方を学ぶのはそんなにむずかしくありません。が、どっちも真っ先に勉強しようとするのには向いた代物ではありません。 それ以外に Perl と LISP があります。Perl は実際的な意味からも勉強しておく価値があります。アクティブ Web ページやシステム管理にとても広く使われているからです。自分では Perl を使わなくても、読めるようにはなっておきましょう。LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。たとえ、実際には LISP そのものをあまり使わなくても。 さらに、visualbasicやC#などはやめた方が良い。と主張しています。↓ ウィンドウズの下でハッキングを学ぶのを、拘束衣を着て踊りを学ぶのに例えたのは、あれは冗談じゃないんですよ。 Visual Basic や C# にはそれぞれ個別に問題があります。その大きなものは、移植性がないことです。マイクロソフトの独占言語だというだけで、もうすでに失格ですし、ほかの Basic と同じく言語としての設計もまずく、悪いプログラミングの習慣が身についてしまいます。 足りなかったのでこちらに。 みなさんはこの順序や考えについてどうおもいますか? 本当にpythonは最初に適した言語なのでしょうか? 長文になってしまい申し訳ありません。 できればひとりでも多くの技術者の意見が聞きたいです。なんでもかまいません。 もし良ければ回答お願いします。

  • C++の統合開発環境について

    質問させていただきます. 私、大学四年生で卒業研究の為にC++のアプリケーションを組もうと思っています. そのC++の統合開発環境についてなのですが... 私の家のパソコンは、windowsです.そして、研究室のパソコンはMacです. 研究室だけでなく、家でも作業を進めたいので、IDEをそろえたい、または互換性のある環境に整えたいと思っています. そして、私の研究にはCERNのROOTというC++のライブラリ群を使いたいと思っています. IDEをふかく使い込んだ事がないので、今の印象だと Visual Studio : CERNがROOTを使った開発において、推奨しているIDE です. インクルードパスの追加などが楽なのでぜひともこれを使いたいが、Macには非対応なので研究室で使う事はできません. Eclipse&Netbeans:C++に対応しているみたいですが、実際の使い心地についてはわかりません.ただ、Macでもこれら二つは使えるので、家と研究室の双方で使用できると思います. Netbeansはインクルードパスの追加がVisualStudioやEclipseよりも面倒な印象があります. 少々わがままな要望だとはおもいますが、私の望みにあうような環境を整える為にはどのようにすればよいと思いますか? ご意見をお待ちしております.

  • LINUXでC++開発する方法を教えてください。

    Windows上でVisual C++にて開発した経験があるのですが、LINUXは初心者です。 LINUX(RedHat5.2)上でC++を使いCUIプログラムを開発する方法を教えてください。 できれば有料の開発ツールを使わずにOS付属でないのでしょうか?

  • Cとアセンブラ

    プログラミングの初心者です。 SH-2を使って、デジタルフィルタを作りたいと思います。 開発環境はベストテクノロジーのGCC Developer Lite です。 フィルタ部分はアセンブラ、 フィルタ演算結果のSCI出力はCで記述したいと思いますが このようにアセンブラとCを混在させるにはどうすればよいのでしょうか? よろしくお願いいたします。

  • PICプログラム C言語とアセンブラ言語

    PIC18シリーズを使用して、プログラミングをしています。コンパイラはCCS-Cです。今まではすべてC言語で書いてきたのですが、アセンブラでしか設定ができない部分があり、今までのC言語のソースに加えてアセンブラを組み合わせようと思っているのですが、C言語とアセンブラを組み合わせることは可能なのでしょうか?