I ♥ WordPress

LinuxでisoイメージからCD/DVDを焼く
2009/11/25 23:48 posted by kunkichi

毎回忘れるので覚え書き。

isoイメージからCDを焼く。

# cdrecord -scanbus
・・・
scsibus1:
  1,0,0  100) 'HL-DT-ST' 'DVD-RAM GSA-H60L' 'E904' Removable CD-ROM★
  1,1,0  101) *
  1,2,0  102) *
  1,3,0  103) *
  1,4,0  104) *
  1,5,0  105) *
  1,6,0  106) *
  1,7,0  107) *
# cdrecord -v dev=1,0,0 speed=8 XXX.iso

isoイメージからDVDを焼く。

# growisofs -dvd-compat -Z /dev/dvd=XXX.iso

まだしばらくCentOSで大丈夫なのかも。
2009/08/01 22:51 posted by kunkichi

ここんところのCentOSの問題も収束に向かいそうな感じ。よかったよかった。

Open Letter

The CentOS Development team had a routine meeting today with Lance Davis in attendance. During the meeting a majority of issues were resolved immediately and a working agreement was reached with deadlines for remaining unresolved issues. There should be no impact to any CentOS users going forward.

The CentOS project is now in control of the CentOS.org and CentOS.info domains and owns all trademarks, materials, and artwork in the CentOS distributions.

We look forward to working with Lance to quickly complete all the agreed upon issues.

More information will follow soon.

www.centos.org

オープンソースだからこういうことは起こりうる、でもオープンソースだからこそこうやって解決する、その両面が見えた気がします。

でもオープンでも商用でも特定の一つに依存しすぎるのはいろんな意味で危険だな。日頃から選択肢は複数持っとくようにしないと。Debian、Ubuntu LTSあたりもさわっとくかな。

LinuxのLVMにイマイチ乗り気がしない理由
2009/07/17 01:55 posted by kunkichi

ZFSが便利だから:-)

LVMちゃんと使ったことなくて、現状Linuxでストレージ作るならLVM勉強しなきゃとか思ってたけど、めんどくさすぎ。もういいやー。

ということでZFS本が出ました。早速買って読む。

ZFS 仮想化されたファイルシステムの徹底活用
長原 宏治 佐藤 通敏 今井 悟志 加藤 久慶
アスキー・メディアワークス
売り上げランキング: 2334

ZFSのチートシート
2009/05/05 22:36 posted by kunkichi

前のエントリで取り上げたZFSのミラーリングでは限られたzpoolコマンドしか使ってませんが、他にもいろいろ便利なオプションがあるようです。とりあえず、いろいろ調べてみたところ、既にチートシートがありました。

ZFS Cheatsheet :: Col’s Tech Stuff

しばらくはこれ見ながらですねー。

ZFSを試してみる
2009/05/05 22:30 posted by kunkichi

世の中はGW真っ最中ですが、こういうときに限って風邪を引いてしまい、昨日まで寝込んでいました。休み前の忙しさの疲れがドッと出たのかなぁ、、、とりあえず、ずっと寝てたので腰が痛い、アタタタタ、、、

でも今日は熱も下がってやっと回復してきたので、前から気になっていた ZFS を試してみました。

環境

  • サーバは前にヤフオクで買った Sun Fire V120。この日のために、元々ディスク1本だったのを、これまたヤフオクで2本目を用意しておきました。36GB玉です。
  • OS はもちろん Solaris10 10/08 for SPARC!FreeBSD やOpenSolaris でもできるのだけど、ここはやっぱりネイティブなOSで。
  • ディスクは2本なのでRAID1(ミラー)。

ZFSの手順を紹介しているサイトをいろいろ調べてみたけど、どこも大体、既に稼働しているシステムに新たにディスクを追加してその領域だけでZFSを試してる場合が多いみたいで、ルートファイルシステムのディスクは別にあってそっちはZFSにしてなかったりするんだよね。

