BBS
荒らし
ヒデ (2010-05-19 (水) 23:50:27)
あんまり荒らされるので、一時的にフォームを消します。
- 面倒だから、とりあえず放置。 -- ヒデ
- コメントフォームも一時的に消します。 -- ヒデ
プログラムを組む上で常に頭においておくこと
ヒデ (2010-04-06 (火) 23:02:44)
プログラムを組む時は、いつも次のことを考えましょう。
- バグを生まない。
バグが発生しにくいような構造を考えるなどして、極力バグを無くしましょう。
- 処理速度を追求する。
最適だと思っていても実際には遅かったりします。
ループ内で重い処理を書かないようにしたり、機械語命令の内部動作まで考慮した(最適化という)ソースを書くようにしましょう。
- 可読性を考慮する。
見にくいソースは保守性を下げるだけでなく、思わぬところでバグが生まれたりします。
言語知識を深めて、スマートなソースを記述するだけで可読性が高まります。
- 保守性を考慮する。
いつ見てもすぐに理解できるように、難解なアルゴリズムにはコメントを書いたり、スマートなソースを記述しましょう。
機能を明確にするために関数分割やファイル分割をしたり、しっかりした設計も保守性を向上させるかもしれません。
1年生のみなさん、初めまして。
ヒデ (2010-02-18 (木) 23:34:06)
どうも、OS部 部長(<-あまりこの肩書は好きじゃない。。)のヒデこと佐合秀昭です。
2,3人程度だと思っていたら、結構興味をもっているひとがいて驚きました。
ここが、OS部のコミュニケーションサイトです。
主に、データの置き場、各種メモなどに利用しています。
ソースや、設計書なども置いてあるので、ぜひ見てみてください。
もし、見てくれていたら、簡単に返信をください。
- 竹中康弘と申します。よろしくお願いします。忙しい時期に見学の場を設けていただき、ありがとうございます。 -- 竹中?
- おっ、さっそくありがとう。今日は任天堂の会社説明会で大阪に行ってきました。とんぼ返りで。。
自分は常に忙しいので、気にしなくていいですwwいつまでも待たせるわけにはいかないので。 -- ヒデ
- 今月はちょっと都合が悪いので、木曜日はお休みです。3月8日に就職作品プレ発表会があるので、またその時に見にきてください。それまでに案内のプリントとか用意しておきます。 -- ヒデ
ソースリストの印刷
ヒデ (2010-01-30 (土) 20:16:58)
ソースリストの印刷に使えるアプリケーション
- ConcatPrint
- 複数のファイルを一括印刷できるファイル。
下位ディレクトリも探索してくれるのでありがたい。
文字コードがs-jisとeucのみなのがつらい。
- KanjiTranslator
- 文字コード変換。全部utf-8なので、s-jisかeucに変換する。たまに変換できない文字が入ってる場合があるらしい。
やってみた結果、
全部で497枚になった\(◎o◎)/!(改ページ)
とても家では印刷できません。。
久々に。
ヒデ (2010-01-26 (火) 00:50:51)
久々にBBSに書き込みます。
今やりたいこと。
主にC++の機能についてなんですが、
- グローバルでも、newでもコンストラクタを呼び出すこと。
- 仮想関数を正常に動かすためのライブラリ?の実装。
っていうか、できる範囲でC++のライブラリを実装したい。newとか。
- Cの標準ライブラリをLinuxからいただく。goライブラリはてきとーなものが多かったので、OSに依存しないものを集めたライブラリがあるといい。
- APIをどういう扱いにするかという考察。OSもアプリも同じものを参照したいところ。でも、システムコールとか絡むと厄介なので(例えばnewとか)、ん~。。。
- シングルトンをやってみたい。
ライブラリのコンパイルエラー。
ヒデ (2009-07-10 (金) 00:06:46)
とりあえず、ライブラリをコンパイルするときに、g++でコンパイルすると、エラーがでました。
gccでコンパイルしても、警告が。
次のソースは、g++でのコンパイルエラー。
sprintf.c: In function ‘int sprintf(char*, const char*, ...)’:
sprintf.c:11: error: ‘__builtin_stdarg_start’ was not declared in this scope
で、次のソースが、gccでのコンパイル警告。
sprintf.c: In function ‘sprintf’:
sprintf.c:11: 警告: implicit declaration of function ‘__builtin_stdarg_start’
sprintf.c:11: 警告: ‘ap’ is used uninitialized in this function
- 調べてみたけど、確かに、__builtin_stdarg_startっていう関数はない。なぜgccで通るのかは不明。。 -- ヒデ
- 関数名が変わったんだろうか。。__builtin_va_startっていうのにしたら、とりあえず動いた。ビルトイン関数って? -- ヒデ
- __builtin_va_startは、コンパイラにそういうのが用意してあるんかなぁ? -- ヒデ
- 修正版をアップしました。Projects/Daemon/ヒデ? 1.0.21です。 -- ヒデ
- gcc4.4.0のヘッダを調べたら va_listが__builtin_stdarg_start -- freekus?
- 上でなくて、__builtin_va_startで定義されてた. -- freekus?
- なのでststarg.hのva_listの定義を修正してください。 -- freekus?
- BBSにstdarg.hの修正版をアップしました -- freekus?
USB関連の本。
ヒデ (2009-06-22 (月) 01:20:13)
組み込み機器へのUSBホスト実装技法
日本語フォント!!!
ヒデ (2009-05-22 (金) 01:41:25)
日本語フォント発見!!
なんと、ソース付きですよ!!
その名も、“モナーフォント”!!
いや、知ってるか。アスキーアートのためのフォントです。
たまには2chも役に立つなww
sprintf動いた!!
freekus? (2009-05-14 (木) 00:51:11)
やっとsprintf
- sprintfが動いた。これで標準関数が使えるようになった。 -- freekus?
- やった!これで、飛躍的にOS開発が進みますね!いつでもいいから、暇なときはきてくださいね! -- ヒデ
来年度
ヒデ (2009-03-25 (水) 11:15:19)
来年度から、SNKという会社の人が月1くらいで教えてくれるかもしれないそうなので、みんな頑張ろう!
- 訂正。SNK->NSK(日本システム開発) -- ヒデ
春休み終了。
ヒデ (2009-03-16 (月) 23:51:44)
さて、HEWも終わって長いこと春休みをとってしまいました。。
(ずっとFFXをやってた。泣いたwwいやぁ長かった。。)
で、長い春休みを終わりにして、OS製作再開します。
たぶん、4月入ったらすぐ授業が始まってしまうので、今月中にいろいろやりたいなぁ。
・主な研究事項
■HDDやFDDの制御
組み込みの授業でハードウェアを触ったので、ヒデもfreekusもわかるはず。
■ファイルシステム
独自のファイルシステムもいいけど、NTFSとかに対応したほうがそれらしいものができるんじゃないかな?
■アプリケーション・API・デバイスドライバ
まぁ、アルゴリズムですね。
マルチタスクにするので、いろいろ考えることが必要。
できればexeやWindows用のドライバが使えるようになるといいです。
etc...
- ファイルシステムは、NTFSを調べてみて、独自に考えたファイルシステムを作りましょう。 -- ヒデ
- まぁなにはともあれディスクからデータが読めないと話にならんので、とにかくそこをなんとかしよう。 -- ヒデ
Experiment2
ヒデ (2009-03-10 (火) 23:39:55)
Experiment2プロジェクト始動しました。
夏休みまでにはファイルシステムくらい実装したいので、よろしく。
ちゃんとみんなで頑張りたいです。。
- とりあえず、一度集まって、会議をしたいねぇ -- ヒデ
ソース
freekus? (2009-02-06 (金) 19:08:52)
Source部分だけアップしました次は何をしますか?
- さて、どうしますかね。。今、メモリ管理とタスクシステムを作ってます。あとは、ウィンドウシステムとかコンソール(多分無理)とか。。とりあえずマウスの割り込みもやっといてもらえると。。 -- ヒデ
- とりあえず、データはProjectsのExperimentにあげてください。 -- ヒデ
- 最新版拝見。とりあえずはマウスの割り込みでもやろうかな -- freekus?
キーボードの割り込み完成
freekus? (2009-02-05 (木) 00:18:39)
キーボード割り込み完成しました
レゴウェイ、アップしましたよ~
ヒデ (2009-02-02 (月) 22:09:21)
レゴウェイ、アップしましたよ~。
しんどー
ヒデ (2009-01-23 (金) 23:36:49)
いろいろ調べることがあって、なかなか進みませんが、ここにきて、さらに調べることが。。
"標準関数の壁"・・・
移植するか、自作するか。。
本当は、自作なんてしてる暇はないんだけど、移植も移植で大変そうだし。。困った。。
でも、可変引数とかは調べる価値ありかも。
旅行キャンセル?
ヒデ (2009-01-12 (月) 10:50:30)
成田くんが欠席になって、前田さんも就活で忙しそうなので、お流れになるかも。。
- まだキャンセルしてないけど、お流れにします。野沢行きたかった。。 -- ヒデ
あけましておめでとうございます
freekus? (2009-01-03 (土) 16:30:32)
「gas」から「C++」の呼び出しと「C++」で「gas」の使用ができました。
これで「naskfunc」みたいにアセンブラで関数を書かなくてもC++ですべて出来きそうです。
あとFedora10インストールしました~
あけましておめでとう
ヒデ (2009-01-01 (木) 15:57:21)
あけましておめでとうございます。
今年もよろしくどうぞ。
1ファイルに1関数しか書けなかった問題
ヒデ (2008-12-18 (木) 00:02:22)
以前、1ファイルに1関数しか書けませんでした。
で、ブートローダやプロテクトモードからちゃんとやり直し、いろいろ勉強した結果、
おそらく、スタック領域をオーバーフローしてしまったんじゃないかと。(推測)
関数呼んでないのに、それが関わってくるのが意味不明。
関数は何回呼んでも、スタックがどんどん増えることはないはずなんだけど。。。
- キタキター!ようやくちゃんと動くようになったよ! ブートローダのBIOS使って読み込むところが間違ってました。 -- ヒデ
晃くんのプログラミング入門
ヒデ (2008-12-16 (火) 17:04:41)
http://www.geocities.jp/gguyjp/
諸岡先生のサイト?です。
ようやく。。
ヒデ (2008-12-13 (土) 23:07:59)
ようやくプロテクトモードの移行が終わりそうです。
かなり軽く見てました。すみませんm(__)m
成田くんには悪いことしたなぁと思いつつも、ここ最近ずっとブートローダをがんばってました。
そして、またさらにスキルアップした気がする。
あと、Experimentの005_00から構成が変わったので、見といてくださいな。
結局、ディレクトリ構成は、Makefileの作り方次第だから、Makefileがわかれば理解できるはず。
C#のクラスライブラリィ
諸岡? (2008-12-10 (水) 02:06:37)
再度チャレンジ!
C#のクラスライブラリィの作り方
諸岡? (2008-12-06 (土) 19:27:26)
簡単なサンプルと使い方を圧縮したんだけど、どうやったら
UPできるの?
- 上にある添付っていうのでできます。パスワードは、自分の好きなものの名前です。 -- ヒデ
- C#のクラスファイルUP -- 諸岡?
- C#クラスファイル -- 諸岡?
- どこにUPしたんですか? -- 成田?
忘年会
ヒデ (2008-12-02 (火) 00:22:45)
忘年会の日にちが変わりました。
12/05から12/19です。
そして、場所も変わりました。
プサンは、遠くて、遅くなりそうとのこと。
BrickOSのインストール
諸岡? (2008-11-24 (月) 00:09:15)
BrickosのインストールおよびC++のドキュメント、アプリケーションの作り方を素材ーSD21のフォルダに作成しました。
現状、Cygwinで環境を作ったほうがよさそうです。
Eclipseでのインストール方法も見つけましたが、Cygwinで以降と思います。
- えー・・Cygwinですか。。いや、てか、なぜここに。。 -- ヒデ
スキー・スノボ旅行のアンケート。
ヒデ (2008-11-18 (火) 16:46:18)
スキー・スノボ旅行のアンケートを、11月中に回答してください。
- やばいやばい。早くしないと、いけなくなっちゃう。今日kntにいったら土日は結構空いてなかった。。 -- ヒデ
金曜日。
ヒデ (2008-11-12 (水) 21:55:38)
今週の金曜日終わったら飲みいくよ!
わらわらの予定。
先週行けんかったし、飲むぞー!
サイトを設置した理由。
ヒデ (2008-11-09 (日) 00:46:19)
OS Project Wikiというサイトを、OS部発足以前から設置していました。
それは、みんなで情報共有するためではありません。
一番の理由は、
調べたことを自分でまとめて、それを書くことによって覚えるため
です。
それならノートでもいいんですが、サイトなのでみんなが見ます。
そのため、しっかり調べるようになり、正確な知識が身に付きます。
そして、Web上なので、ネットにつながっていれば、だれでもいつでもどこでも見ることができます。
それなりに理由があって、サイトを設置しています。
もう少し積極的に使ってみてください。
やること。
ヒデ (2008-11-09 (日) 00:28:06)
・pushとpopの仕様を調べる。機械語レベルで。
・レジスタについて調べる。bpやspなど。
結局、Cだろうがアセンブリだろうが、pushとpopが問題になってるので、なんにしても開発が進まない。
基本的な部分をしっかり勉強しましょう。。
今日は226教室!
ヒデ (2008-11-07 (金) 18:42:53)
今日は226教室でやってます。
C++
ヒデ (2008-11-06 (木) 22:01:59)
C++導入できたと思ったら、まだできてなかった・・
もう少し調べる必要がありそう。そして、やっぱりプロテクトモードの移行はCではできないかもしれない。
HEW
ヒデ (2008-11-04 (火) 18:55:54)
今度のHEWでOSを発表することになりました。
これマジ!www
ということで、このままではきっと、マウスが動く程度になるので・・・
とにかく、がんばるぞ!
- やっぱり、アピールするなら一般うけするようなことをやったほうがいいと思う。 -- ヒデ
- ので、ウィンドウシステムとファイルシステムをとにかくやったほうがいいんじゃないかな。 -- ヒデ
- 壁紙をきれいな写真にしてみるとか、なんか、まさに張りぼてだけど。HEWが終わったらちゃんと中身を作っていこう! -- ヒデ
- 先日はいろいろ教えてくださりありがとうございました。あれから全然OS部の活動に来れなくて本当に申し訳ないです。HEWでOSを発表するんですね!とても楽しみです。頑張ってください。私もOS部に来れない分、自分で勉強していこうと思います。 -- カワベ?
忘年会の件
諸岡? (2008-11-04 (火) 18:32:06)
藤原君へ
自宅の近くに釜山という焼肉屋さんを探してください。
韓国の方が経営してます。ここで、忘年会をやろーと
思っています。はやめに探してください。
さて、どんどんいくぞ〜!!
ヒデ (2008-11-02 (日) 14:15:31)
ようやくC++も導入できたので、ガンガン開発進めるよ〜!
で、ヒデはクラス設計をしなければいけないので、みんなでブートプログラムを作ってください。
あれ????
ヒデ (2008-10-27 (月) 23:44:49)
諦めて総当たりでやるか・・と思って、まず0x0200にjmpしてみたらできた。。
けど、???まったくわからん。。0x300とかでも動いた気がする。本当にできてんのか???
Experimentの003_10がソースです。
- ・・・jmpしなくても動いた。。。あれ?でもBIOS読み込みしないとできず・・
なんか根本的な考え方が違ったのかな? -- ヒデ
バイナリエディタ
成田? (2008-10-21 (火) 11:45:42)
バイナリエディタについてですが。
$ sudo apt-get install ghex
でGhexって言うGUIエディタが手に入りますよ。
もっと使って。
ヒデ (2008-10-20 (月) 00:53:32)
もっとOS Project Wikiとか活用してください。
せっかくサイトを作ったので、各自学んだことは忘れないように書いておきましょう。
みんなの参考にもなります。
技術系のことはOS Project Wikiへ。
お知らせ系のことはOS部のサイトへ。
使い方がわからなければ聞いてください。
- もしちゃんと書けなさそうなら、hide's noteみたいに個人のノートページでも作って、そこにメモ書き程度に書いておくのもいいかも。 -- ヒデ
本追加のお知らせ。
ヒデ (2008-10-14 (火) 17:43:47)
本を追加しました。
C++クラスと継承
です。
参考にしてください。
あと、486が見たい。。
やること一覧。
ヒデ (2008-10-13 (月) 23:59:23)
- ブートローダの作成。
- リンカスクリプト(ld)の勉強。
- メモリマップ。予約済みのところなどを正確に把握する。
- OS本体の先頭部分を作成。
- 訂正。リンカスクリプトにはかなり機能がありそうなので、まずそこから。ブートローダはとりあえず後回し。 -- ヒデ
- ブートローダ作成ですが、、BIOSを使ってると、16bitという制約からメモリが1MBまでしか使えません。
なので、DMA
を使ってハードウェアを自分で制御できるようにしましょう。 -- ヒデ
データアップしました。
ヒデ (2008-10-08 (水) 02:07:06)
プロジェクト一式をProjectData?にアップしました。
X Ver.001をあっぷしました。
RoboLab利用状況をスケジュールにアップしました。
ヒデ (2008-10-03 (金) 23:21:17)
RoboLab利用状況をスケジュールにアップしました。
Hello World
freekus? (2008-10-02 (木) 01:17:19)
遅くなったけどGasでHello Worldで出力はできた
1日目 helloos3 は完成
2日目はできなかった
以上
- 警告出るけどかまわず続けてください -- freekus?
- ↑はheooos3.sのことです -- freekus?
- $についていろいろ調べた結果、素直にはできなさそうです。こんなとこでつまっててもしょうがないので、BootLoaderをつくっていきます。 -- ヒデ
今週の予定について
成田? (2008-09-30 (火) 22:52:22)
今週は、いろいろ用事があって、行くことができません。
すみません。
藤原は、木曜日に行けるそうです。
やることリスト。
ヒデ (2008-09-27 (土) 01:27:55)
やることリスト。
・右のPCにfedora9を入れる。
・プロキシの設定をする。
・gcc,mtools,qemuを入れる。
ちゃんと入ったら開発開始。
・Hallo Worldを表示するFDイメージを作成。それでGASを勉強する。
・できたらBootLoaderを書き始める。
・C++を使えるようにする。すぐできるか。
まぁ今のところこんな感じで。
まだこの先は考えてないけど、とにかくやってみる!
バーチャルボックス
ヒデ (2008-09-25 (木) 19:51:07)
VirtualBox
Makefile作成ツール?!
ヒデ (2008-09-25 (木) 02:00:55)
mr情報によると、Linux用のMakefile作成ツールなるものがあるらしいです。
(@□@)!!
要調査。
gas
freekus? (2008-09-17 (水) 18:58:15)
http://www.nk.rim.or.jp/~jun/ppcasm/ppcasm04.html
ノートのCent入れなおそ。。
ヒデ (2008-09-14 (日) 17:19:20)
なんか、ブラウザ起動せんし、わけわからんくなってきたので、月曜日学校でインストールします。。
nask -> gas
freekus? (2008-09-14 (日) 02:38:31)
OS自作入門のnaskからgasの書き換えは順調に進んでます。
Linuxで実行したところ特にエラーもなくてほっとしてます。
まだCを入れる前ですがCも導入するところはまた明日行こうってことで
- ほう。こっちはmakefileがんばってますよ。でもやっぱりその前にコンパイルとリンクですね。。 -- ヒデ
GNU開発ツール
ヒデ (2008-09-12 (金) 23:18:25)
面白そうな本を発見。
GNU開発ツール。
OS開発に直結はしないけど、読む価値はありそう。
http://www.oversea-pub.com/
活動時間について。
ヒデ (2008-09-11 (木) 16:46:08)
OS部の活動時間を事実上フリーにしたいと思います。
自由参加。
やる気があれば来る感じで。
集合をかける場合もあり。
Goooooooogle
ヒデ (2008-09-06 (土) 18:05:58)
googleのアカウントを取得しました。
メールアドレスも取得しました。
なんか、全部そっちでできそうなんで、このサイトはなくなるかもしれません。
- ちなみに、メールアドレスは、hal.os.club@gmail.comです。 -- ヒデ
- ん~・・・いちいちログインするのが面倒かも・・・ -- ヒデ
ブラウザ
ヒデ (2008-09-06 (土) 15:39:13)
IE8 Beta3とGoogleChrome Betaを入れてみました。
Googleのブラウザはシンプルだけど、結構面白い。
fedora8無い。。
ヒデ (2008-09-06 (土) 12:42:00)
fedora8がダウンロードできません。。
9でいいですか?
- そうですか、、8はそもそもCDがないんですか。。 -- ヒデ
プリプロセッサ
ヒデ (2008-09-05 (金) 18:45:21)
http://www.geocities.jp/cbc_vbnet/vc/preprocomand.html
移行。
ヒデ (2008-09-05 (金) 15:34:33)
このサイトにある技術系の情報はOS Project Wiki
へ移行しました。
開発再開
ヒデ (2008-09-04 (木) 11:22:07)
夏休みは開発が止まってましたが、再開しようと思います。
さて、とりあえず、開発環境は、Linuxで。と思ってたんですが、エミュレータがいるじゃん。と思ったのでVMwareを見てみました。
http://www.vmware.com/jp/products/product_index.html
で、VMware Player、Serverは無償ということがわかったんですが、WorkstationとESXは有償のようです。。。
QEMUとか、他の案があればよろしくです。
- 全然現実が見えてなかったな。。ちゃんと開発環境を整えるところからしっかりやらんと。。 -- ヒデ
- とりあえず、QEMUで動かすイメージを作るためのソフトから作らないと。 -- ヒデ
- ソースがOS自作入門のomakeフォルダに入ってたので、それを流用して、開発環境を作ろう! -- ヒデ
- いろいろ調べて、参考になりそうなサイトをLinkに張っておきます。 -- ヒデ
インストールCD 完成!!!
freekus? (2008-08-21 (木) 22:49:29)
CD完成
明日忘れないことを祈っててくださいな~
仮想環境で開発
freekus? (2008-08-08 (金) 00:33:33)
VMwareでCentOS5.2をインストール
これでWindowsを起動中にLinuxで開発ができるよ~
でもバイトで時間が・・・
- なんじゃそりゃww 仮想ってどうなんだろ。。 -- ヒデ
- ソースはWindowsで書いてコンパイルはCentOSでって感じ・・・DOS扱い? -- freekus?
暑中お見舞い申し上げます
mr? (2008-08-06 (水) 07:29:29)
連日、暑い日が続いていますが、いかがお過ごしでしょうか?
先日、本屋さんに行って、Linuxの気になる本を見つけました。休み中に読んでおこうと思っています。
本屋さんで立ち読みして、良かったら購入してみてはどうでしょうか?
" Inside Linux Software(オープンソースソフトウェアのからくりとしくみ)"です。Linuxを解読するには、良い本だと思います。
また,我が家のマシンには、どうもLinuxがインストールできないようです。ISAを見に行って、とまっているので、どうもFDがないマシンにはLinuxはインストールできないようです。
最近の機械は、FDなしが多いので、インストールするときは気をつけよう!
LiveCDも動作不可です。・・・
Linuxって、ここまで古い遺産を引きずっているのか?融通きかないなァ~
全然学校空いてないなぁ…(-_-)
ヒデ (2008-07-24 (木) 11:21:52)
OS部の出校日は、8月22日(金)で。
時間は、17:10から。19:00まで。
この日は、Linuxの勉強会でもやってもらおうかと思います。
MINIXコンパイルできん!!
ヒデ (2008-07-18 (金) 15:30:59)
MINIXをコンパイルしようとすると、
[root@localhost tools]# make image
cd ../kernel && exec make -
make[1]: ディレクトリ `/root/Desktop/OS_Project/MINIX_Source/kernel' に入ります
make[1]: *** `mpx.o' に必要なターゲット `/usr/include/ibm/bios.h' を make するルールがありません. 中止.
make[1]: ディレクトリ `/root/Desktop/OS_Project/MINIX_Source/kernel' から出ます
make: *** [image] エラー 2
って出てきます。。
`/usr/include/ibm/bios.h' を make するルールがありません.
???
ヘッダをmakeするルールが無い?
ヘッダってインクルードされてるcをコンパイルしたらやってくれるんでは??
ん〜何が悪いのかなぁ・・・
お初です
諸岡 孝司? (2008-07-16 (水) 23:44:14)
書き込み確認します。
開発環境について。
ヒデ (2008-07-12 (土) 14:11:30)
開発環境?に関するページを作りました。
てすと。
ヒデ (2008-07-11 (金) 22:04:24)
うぃきでBBS。
こんな感じです。
ひとまず、ここで情報共有していきましょう。
わからないことなどあればここへ書き込んでください。