情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

Nero CD-DVD Speed が Opti Drive Control になってた このエントリーを含むはてなブックマーク

Nero CD-DVD Speed がいつの間にかに「Opti Drive Control」というソフトに統合されていました。

Nero CD-DVD Speedの公式サイトがOpti Drive Controlの公式サイトになり、30日の試用期間付きのシェアウェア($24.95 USD or 19.95 EUR)になっていました。

ということで、Nero CD-DVD Speedのフリー版がなくなってしまったようです。

とりあえず、未だにNero CD-DVD Speedのフリー版は公式以外のダウンロードサイトから入手できるようですが、バージョンアップされないので、いずれNero CD-DVD Speedは使えなくなってしまうのでしょうかね。

ほかにもディスクやドライブの診断ツールはあるので、そちらに乗り換えるべきか。

ソフトウェア | コメント:0 | トラックバック:0 | 編集

Dimension 8400 0x00008086 エラー対策 このエントリーを含むはてなブックマーク

DELL製PC Dimension 8400で頻発するブルースクリーン(0x00008086)について

Dimension 8400は、5年くらい前に購入したものですが、当時としてはかなり新しい規格を採用していたので、引退することなく未だに利用している人も多いはず。この0x00008086エラーの対策は、Dimansion 8400ユーザとして非常に重要なものだったので、手書きのメモやらなにやらを漁りつつ、メモしておきます。

現象

まず、どんなエラーかというとブルースクリーンが発生します。特に、原因となる動作があるわけではなく、いきなり発生します。

表示メッセージは以下の通り。

A problem has been detected and windows has been shut down to prevent damage to your computer.

If this is the first time you've seen this stop error screen, restart your computer. If this screen appears again, follow these steps:

Check to make sure any new hardware or software is properly installed. If this is a new installation, ask your hardware or software manufacturer for any windows updates you might need.

If problems continue, disable or remove any newly installed hardware or software.Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode.

Technical information:

*** STOP: 0x00008086 (0x00000000, 0x00000000, 0x00000000, 0x00000000)

Beginning dump of physical memory
Physical memory dump complete.
Contact your system administrator or technical support group for further assistance.

多少の違いはあると思いますが(特に最後の部分)、このようにSTOP: 0x00008086と表示されます。 (参考:STOP: 0x0000008Eエラーも当時頻発していました。エラー対象にはwin32k.sysが表示されていました。 )

何の前触れもなく発生し、非常にやっかいなエラーです。

原因

原因は、簡単に言うと、ハードディスク周りのドライバです。

デバイス マネージャで見ると、IDE ATA/ATAPI コントローラの中にある、「Intel(R) 82801FR SATA AHCI Controller」が原因です。名前の通り、AHCI用のドライバです。 XPには標準でAHCIドライバが含まれていないので、OSのインストール時にF6キーでインストールするやつです。

このAHCI Controllerの実態は「C:\WINDOWS\system32\DRIVERS\iaStor.sys」ですので、原因がどれかといえば、ずばり「iaStor.sys」です。

対策

では、どうすればいいのか。対策は、原因のドライバのバージョンアップです。

しかし、ただ、バージョンを最新のものにすればいいわけではなく、安定して動作するドライバを導入すべきです。

現在、私のDimension 8400には、「バージョン:4.5.0.6515」がインストールされており、安定動作しています(たぶん)。

このバージョン4.5.0.6515は、DELLのサポートページからダウンロードできます。Download Nowから、「R82884.EXE」をダウンロードし、実行します。

インストール自体は、たしか表示が英語ですが、OKを順にクリックしていけば大丈夫だったように記憶しています。でも、説明はちゃんと読みましょう。

インストールして再起動すると、0x00008086エラーから解放されているはずです。

未だに8400を使っていて、0x00008086エラーで困っている人がどれだけいるのか全く謎ですが、もし該当するようなら、試してみてください。

Windowsダンプの極意 エラーが発生したら、まずダンプ解析!

ハードウェア | コメント:6 | トラックバック:1 | 編集