Sun Fire V120の場合、ディスクは2本だけなので、ルートファイルシステム自体ZFSでミラーにできないと、ZFSを使う意味がない。ということで、目的としては、一般的な Solaris のソフトウェアRAID方式だけど、いろいろめんどくさい Solaris Volume Manager(旧DiskSuite)と比較したいと思います。

手順

  1. まずはディスク1本だけでSolaris10をインストール。

    基本的には通常通りのインストール手順でOK。

    UFS か ZFS かを聞かれたときにZFSを指定する。

    あと、UFSのときはスライス(一般的にいうパーティション)を細かく切ってからやるのが普通だと思うのだけど、ZFSの場合は1スライスにしちゃうみたいで、ここはちょっと面食らった。まあ確かにスライスごとの容量の概念自体がZFSでは「ない」ようなので当然かも。

    ということでスライスをどう切るか?みたいな選択はインストーラではほとんどないに等しいのだけど、/ と /var を分けるか?というオプションはあったので、ここはなんとなく分けておいた。

  2. OSインストールが終わって起動してきたらいろいろ確認してみる。
    • まず現在のZFSプールの一覧を zpool list で確認する# zpool list
      NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
      rpool  33.8G  5.66G  28.1G    16%  ONLINE  -
      rootプールであるrpoolが一つだけ。容量もディスク全部になっているので、まるまるZFSのプールになっていることがわかる。
    • 次にZFSプールの状態を zpool status で確認# zpool status
        プール: rpool
      状態: ONLINE
      スクラブ: 何も要求されませんでした
      構成:
       
              NAME          STATE     READ WRITE CKSUM
              rpool         ONLINE       0     0     0
                c1t0d0s0    ONLINE       0     0     0
       
      エラー: 既知のデータエラーはありません
      1本目のディスク(c1t0d0s)のみがプールに属している状態ということがわかる。
    • df -kの結果ファイルシステム     kbytes     使用済み   使用可能   容量   マウント先
      rpool/ROOT/s10s_u6wos_07b
                          34836480   4799940   28392451   15%   /
      /devices            0          0         0          0%    /devices
      ctfs                0          0         0          0%    /system/contract
      proc                0          0         0          0%    /proc
      mnttab              0          0         0          0%    /etc/mnttab
      swap                1054048    1304      1052744    1%    /etc/svc/volatile
      objfs               0          0         0          0%    /system/object
      sharefs             0          0         0          0%    /etc/dfs/sharetab
      fd                  0          0         0          0%    /dev/fd
      rpool/ROOT/s10s_u6wos_07b/var
                          34836480   69509     28392451   1%    /var
      swap                1052744    0         1052744    0%    /tmp
      swap                1052776    32        1052744    1%    /var/run
      rpool/export        34836480   20        28392451   1%    /export
      rpool/export/home   34836480   24        28392451   1%    /export/home
      rpool               34836480   94        28392451   1%    /rpool
    • rpool自体が/rpoolとしてマウントされている。で、その中の個々のディレクトリがマウントされている感じ?以前はスライスに分けてマウントしていたような、/、/var、/exportなどは、一応マウントされて入るけど、/rpool配下にあるのがマウントされているだけだし、/ と /var は /rpool配下のROOTディレクトリ配下がマウントされてる。なーんかよくわからん。

    • vfstabの内容#device    device     mount     FS        fsck    mount     mount
      #to mount  to fsck    point     type      pass    at boot   options
      #
      fd         -          /dev/fd   fd        -       no        -
      /proc      -          /proc     proc      -       no        -
      /dev/zvol/dsk/rpool/swap
                 -          -         swap      -       no        -
      /devices   -          /devices  devfs     -       no        -
      sharefs    -          /etc/dfs/sharetab
                                      sharefs   -       no        -
      ctfs       -          /system/contract
                                      ctfs      -       no        -
      objfs      -          /system/object
                                      objfs     -       no        -
      swap       -          /tmp      tmpfs     -       yes       -
      vfstabには 全くといっていいほど記載がないね。vfstabによる設定は不要みたいなことが書いてあったけど、ここまでまったくないとは思わなかった。

    とりあえずZFSの第一印象としては、

    • 結局のところ、1スライス(/rpool)で切っているので、今までやってたような個々のスライスの容量は意味がなくなってくる。
    • df の出力はもうほとんど意味を持たないかも。
    • 上にも書いたけど、/と/varはrpool配下のROOT/s10s_u6wos_07b以下なんだけど、/exportと/export/home はrpool直下。この違いは何?

    というところかなぁ。この辺はちょっと置いといてとりあえず先に進めます。

  3. ディスク2本目を追加して、スライスを切る。$ format -e
    ・・・
    >p
    ・・・
    Part      Tag    Flag     Cylinders         Size            Blocks
      0 unassigned    wm       0 - 49394       33.92GB    (49395/0/0) 71128800
      1 unassigned    wu       0                0         (0/0/0)            0
      2     backup    wu       0 - 49394       33.92GB    (49395/0/0) 71128800
      3 unassigned    wm       0                0         (0/0/0)            0
      4 unassigned    wm       0                0         (0/0/0)            0
      5 unassigned    wm       0                0         (0/0/0)            0
      6 unassigned    wm       0                0         (0/0/0)            0
      7 unassigned    wm       0                0         (0/0/0)            0
    ・・・
    事前に1本目のディスクのスライスを確認しておいたのだけど、やっぱり1スライスだけ切って全部割り当ててありました。従って2本目も同じように切ります。

    スライスを切り終わったらlabelする。> label
    [0] SMI Label
    [1] EFI Label
    Specify Label type[0]:
    Ready to label disk, continue? y
    実はここでかなりはまったんだけど、ディスクのlabelの仕方には二種類あって、新しいより拡張性のあるEFIラベル(1TB以上のディスクとか扱える)ではなくて、昔からあるSMIラベル(VTOCラベル)でないと、rootファイルシステムのZFSミラーはできない、らしいです。(format -eだと両方のラベルを扱える)

    最初にどうやって追加するかもよくわかんなくていろいろやってるうちに勝手にEFIラベルでlabelしちゃってたみたいで、こんな風になってました。Part      Tag    Flag     First Sector        Size        Last Sector
      0        usr    wm                34      33.91GB         71116541    
      1 unassigned    wm                 0          0              0    
      2 unassigned    wm                 0          0              0    
      3 unassigned    wm                 0          0              0    
      4 unassigned    wm                 0          0              0    
      5 unassigned    wm                 0          0              0    
      6 unassigned    wm                 0          0              0    
      8   reserved    wm          71116542       8.00MB         71132925
    これ自体はEFIラベルでlabelした場合にはこうなるのでおかしくはないのだけど、なんせ見たことなかったもんで(笑)スライス8消せねーとか言いながら、はまってた訳です(苦笑)formatコマンドも-eオプションつけずに実行してたので今となってはそのときの状況が既によく見えませんが、とりあえず、ZFSのrootプールでは、

    • format コマンドは -e オプションをつけて実行
    • スライス0に全部割り当て。
    • labelはEFIではなく、SMIで。

    と覚えておけば大丈夫ですかね。

  4. なんとかスライスを切れたので、既存のrootファイルシステムのプールに2本目のディスクをミラーとして追加します。# zpool attach -f rpool c1t0d0s0 c1t1d0s0特にエラーがなければ何も表示されません。
    zpool statusで状態を確認してみます。# zpool status
      プール: rpool
    状態: ONLINE
    状態: 1 つまたは複数のデバイスの再同期化が進行中です。
            プールはおそらく縮退状態で動作を継続します。
    アクション: 再同期化が完了するまでお待ちください。
    スクラブ: resilver が 0h0m で進行中、3.53% 完了、0h4m 開始待ち
    構成:
     
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror      ONLINE       0     0     0
                c1t0d0s0  ONLINE       0     0     0
                c1t1d0s0  ONLINE       0     0     0
     
    エラー: 既知のデータエラーはありません
    ミラーの同期が行われます。Solaris Volume Manager のころはこの同期に死ぬほど時間がかかったのだけど、ZFSは早いです。数分で終わります。# zpool status
      プール: rpool
    状態: ONLINE
    スクラブ: Tue May  5 20:44:04 2009
    上で 0 エラーが発生した 0h5m のあとの resilver completed構成:
     
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror      ONLINE       0     0     0
                c1t1d0s0  ONLINE       0     0     0
                c1t0d0s0  ONLINE       0     0     0
     
    エラー: 既知のデータエラーはありません
    同期が終わりました。
  5. 同期が終わったら、2本目のディスクからも起動できるようにbookblkを2本目のディスクにコピーします。なんかこの辺LinuxのソフトウェアRAIDでgrubをインストールするのと似てますね。# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0
  6. RAIDミラーが正しく構築されているかを確認するために、一旦電源を落として、1本目のディスクを抜いて、2本目だけで起動できるかを確認してみます。ほんとは強制的に引っこ抜いてもいいのだけど、さすがに故障すると怖いので。。。

    まずシャットダウン# shutdown -y -i0 -g0
    ok
    物理的に1本目のディスクを抜きます。一応、念のためにブートデバイスの設定を確認しておきます。OKプロンプトでprintenv boot-deviceを実行。(というか実はPROMのboot-deviceの設定に2番目のディスクが含まれていなかったことに気づかず、一回起動に失敗したことは内緒です)printenv boot-device
    /pci@1f,0/pci@1/scsi@8/disk@0,0:a disk net
    最初の長いのが1本目のディスク、2番目の”disk”は1本目のディスクを指定するエイリアス。ちなみにエイリアスを確認するにはPROMでdevaliasを実行します。ok devalias
    ・・・
    disk                     /pci@1f,0/pci@1/scsi@8/disk@0,0
    disk3                    /pci@1f,0/pci@1/scsi@8/disk@3,0
    disk2                    /pci@1f,0/pci@1/scsi@8/disk@2,0
    disk1                    /pci@1f,0/pci@1/scsi@8/disk@1,0
    disk0                    /pci@1f,0/pci@1/scsi@8/disk@0,0
    ・・・
    これをみると、1本目のディスクが”disk”、2本目のディスクは”disk1″となっています。これに併せてさっきの設定をみると、最後がネットワークブートなので、ブートデバイスの順序は、1本目のディスク→1本目のディスク→ネットワークブート、となっており、2本目のディスクがブートでバイスとして含まれていないので、このままだとブートしてもブートデバイスが見つからないということで失敗します。
    では2本目のディスクをブートデバイスとして含めてあげます。ブートデバイスの変更はsetenvでboot-deviceを指定します。さっきのエイリアスを見ると、disk1というのがそれにあたるので、コマンドは以下。setenv boot-device disk disk1 net長ったらしいのは、結局”disk”と同じなので外しました。
    最後にこの設定をNVRAMに記憶しておくために、nvstoreを実行します。ok nvstore
    では起動します。ok boot
    Sun Fire V120 (UltraSPARC-IIe 648MHz), No Keyboard
    OpenBoot 4.0, 1024 MB memory installed, Serial #59084701.
    Ethernet address XX:XX:XX:XX:XX:XX, Host ID: 83858f9d.
     
    Executing last command: boot                                          
    Drive not ready
    Can't read disk label.
    Can't open disk label package
    Boot device: disk1  File and args:
    SunOS Release 5.10 Version Generic_137137-09 64-bit
    Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
    Use is subject to license terms.
    SUNW,eri0 : 100 Mbps full duplex link up
    Hostname: XXX.YYY.com
    Reading ZFS config: done.
    Mounting ZFS filesystems: (6/6)
     
    XXX.YYY.com console login:
    最初は”disk”(1本目のディスク)からブートしようとして失敗して、次に”disk1″(2本目のディスク)から起動しているのがわかりますねー。とりあえず起動してきました。

  7. 正常に起動しているか銅貨を確認するために、片方のディスクだけで起動した状態でZFSのプールの状態を確認してみます。  プール: rpool
    状態: DEGRADED
    状態: 1 つまたは複数のデバイスを開くことができませんでした。
            十分な複製が存在するため、プールは縮退状態で動作を継続できます。
    アクション: 見つからなかったデバイスを接続し、'zpool online' を使用してオンライラインにしてください。
    次のサイトを参照してください: http://www.sun.com/msg/ZFS-8000-2Q
    スクラブ: 何も要求されませんでした
    構成:
     
            NAME          STATE     READ WRITE CKSUM
            rpool         DEGRADED     0     0     0
              mirror      DEGRADED     0     0     0
                c1t1d0s0  ONLINE       0     0     0
                c1t0d0s0  UNAVAIL      0     0     0  オープンに失敗しました。
     
    エラー: 既知のデータエラーはありません
    1本目のディスクが見えないので「縮退」状態になってますが、少なくともこれで片方のディスクに障害が起きても問題なく起動してくることがわかりました。
    次に新しいディスクを追加して元のミラー状態に戻します。新しいディスクを接続してformatコマンドでスライスを切り直す必要がありますが、プールに属しているとformat等が実行できないので、一旦プールから削除します。# zpool detach rpool c1t0d0s0その後、format -eコマンドを実行してスライスを切り直します。SMIラベルでlabelすることを忘れないように。
    切り直したら再度プールに追加します。# zpool attach -f rpool c1t1d0s0 c1t0d0s0今度はデバイスの指定が逆になりますね。
    最後に2本目のディスクを追加したときと同じようにbootblkをコピーします。# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0これで終わりです。

