ARGENTO CUORE

Date : 2010年03月

--.--.--[--] スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2010.03.28[日] かーねる

元同僚さん&そのご友人方と話してたときに、やっぱLinuxカーネルの動作を理解してないとねーみたいな話が出た。
で、ソースコード読まなきゃねと話が続いたのだが、そういえば今何万行になっているんだろうと思って少し調べたら、バージョン2.6.30の時点で1150万行以上になるらしい。


やだよそんな長編小説読みたくない。コードを読んで動作を理解する前に挫折しそう。

http://sourceforge.jp/projects/linux-kernel-docs/wiki/FrontPage

に紹介されている本を読んでわかった気分(爆)になったほうが幸せだと思った。

MINIXは今でもコード量が4000行程らしく、とっかかりとしてはMINIXを選んだほうが良さそう。高い崖を登るよりは、なだらかな道を見つけて這い上がったほうが、挫折を回避できそうです。
でもMINIXはマイクロカーネル。そういえば、GNU Hurdは21世紀中に正式リリースされるのかな……。


Javaのスレッドとプロセスについて調べたらわかりやすく説明しているサイト発見(でも本当かわかんないからもっと情報集めなきゃ)。
http://www.nurs.or.jp/~sug/soft/java/java421.htm

スレッドはメモリ空間を共有し、プロセスは共有しない(のでプロセス間通信で相互に必要なときだけデータを送り合う)。
ので、

ログインサーバー振り分けプログラム(ログインサーバーA、B…の混雑具合でどのサーバーで受付するか決定)
→ ログインサーバーA
  → ユーザーのログイン処理プロセスA
  → ユーザーのログイン処理プロセスB
→ ログインサーバーB

という感じにログイン時のサーバープログラムは全部プロセスを生成して独立したメモリ空間で実行する。ゲーム本編実行時には、

ゲームサーバー生成プロセス
→ ゲームサーバーAプロセス
  → ゲームルームAプロセス
    → ユーザー1スレッド
    → ユーザー2スレッド
    → ユーザー3スレッド
    → ユーザー4スレッド
  → ゲームルームBプロセス
  → ゲームルームCプロセス
→ ゲームサーバーBプロセス

という感じで、常にデータを共有し続ける必要があるゲームルーム内のユーザー処理のみをスレッドで行うようにすれば適材適所になる(のかなぁ……)。
スポンサーサイト

Scala Feed

scala feed

FC2カウンター

プロフィール

RoNor

Author:RoNor
得意呪文はScalaですって言えるようになるのが夢です。
デスマーチ中、パーティメンバーの防御力を向上させたりさせなかったり。

検索フォーム

QRコード

QRコード

Copyright © 2009-2010 ARGENTO CUORE and RoNor All rights reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。