"公式" Visual Studio 2008開発ガイドブック Web無償提供開始 このエントリーを含むはてなブックマーク

マイクロソフトが、「Visual Studio 2008 開発ガイドブック」のWeb経由での無償提供を開始しました。

Visual Studio を使ったことがない人におすすめです。Visual Studio の多彩な機能が紹介されています。

それぞれの解説はコンパクトにまとめられているので、短時間に読めます。ぜひ読んでみてください。企業ではなく、個人でVisual Studio を使っている場合、機能の限られた部分しか使っていないことが普通だと思います。普段使わない機能が一通り紹介されているので、一度目を通しておくと、今まで知らなかった便利な機能に出会えるかもしれません。

Visual Studio 2008 開発ガイドブック

Visual Studio 製品

ソフトウェア | コメント:2 | トラックバック:0 | 編集

中国の剰余定理の使い方 このエントリーを含むはてなブックマーク

中国の剰余定理(中国人の剰余定理)って、よく聞くし、印象にも残るんですが、それを使った問題の解き方を忘れがち。ということで、中国の剰余定理の定番問題を解いてみます。とりあえず、例題はこちら。

以下の連立合同式を解け
x≡1 mod 3
x≡2 mod 5
x≡3 mod 7

なんだか定番らしいと言うか、問題自体はシンプルで、ありがちです。

さて、ここで中国の剰余定理を使うと、答えが以下のような形になることが分かります。

x≡??? mod 105

105は、3,5,7の積です。ようするに、具体的にxが一つ定まるのではなく、105で割ったあまりが???なら何でも解になるということです。

つまり、中国の剰余定理は、連立合同式のそれぞれの式「x≡a mod m」のmどうしが互いに素のときに、解が存在して、「x≡??? mod m_1*m_2*…m_n」の形になることを教えてくれます。

つまるところ、実際の解の求め方を教えてくれるわけではないんですね。

さて、解いてみましょう。

まず、解はたくさんあるのですが、そのうちの一つを求めます。

その一つである「x」はどういう形になるかというと、こんな形になります。

x=a*5*7 + 3*b*7 + 3*5*c
ただし、以下を満たす
a*5*7 ≡ 1 mod 3
3*b*7 ≡ 2 mod 5
3*5*c ≡ 3 mod 7

実は、このa*5*7 + 3*b*7 + 3*5*cという数には秘密があって、a*5*7+3*(b*7 + 7*c)なので、3で割ると、a*5*7が余ります。同様にして、5で割ると3*b*7が、7で割ると3*5*cが余ります。

つまり、もし3つの条件を満たすのならば、xは確かに問題の連立合同式を満たすことになります。3で割ったら、a*5*7があまって、実はa*5*7自体を3で割ったら1あまるので、結果xを3で割ると1余るので。2つめ、3つめの式も同様です。

こんな説明で伝わるか気になるんですが、ここが一番重要だと思います。ちょっと考えてみてください。

さて、ここまできたら、解のうちの一つxを求めることは、a,b,cを求めることなのですが、 たとえば、aは次のようにして求めることができます。

a*5*7 ≡ 1 mod 3 より、
35a ≡ 1 mod 3
右辺に3をいくら足しても、3で割ったときのあまりは変わらないので、69を足して
35a ≡ 70 mod 3
両辺35で割ると、
a ≡ 2 mod 3

なんでここで69を足したのかというと、次のところで35で両辺を割って、左辺をaだけにしたかったからです。

同様に、

3*b*7 ≡ 2 mod 5
21b ≡ 2 mod 5
21b ≡ 2 + 5*8 mod 5
21b ≡ 42 mod 5
b ≡ 2 mod 5

3*5*c ≡ 3 mod 7
15c ≡ 3 mod 7
ここは3で割れるので
5c ≡ 1 mod 7にしてから
5c ≡ 1 + 7*2 mod 7
5c ≡ 15 mod 7
c ≡ 3 mod 7

ということで、以下のようになりました

a ≡ 2 mod 3
b ≡ 2 mod 5
c ≡ 3 mod 7

これを満たすa,b,cならなんでもいいので、a=2、b=2、c=3にしてみると、