最後ちょっと駆け足になっちゃった感がありますが、確かにZFSらくちんです。同期も早いし、Solaris Volume Managerと比べてコマンドや設定が直感的な感がします。

ただし、これまでのスライス(パーティション)単位的な考え方とは全く異なるので、その辺り、ちょっと受け入れ難い人もいるかもしれないです、bootblkをディスクごとにコピーするあたり、あんまりこなれてない気もしますし。
ただそれを差し引いてもこのらくちん差には逆らえないものがあります。

あとは、ヘビーな壊れ方をしたときにどうなるか?とか、書き込みのパフォーマンスとかが気になりますね、この辺がある程度クリアになれば十分本番運用でも使えそうですが、この辺は実際に動かしてノウハウを蓄積していかないとわからないところですね。まずはあまりクリティカルな用途ではないサーバで運用してみようかと思います。

sun.com 調子悪い?
2009/04/07 23:59 posted by kunkichi

ここんとこ sun.com の調子が悪い気がする。てか今に始まったことでもないけど。

  • 既に登録してあるアカウントでログインしようとするとそんなユーザはいないとかパスワードが間違ってるとか言われる。
  • パスワードを再発行してログインしようとするとやっぱりログインできない。
  • しょうがないので別のメールアドレスを使って再登録。すると登録完了まで死ぬほど待たされる。
  • なんとか登録完了してもオンラインにログインできなかったりする。
  • 何回かやってるとそのうちログインできる。が、強制的にスクリーン名を登録しろと言われて、これも登録完了まで死ぬほど待たされる。
  • で結局終わらない。

