Posts

Showing posts from 2019

Windows 10のプロダクトキーはどこに格納されているのか?

Windows 10がプリインストールされたラップトップを、デバイスマネージャーを見たらWindowsを消してNetBSD/amd64をインストールして使っている訳だが、 ラップトップを修理に出す際には、Windowsに戻すしかない。 その際に、Windows 10をMicrosoftの配布するISOイメージから再インストールしたのだが、プロダクトキーを入力するのを求められなかったし、 Windows 7を10に無料期間中にアップグレードしたマシンのように後でオンラインで認証するような表示もなかった。 どうやら、ACPIのMSDMエントリーにプロダクトキーが書き込まれているらしい。NetBSD/amd64では以下のように確認できた。 HP Spectre x360 13-inch ae019TUでプロダクトキーがXXXXX-XXXXX-XXXXX-XXXXX-XXXXXの場合である。 # acpidump -cdt (snip) /* MSDM: Length=85, Revision=3, Checksum=222, OEMID=HPQOEM, OEM Table ID=SLIC-MPC, OEM Revision=0x1, Creator ID=HP, Creator Revision=0x10013 Data={ MSDMU.....HPQOEM SLIC-MPC....HP ................ ........XXXXX-XX XXX-XXXXX-XXXXX- XXXXX } */ (snip)

OpenBSD Problem Reports

https://www.openbsd.org/report.htmlの OpenBSD Problem Reportsを読んだので、訳を試みておく。 OpenBSDの問題の報告リリース済みのバージョンに関する問題の報告 リリース済みのバージョンについて、バグや問題を報告する前には、以下のチェックリストを確認してください。 まず、このリリースについてのパッチと正誤表を確認してください。次に、より新しいバージョンさリリースされていないか確認してください。最後に、各バージョン間の変更履歴を確認してください。 もしどれにもあなたの問題が含まれていなかった場合には、バグを報告する前にsendbug(1)コマンドについて学んでください。 currentの問題の報告 -releaseでも-stableでもなく、-currentのソースツリーにあなたの問題がある場合には、以下を確認してください。 少なくとも2回、その問題をテストしてください。その時のソースコードは数日離れたものにしてください。ソースツリーがコンパイルできないという問題は、それが長く続くのでなければ報告しないでください。この種の問題はあなたのミスであるか、作業中のソースツリーを利用してしまっていることがほとんどです。プロジェクトで働いている人は、少なくとも1日に1回はmake buildを実行しています。普通は異なるアーキテクチャーで1日に等も実行しています。AnonCVSサーバーは、実際の作業中のソースツリーが反映されるのに数時間かかることを覚えておいてください。各バージョン間の変更履歴に既に掲載されていないか確認してください。スナップショットを作る際には、十分に注意していますが、時にはミスをすることもあります。その場合は謝罪します。バグ報告を送るより、メーリングリストで話をする方が適切です。問題報告 常にできる限り多くの情報を提供するようにしてください。問題をピンポイントに絞り込むようにしてください。問題を再現できる明確な手順を教えてください。なるべく正確で混乱を生まないよ言葉を使うようにしてください。このことは、特に再現の難しい問題の場合には重要です。問題を説明するのに「クラッシュする」や「私の組み立てたマシンで奇妙な割り込みの問題が起きた」といった文は役に立ちません。 (メーリングリストやその他の知…

「リーダブルコード」より、「コードの欠陥にコメントをつける」

リーダブルコードを読んでいて、以下の表は覚えておきたいと思ったので抜粋しておく。 記法典型的な意味TODO:あとで手をつけるFIXME:既知の不具合があるコードHACK:あまりキレイじゃない解決策XXX:危険! 大きな問題がある TODO:は大きな問題に使って、小さな問題にはtodo:やmaybe-later:を使うという場合もあるかもしれない

HelenOSのよくある質問と答え

HelenOSについて興味があるのだが、日本語の情報がない。 FAQを読んでみたので記載しておく。 2019年1月18日時点のhttp://www.helenos.org/wiki/FAQの内容である。 基礎的な概念マイクロカーネルとは何か? マイクロカーネルオペレーティングシステムでは、 デバイスドライバーやファイルシステム、ネットワーキングなどの機能は、 カーネルスペースからユーザースペースへと追い出されている。 カーネルの外のコードは、通常のユーザープロセスとして実行される。 マイクロカーネル自体は、ユーザープロセスが実行と通信できる最低限の機能のみを提供する。 これは、伝統的なモノリシックなオペレーティングシステムが、これらのほとんどを カーネル内部に持っているのと対照的である。 マイクロカーネル設計に従ってオペレーティングシステムを構築する根拠は、 オペレーティングシステムのポリシーのほとんどをユーザースペースへと追い出し、 マイクロカーネル自体を可能な限りポリシーから自由にし、より大きな 拡張性を実現することである。 このことにより、マイクロカーネルは異なるオペレーティングシステムとしての性格を 提供することもできる。 これは同時に複数の性格を1つのマイクロカーネルの上に構築することさえ論理的には可能とする。 これにより、オペレーティングシステムカーネルに機能をハードコードするのではなく、 簡単に機能を変更できるようになる。 マルチサーバーマイクロカーネルにより、限定的なフォールトトレラントな利用も可能となる。 モノリシックなオペレーティングシステムのカーネルドライバーにバグがあった場合、 通常はシステム全体がクラッシュする。 しかし、マイクロカーネルオペレーティングシステムのユーザースペースドライバーにバグがあっても、」 ドライバーを実行するユーザープロセスがシステム全体をクラッシュさせることはない。 マルチサーバーとは何か? マイクロカーネルオペレーティングシステムの視野の範囲内では、 マルチサーバーは、複数のユーザープロセスにまたがってオペレーティングシステムの機能が 広がっていることを指す。 これは、全ての機能が1つのユーザープロセスに集約されているシングルサーバーマイクロカーネル とは異なる。 システムをマルチサーバーにしようという動機は、…

RISC OSがApache License Version 2.0になったので

RISC OSがApache License 2.0で公開される と言うニュースを見ていたのだが、具体的にどういう風に変更されたのか把握していなかった。 RISC OSのソースコードはCVSで管理されているのだが、 castleというディレクトリー がapacheというディレクトリーに改名されて、 LICENSEというファイルでApache License Version 2.0が 置かれるようになった。各ソースファイルにもApache License Version 2.0の 適用される旨のヘッダーが含まれるようになったのだが、 どうやらそれはCVSのリポジトリーを直接編集したように見える。