2*5*7 ≡ 1 mod 3
3*2*7 ≡ 2 mod 5
3*5*3 ≡ 3 mod 7

なので、これを使うと、

x = 2*5*7 + 3*2*7 + 3*5*3(= 157)

これは、連立合同式を満たす解のうちの一つになっています。

連立合同式を満たす一つの解が分かったので、他の解を考慮した解は

x ≡ 2*5*7 + 3*2*7 + 3*5*3 ≡ 157 mod 105
x ≡ 52 mod 105

と、なります。これで問題が解けました!

仕組みを冷静に考えると、そんなに奇抜なことをやっているわけではありません。ただ、解の一つをa*5*7 + 3*b*7 + 3*5*cと置けばいいなんて思いつかないかもしれないですけどね。

数学・情報科学 | コメント:0 | トラックバック:0 | 編集

OSの基本を俯瞰できる良書「オペレーティングシステムの仕組み」 このエントリーを含むはてなブックマーク

数日前に、「オペレーティングシステムの仕組み 」(朝倉書店)を購入しました。そして、3日くらいで読み、これは良書だと思いました。

オペレーティングシステムの仕組み (情報科学こんせぷつ)
オペレーティングシステムの仕組み (情報科学こんせぷつ)河野 健二

朝倉書店 2007-10
売り上げランキング : 232262

おすすめ平均 star
starかゆいところに手が届いている(と思います)
starOSの入門教科書

Amazonで詳しく見る

OS(オペレーティングシステム)の本ですが、これを知ることで、普段のOSの挙動が想像しやすくなるだけでなく、マルチスレッドプログラミングや、メモリ管理プログラムなどへの基本的な理解が深まります。

この本の重要なところは、本自体が分厚くないこと。だいたい、厚みにして1cmくらいです。

これがどうよいかというと、それぞれのトピックに深入りしすぎず、OSの基本的な内容を素早く知ることができるからです。

この本の内容は、OSの基本的な内容を網羅しており、以下のようなキーワードについて記述されています。(注意:目次ではありません)

  • 割り込み
  • ポーリング
  • メモリマップドI/O
  • システムコール
  • 特権モード
  • ユーザモード
  • プロセス
  • ヒープ領域・スタック領域
  • スレッド
  • コンテキストスイッチ
  • スケジューリング
  • CPU-bound・I/O-bound
  • FCFS
  • ラウンドロビンスケジューリング
  • 相互排除(mutex)・同期
  • マルチスレッドプログラミング
  • 競合状態(race condition)
  • 飢餓状態(starvation)
  • デッドロック(deadlock)
  • ライブロック(livelock)
  • ロック・セマフォ
  • メモリ管理
  • 仮想アドレス・物理アドレス
  • ページテーブル
  • TLB
  • 仮想記憶
  • デマンドページング
  • LRU
  • ファイルシステム
  • ネットワーク
  • セキュリティ

上記において太字になっている部分は、特に詳細に分かりやすく解説されています。

いずれの項目も、OSを理解し、プログラミングする上で非常に重要な内容なので、これだけ薄い本によくまとまっていると思います。

この本を読む前提として必要だと思ったことは、コンピュータアーキテクチャの基本的な仕組みです。プログラムが命令の列であるアセンブラとして実行されること、レジスタというものが何であるか、コンピュータにはメモリ(メインメモリ)とハードディスクに代表される二次記憶があることなどが前提知識となっています。詳しく知っている必要はないと思いますが、概要を知っていた方が読みやすいと思います。

特に、一度はOSについて勉強したことがある。講義を受けたことがあるという人にとっては、それらを確認し、内容を深めるのに非常に役に立つと思います。集中すれば十分1日で読めるので、明後日テストだという人のテスト対策にもなると思います。

この本がどれだけ有名なのかは知りませんが、情報科学に携わる、コンピュータ系の仕事・趣味をするのなら、読んでおきたい本だと思います。

数学・情報科学 | コメント:0 | トラックバック:0 | 編集
<< NEW  | HOME |  OLD >>