C言語を半年ほどしかしてない初心者です。
CUIを多少作れる程度でまったく知識はないのですが
C言語でのOS開発をしてみたいです。
まったく何をやればいいのかわからないので、
まず覚えるべきことや関連書籍などを教えてもらえるとありがたいです。
C言語でOS
Re: C言語でOS
一応、ドンピシャな本がありますので紹介しておきます。
30日でできる! OS自作入門
僕も少し関わった本ですから、宣伝みたいになってしまって申し訳ありません(僕には一銭もお金は入りませんが)。
僕が関わったことを抜きにしても、この本は「実際にOSを作ってみたい!」という要望に対して、とても良く答えてくれていると思います。
完成形をどんと示してから各部の解説をするのではなく、最初から(本当に最初から。C言語の知識が無い段階から)OSの作り方を指導してくれます。
最終的には、フロッピー1枚から(またはフロッピーをエミュレートしたCDから)起動し、32ビットで動作し、マルチタスクもあり、ウィンドウシステムもあるOSを作ることができます。
30日というのは、単に30章から構成されているというだけなので、本当にまじめにやると30日ではできませんが、学習量がとても多いので仕方ないでしょう。
30日でできる! OS自作入門
僕も少し関わった本ですから、宣伝みたいになってしまって申し訳ありません(僕には一銭もお金は入りませんが)。
僕が関わったことを抜きにしても、この本は「実際にOSを作ってみたい!」という要望に対して、とても良く答えてくれていると思います。
完成形をどんと示してから各部の解説をするのではなく、最初から(本当に最初から。C言語の知識が無い段階から)OSの作り方を指導してくれます。
最終的には、フロッピー1枚から(またはフロッピーをエミュレートしたCDから)起動し、32ビットで動作し、マルチタスクもあり、ウィンドウシステムもあるOSを作ることができます。
30日というのは、単に30章から構成されているというだけなので、本当にまじめにやると30日ではできませんが、学習量がとても多いので仕方ないでしょう。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C言語でOS
MS-DOSの様なものを作るとか、Shellだけでも作るとか、マイコンのモニタプログラムを作るとか勉強の方法はありますが、どの程度のものを作りたいのでしょうか?
とりあえず、GUIを中心としたOSの入門書を紹介します。。OSとしては色々抜けていますが、OSがどうやって出来ているのか基礎の基礎部分は理解できるかなと思います。
「マイナビ ブックス - 30日でできる! OS自作入門」
http://book.mycom.co.jp/book/4-8399-198 ... 84-4.shtml
あれ?beatleさん、hariboteOS に関わってたんですか。
難しい内容だと、こちらになります(高難度)
「Amazon.co.jp: モダン オペレーティング システム 原書 第2版: Andrew S.Tanenbaum, 水野 忠則: 本」
ついでにマイコン用のOS。原理を理解するには、こちらも良いかも知れません。
「Amazon.co.jp: 12ステップで作る組込みOS自作入門: 坂井 弘亮: 本」
H8シミュレータで動くと思うので、たぶん実物のマイコンは不要です。
[補足] H8/3069ターゲットなので、H8/3048エミュレータでは動かないかも。
とりあえず、GUIを中心としたOSの入門書を紹介します。。OSとしては色々抜けていますが、OSがどうやって出来ているのか基礎の基礎部分は理解できるかなと思います。
「マイナビ ブックス - 30日でできる! OS自作入門」
http://book.mycom.co.jp/book/4-8399-198 ... 84-4.shtml
あれ?beatleさん、hariboteOS に関わってたんですか。
難しい内容だと、こちらになります(高難度)
「Amazon.co.jp: モダン オペレーティング システム 原書 第2版: Andrew S.Tanenbaum, 水野 忠則: 本」
ついでにマイコン用のOS。原理を理解するには、こちらも良いかも知れません。
「Amazon.co.jp: 12ステップで作る組込みOS自作入門: 坂井 弘亮: 本」
H8シミュレータで動くと思うので、たぶん実物のマイコンは不要です。
[補足] H8/3069ターゲットなので、H8/3048エミュレータでは動かないかも。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: C言語でOS
ハード関係やOSをやすやすと理解できたら苦労しないのですが、地道にやっていけば楽しめると思います。ponta さんが書きました:GUI中心のものをつくりたいと思っています。
またC言語の基礎しか理解してなくても
やすやすと本の内容を理解できるものでしょうか?
たぶん未知の用語や概念が出てくること思いますが、ここで質問してもらえば良いかと。
「30日でできる! OS自作入門」なら私も本を持ってます(まだちゃんと読んでいないが・・・)し、beatleさんも詳しいようです。
あと、ここのフォーラムに専用のコミュニティもありますので詳しい人も何人かいます。
「自作OS製作(GUI入門)[雑談] • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewforum.php?f=92
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
ponta
Re: C言語でOS
ご意見ありがとうございます
いろいろ調べてみたのですが
「amazon:自分で作るLinux OS (日経BPパソコンベストムック)」
http://www.amazon.co.jp/%E8%87%AA%E5%88 ... 647&sr=1-1
このような本を見つけました、Linuxにも興味があったのですが参考になるのでしょうか?
また、そのOS上で動くソフトウェアも作ってみたいです。
それもC言語で作れるでしょうか?
何度も質問をしてすみません
いろいろ調べてみたのですが
「amazon:自分で作るLinux OS (日経BPパソコンベストムック)」
http://www.amazon.co.jp/%E8%87%AA%E5%88 ... 647&sr=1-1
このような本を見つけました、Linuxにも興味があったのですが参考になるのでしょうか?
また、そのOS上で動くソフトウェアも作ってみたいです。
それもC言語で作れるでしょうか?
何度も質問をしてすみません
Re: C言語でOS
「自分で作るLinux OS」の表紙をぱっとみただけですが、これは単にLinuxカーネルを自分でコンパイルして、自分用にカスタマイズしたLinuxを組み立てよう、っていう内容です。
一からOSを作るんではなくて、極端に言えば他人が作ったOSをちょっと設定をいじってコンパイルし直すだけです。
それで満足でしょうか?
OSを作る参考にはならないと思いますよ。Linuxを扱う技術は養えるでしょうけど。
OS自作入門で作成する「Haribote OS」に関していえば、その上で動くアプリの作り方も本の中で解説されています。もちろんC言語で作ることができます。
基本的に、OSを書く言語とアプリを書く言語は独立です。
一からOSを作るんではなくて、極端に言えば他人が作ったOSをちょっと設定をいじってコンパイルし直すだけです。
それで満足でしょうか?
OSを作る参考にはならないと思いますよ。Linuxを扱う技術は養えるでしょうけど。
OS自作入門で作成する「Haribote OS」に関していえば、その上で動くアプリの作り方も本の中で解説されています。もちろんC言語で作ることができます。
基本的に、OSを書く言語とアプリを書く言語は独立です。
Re: C言語でOS
ちなみにですが、OS自作入門の誌面で作り方を紹介してあるアプリには
- bball(beautiful ball の略だったと思いまうs)
- インベーダ
- コマンドライン計算機
- テキストビューア
- MMLプレイヤ
- 画像ビューア