アカウント名:
パスワード:
> manを例に挙げるのは適切じゃないんじゃない? Linuxでmanの結果に騙された経験はありませんか?
だから、HOW-TO 的なドキュメントだとか、サポートするベンダが必須となるのではないか、 と、職場で半ば冗談で言っていたものです。
> たとえばハードウェアのドライバを作ってみたいと思っても、Webを探しても雑誌の記事を見ても見つかりません。
この辺 [netbsd.org]とかは、既にご覧になっての発言と思ってよいでしょうか?
(それらしい雑誌はなくなっちゃったからなぁ。)
ユーザとして使う方はガイド [netbsd.org]の方かな。
(日本語でないという批判は、そのとーりですが。)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
BSDって開発者になりにくいと思う (スコア:1)
Linuxも手を出してみましたが、商用Linuxと比べて、FreeBSDなどのBSD系OSは情報がまとまっていて導入や設定がしやすいと思います。またportsも便利(OSのバージョンやパッチなどがあたって整合性がなくなると大変だけど)だと思います。
使ってみて、とっても使いやすいすばらしいシステムだと思うんだけど、一歩、初心者レベルから進んで、自分で何か作ってみたいとなるととたんに情報がなくなってしまいますね。
たとえばハードウェアのドライバを作ってみたいと思っても、Webを探しても雑誌の記事を見ても見つかりません。
その点、Linuxでは、たとえばTurbolinuxがドライバ開発の解説を公開していたり、比較的情報が手に入りやすくなっています。
開発者が必要ということであれば、たとえば*BSDを利用している企業に協力を求めるのもひとつの方法だと思います。また現行のリリースにあわせたシステムプログラミングの解説や資料などを充実させ、大学生や高校生などの若くてシステムプログラミングに興味を持っているユーザーを惹きつけることも大切だと思います。
全ての情報はハードディスクに入っている (スコア:5, 参考になる)
ととのっていると思います。なぜなら、OSおよび
その他インストール時に入るソフトウェアの
ソースコード、開発についての情報がきちんと
まとまっていて得易いからです。そして、そういう情報は
往々にして利用者のハードディスクの中にあります!
以下、話題に出ているFreeBSDについて述べます。
まず、FreeBSDではインストーラーにてソースコードを
インストールするというオプションを選べば、
カーネル及びUnix系の基本ツールのソースコードが
インストールされます。そして、OSをインストール
してすぐにそれらのソースコードに触れることが
出来ます。他人のコードに触れることがプログラミング
上達の近道と言われますが、FreeBSDではインストール
した直後にその環境を整えられます。
また、ドキュメントが少ないと言うことですが、
http://www.freebsd.org/ [freebsd.org]をうろうろすると
ハンドブックという形で意外に多くの情報を得られます。
先に問題にしていたデバイスドライバの作り方については
architecture handbook [freebsd.org]の9章を参考にすると
よいでしょう。ここには簡単なデバイスドライバの
作り方、動かし方、サンプルコードが載っています。
このようにカーネルをいじっているとカーネル内のみで
使われる関数の仕様を知りたくなると思います。
そのような場合は、『man 9 関数名』とするとすぐに
わかります。先に示したhandbookではmake_devや
uprintf等、普通のC言語には見慣れない関数が
出てきますが、man 9 make_devなどするとそれらの
引数、使い方などを詳しく書いたマニュアルが表示
されます。
以上のようにFreeBSDではカーネルやその他の
ソフトウェアを開発するための情報は簡単に得られます。
そして、さらに素晴らしいことにhandbookなどの
情報は/usr/docの下に入っていて、ネットワークに
繋がっていなくても参照することができるように
なっています。
Re:全ての情報はハードディスクに入っている (スコア:0)
>ととのっていると思います。
何と比べてるか書いてないけど、Linuxと比べて、って理解でいいのかな?
だったら、ソースコードの有無とかmanを例に挙げるのは適切じゃないんじゃない?
Re:全ての情報はハードディスクに入っている (スコア:2, 参考になる)
> manを例に挙げるのは適切じゃないんじゃない?
Linuxでmanの結果に騙された経験はありませんか?
だから、HOW-TO 的なドキュメントだとか、サポートするベンダが必須となるのではないか、
と、職場で半ば冗談で言っていたものです。
Re:全ての情報はハードディスクに入っている (スコア:1, すばらしい洞察)
インストーラーで選択するなどの簡単な操作で最初からshellやfileutils、kernelなどの主要なソフトウェアのソースコードを入れてくれるディストリビューションってありますか?
また、manなどの簡単な方法でkernel内部で使っているprintk、vmallocなどの関数の意味や使い方、注意点を教えてくれますか?
最初からすぐ手に入る位置にあり、ちょっと調べたいと思ったときにすぐ調べられるのと、わざわざ検索して探してきて、場合によっては圧縮を展開して見始めるというのは情報のアクセスのしやすさに雲泥の差があると思いますが。
自分の場合、仕事でLinuxのカーネルハックをする度に「うぉーーーこれの仕様はどうなってるんだぁぁぁぁ!」と悩まされることが多々あるのですが。
特に、*BSDで言うところのがonline manualのsection 9がLinuxに無いことをいつも恨みに思います。
Re:BSDって開発者になりにくいと思う (スコア:1)
> たとえばハードウェアのドライバを作ってみたいと思っても、Webを探しても雑誌の記事を見ても見つかりません。
この辺 [netbsd.org]とかは、既にご覧になっての発言と思ってよいでしょうか?
(それらしい雑誌はなくなっちゃったからなぁ。)
ユーザとして使う方はガイド [netbsd.org]の方かな。
(日本語でないという批判は、そのとーりですが。)