あまりにも遅いので裏で手動でやってんのかと思った。登録が行われたらすげえ遠くの上司にハンコもらいにいってんのかと。オー人事オー人事みたいな。ってかウェブサイトの3秒ルールとか関係なし?

クラウドとか言うてる暇があるんなら自社サイトをどうにかしてほしい。こんなんだったらIBMに買収された方がよかったんじゃないかなぁ。

1エンドユーザの独り言。

[読書]『DNS & BIND 第5版』
2008/12/08 02:32 posted by kunkichi

第4版もまだ全部読めてないのに、もう改版されてしまいました。

DNS & BIND 第5版
DNS & BIND 第5版
posted with amazlet at 08.12.08
Cricket Liu Paul Albitz
オライリージャパン
売り上げランキング: 54229


今回のキャッシュポイズニング騒動についてもいろいろ載ってるらしい。あとはSPFレコードとかのspam対策向けの設定とかその辺ぐらいかな、見るところは。

Amazonのギフトカードがあるので、とりあえず買っといた。第4版は会社に寄贈しとくか。

[読書]『zsh最強シェル入門』
2008/12/08 02:24 posted by kunkichi

年末にかけて仕事が立て込んでて、勉強はしてるのだけど、アップさぼりまくってます。。。いかんなぁ、忙しいのを言い訳にしちゃ。ちゃんとやらないと。

話は変わって先週末に書店でこんなん見つけて即買っちゃいました。

zsh最強シェル入門
zsh最強シェル入門
posted with amazlet at 08.12.08
中島 能和
翔泳社
売り上げランキング: 10153


なんてニッチなw。

でも一時期開発者界隈では話題になってたし、書籍でまとめてもらった方がネットで情報探すよりもらくちん。リファレンスが手元にあるのはやっぱりいいです。

いろいろなオプションを実際に試して .zshrc カスタマイズ中。GNU screenに関しても載ってるので良さげ。

風邪から復活、、、
2008/10/04 00:38 posted by kunkichi

先週末ぐらいから、疲れがちょっと溜まっていたのと、週明けに風邪を引いた、というダブルパンチで少しダウン気味でちょっと時間割サボり気味でした、、、でも一応、通勤時間の「読書」と、水曜日の「サーバ」の時間だけはなんとか続けていたので、その分だけ成果をアップしておきます。

読書その1

覚悟のすすめ (角川oneテーマ21 A 87) (角川oneテーマ21 A 87)
金本 知憲
角川グループパブリッシング
売り上げランキング: 276

読了。まあ「精神論」といっちゃあそれまでなのですが、「覚悟」はやっぱり必要。それ以外にもいくつか「チーム力」とかにも絡みそうなところがあったのでいくつかピックアップ。

  • プロとして100%の責任を全うすることを目指す。90%を目指すと次は80%と妥協してしまう。
  • やってみればできることもある。やる前から「無理だ」と自分で結論を出してしまえばそこまで。「諦めたらそこで試合終了ですよ?」ってやつだな。
  • 良いと思うことは試してみる。「常識」を妄信しない。
  • 可能性がある範囲で、できるだけ高い目標を設定することが、努力するためには必要。
  • 「あいつがやるならおれも」と全員が刺激しあうことで、強いチームになる。
  • 自分からできないのなら無理矢理やらせることも必要。ようは「きっかけ」。それがいつか自分からやることにつながる場合もある。
  • 常に最悪の場合を想定する。そしてそのときにどうするか?何ができるか?が重要。そのために日頃の準備・努力を行う。

単なる精神論だけじゃない、ではない部分もちゃんとあるよね。うんうん。

読書その2

3分間 ネットワーク 基礎講座
網野 衛二
技術評論社
売り上げランキング: 56339
3分間ルーティング基礎講座
網野 衛二
技術評論社
売り上げランキング: 14132

少し前からネットワークの勉強ももっとしないといけないなと思ってたところに、技評のニュースメールで紹介されていたので早速ゲット。いや、amazonの評価通り、良書でした。一通りの基本はきちんと押さえてある上に、とても読みやすい・わかりやすい。早速「ネットワーク」の方は読了して、今「ルーティング」の真ん中ぐらいです。スイッチやルータもわかるようになれば、全体の設計ももっと理解できるようになるしね。そのうち、まとめをアップしたいと思います。

サーバ

20081004069.jpg
20081004064.jpg

うっひっひ、ついに買っちまいました、Sun Fire V120!Sparcマシンですよ!数年前だったら標準価格100万ぐらいだったよねぇ〜。これが5000円で買えちゃうという、ほんとヤフオク様々です。とりあえず、Q6600あたりとパフォーマンス比較してみたい。まああっちはマルチコアなので本来はT1/T2プロセッサ搭載マシンと比較しないといけないのだろうけど、さすがにアレは高すぎる、、、

とりあえず、Solaris10でいろいろとしてます。その辺りはTracにアップ中です。

しっかし、さすがに1Uサーバはうるさい、笑
あ、ちなみに上にあるのはバッファローのL3(!)スイッチです。スイッチも勉強するぞということで。

少し休んだおかげで、疲れも少しとれたし風邪も直ってきたみたいなので、また勉強再開です!

[時間割:サーバ]『Linuxカーネル徹底解析』読了
2008/09/11 00:33 posted by kunkichi

水曜日は『サーバ』の時間。ということで、カーネルの勉強をしようということで選んだ「Linuxカーネル徹底解析」を読み終わりました。

Linuxカーネル徹底理解 (日経BPパソコンベストムック)
日経BP出版センター
売り上げランキング: 94500

とりあえず、一通り読んでみて、なんとなくOSの全体的な処理のイメージみたいなものが見えてきた感じです。個人的に特に面白かったのは以下あたり。

  • ファイルシステム。これは一番面白かったし、過去ディスクI/Oには常に悩まされてきたので。inodeにファイル名が含まれないとか、ページキャッシュとの連携の仕組みとか、LVMのスナップショットの原理とか、なんか今まで悩んだり疑問に思ってたけどわからなかった、たくさんのことがやっとつながった気がして、すごい納得した。
  • メモリのところは、上でも書いたけど、一番はページキャッシュかな。スワップ処理とかのほうがメモリ絡みだと悩んでる人多いと思うんだけど、DBサーバみたいにメモリどっぷり使うようなサーバ管理したことってそんなにないんだよね。でもスワップインの処理は面白かったです。
  • あと、ブートシーケンスも外せない。でもここは他の記事に比べるとちょっと浅め。別の本でもうちょっと深く勉強して、ディスクレス&オンメモリで動くFWとかLBとか作りたい!
  • プロセスやらページキャッシュやらネットワークやら、全般的に「ステータスに応じた処理や状態遷移」ってのは日頃からもっと意識するようにしなきゃ。
  • デバイス関連はさすがにちょっと難しかったです、、、、

まずは概要がつかむっていうのが当初の目的だったので、それについてはある程度果たせた気がするし、最初の書籍としてはとてもよかった気がします。それに現時点で「C言語の知識が絶対的に足りない」ってこともわかったので、今やっている「C言語」の勉強の正当性が証明されて、モチベーションが多いにあがりました。

さて、次はどうしようかな。Linuxカーネルについてさらに進めてもいいんだけど、そのためにはCをもう少し勉強したほうがいいかなという気もするので、もう少しマクロな視点、というかハードウェアな部分も含めてコンピュータそのものの理解を深めてみるということで、これを選んでみました。

コンピュータの構成と設計~ハードウエアとソフトウエアのインタフェース 第3版 (上)
デイビッド・A. パターソン ジョン・L. ヘネシー
日経BP社
売り上げランキング: 37621

トピック的にはマクロかもしれないけど、パラパラっと見た感じアセンブリやらマシン語やらかなり細かいところまで出てきて、既に若干くじけそうですが(爆)なんとかがんばりたいと思います

このページの先頭へ