2019年3月30日土曜日

Living Computer Museum(その2) ~Digital Equipment Corporation編~

Living Computer Museumには1日に3回、学芸員による無料ガイドツアーがあります。集合場所は、PDP-7の前。初期のUNIXはこれで開発されました。

PDP-7

TSSの実用化などを目指した巨大OS「Multics」のプロジェクトから脱退したベル研究所(当時のベル電話研究所)のケン・トンプソンは、よりシンプルな形で再構成しようと思い、研究室で誰も使っていないPDP-7にOSの実装を開始しました。このOSは、Multicsに対して「1つのことしか実行できないUnics」と名付けられ、後の「UNIX」になりました。

PDP-7自体は18ビットワードマシンで、それほど大きな成功は収めなかったようです。大抵の人は「UNIXが生まれたマシン」という認識しかないと思います。私もそうです。

なお、1970年頃までCPUのワードサイズは6の整数倍が一般的で、8ビット単位の処理が普及するのはIBM System/360などが登場する頃からです。

PDPシリーズを製造していたDEC (Digital Equipment Corporation) は、創業時に投資家から「コンピューター事業を全面に出すな」というアドバイスを受けていました。コンピューターはリスクが大きく、投資家が敬遠したためです。

そのため、DECの創業製品はデジタル回路モジュールでした。コンピューターの主要部品としても使えるのですが、コンピューターそのものではありません。

これも展示してありました。見るのは初めてです。

デジタル回路モジュール

デジタル回路モジュールのビジネスが成功し、DECは念願のコンピューター事業に乗り出します。これがPDP(Programed Data Processor)シリーズです(それでも「Computer」とは表記していません)。

当時、コンピュータの互換性はあまり問題とはされていなかったため、シリーズ間の互換性は高くありませんでしたが、「似た系列」や「同じハードウェアインターフェース」の製品はありました。

PDP-10は、初期のインターネットの研究に使われた他、コマンドの補完機能(Ciscoのネットワーク機器やPowerShellでもおなじみの機能)もこの時に登場しました(当初の実装はDECではなかったようです)。

DEC System 10 (PDP-10)

36ビットワードのPDP-10は後にSystem 10と名前を変え、メインフレームとして扱われるようになります。

後継機種のSystem 20はSystem 10との基本的な互換性を持った36ビットワードマシンです(PDP-20と呼ぶ人もいますが正式名ではありません)。こちらは人工知能研究に広く使われました。日本の産学協同プロジェクト「新世代コンピュータ技術開発機構(ICOT)」の主力開発機としても採用されています。日本国政府が関わりながら、海外のコンピューターを導入するというのは大英断だったそうです。

DEC System 20

なお、これらのマシンの多くは、実際にはエミュレーターで動作してました。

エミュレーターボード

PDP-8は、PDP-10よりも前に登場したコンピューターです。こちらは12ビットワードマシンで、安価な構成が可能でした。PDP-8は後にワンチップ化され、機器組み込みCPUとしても使われました。ワープロ専用機やパーソナルコンピュータ的な製品もあったはずで、結構売れたようです。

PDP-8

PDP-12は、PDP-8と似た12ビットワードマシンです。こちらはそれほど売れていないはずです。

PDP-12

学芸員の話では、世界で数台のPDP-12ということでした。

PDP開発チームがスピンオフしてできた会社Data Generalが、PDP-8対抗機として売り出したのがNovaです。一説には、8ビット1バイトのバイトマシンを採用するかどうかでチームがもめたためだそうです。

PDP-8のチーフエンジニアだったエドソン・デ・カストロ氏はDECを退職しData Generalを設立、8ビット1バイトを処理単位とする16ビットワードマシンNovaを発表し、市場に受け入れられます。

Data General Nova

また、既にIBM System/360などでもバイト単位処理が採用されていたため、DECもバイト処理が可能な16ビットワードマシンPDP-11を投入します。

ちなみに、PDP-7で開発されていたUNIXは、かなり初期の段階でPDP-11に置き換わりました。

Data GeneralはPDP-11対抗機としてEclipseを発表します。また、DECが完全32ビットコンピューターのVAX-11を発表するとData GeneralはEclipse MV/8000で対抗します。

VAX-11は、PDP-11との互換モードを持ちますが、Eclipse MV/8000はモード切替なしに完全な互換性を実現していました。しかし、何もしなくても古いプログラムが動くということで、新しいアプリケーションがなかなか出なかったようです。

一方、VAX-11のエミュレーションは必ずしも高速でないため、顧客は新システムに移行せざるを得なかったという話も聞きます。

世の中、なかなかうまくいかないものです。

このあたりの経緯は『超マシン誕生』といいうノンフィクションで詳しく紹介されています(【読書日記】超マシン誕生』)。

PDP-11 & VAX-11

PDP-11からVAX-11の世代交代は比較的スムーズだったと聞いています。ちなみにVAXはVirtual Address Extension(仮想アドレス拡張)の略、11はPDP-11の略だそうです。

VAXシリーズは途中からVAX8500のように11が消えます。PDP-11エミュレーション機能を廃止したからだそうです。

ちなみに、VAXのオペレーティングシステムVAX/VMSの開発リーダーが、マイクロソフトでWindows NTプロジェクトのリーダーとなったデビット・カトラーです。

Windows NTの最初のバージョンは3.1で、これはWindows 3.1との互換性を意味します。数字で互換性を示すのはVAXのやり方でした。

VAX-11/780

VAX-11シリーズ最初の機種がVAX-11/780です。1977年発表で「1978年に向けて」という意味だそうです。

ポール・アレンとビル・ゲイツが。、Altair BASICを開発したのもPDP-10だったせいか、Living Computer Museumでは、DEC製品が特に充実していたように思います。

Living Computer Museum(その1) ~Microsoft MVP Global Summit 2019~

Microsoft MVP Global Summitのついでに、シアトルにあるLiving Computer Museumに寄ってきました。シアトルダウンタウンから、Uberで$8くらいでした。歩けなくもないと思いますが、夜はやめた方が良さそうです。
Living Computer Museum外観
あんまり治安のいいところではないそうです
外観はなんとなく倉庫みたいですね。
Safeco Field改めT-Mobile Park(ネーミングライツ切れのため)
Living Computer Museumから徒歩圏内でした
Safeco Fieldからは徒歩圏内です。Safeco社が持っていた権利が切れたため、現在はT-Mobile Parkになっています。
歴史的なOSを利用できる(要事前申請)
歴史的なOSが使用できます。事前にアカウント申請をしなければならないのを知らなかったのですが、困っていたら係の人が声をかけてくれて、Multicsを使ってみました。
その直後にオンライン申請したところ、別の係員が来てくれましたが、係員用のアカウントが分からずログオンできませんでした(笑)。奥さんが日本人だそうで、日本語の会話もで来ました。SSHを使ってリモートログオンもできるということですが、いまだにアカウントが送られてきません。私の申請はどうなったたのでしょう。
図書コーナーには算盤がありました(五の玉が2つあるタイプ)
デジタルこのピューターの元祖
図書コーナーには算盤がありました。5つ玉が2つ、玉が丸いので旧式のやつですね。中国では今もこの形だそうです。日本の算盤は、玉がはじきやすいように端がとがっています。
算盤はデジタルコンピューターの元祖みたいなものですね。
書棚には、Living Computer Museum設立者のポール・アレン氏の著書の日本語版もありました。
巨大計算尺(アナログコンピューターの元祖)
そして、巨大な計算尺も。計算尺は、対数目盛を利用して乗除算を行う道具ですが、私はもう使い方を知りません(教科書には付録として載っていましたが)。アナログコンピューターの元祖ですが、アナログコンピューターを知らない人も多いでしょうね。
アナログコンピューターは、広利得のアンプ(オペアンプ)を使って、対数変換器と精密ボリュームで計算する機械です。電気信号の速度で計算できるので高速ですが、式が変わるたびに再配線が必要です。
自動運転シミュレーター(軽く酔いました)
自動運転シミュレーター。視野が広いので、没入できますが、軽く酔いました。ヘッドマウントディスプレイではなく、周辺270度くらいがスクリーンになっています。
Museum Storeで売っていたLife Game
売店で売っていたConwayのLife Game。LEDで表示します。うっかり買いそうになりましたがやめました。
Museum Store

その他、Raspberry PIを使ったキットがいろいろありました。
Tシャツなんかもあったのですが、あまり凝ったデザインはなかったので今回は購入せず。その代わり、Crayのペーパーモデルを買いました。


ビル・ゲイツとポール・アレンが最初に作った製品

ビル・ゲイツとポール・アレンが最初に作った会社「TRAF-O-DATA」の製品。交通集計システムと聞いています。

ホビイストへの公開状

マイクロソフト創業直後に出した有名な「ホビイストへの公開状」。ソフトウェアは誰かの労働の産物であり、無断でコピーして配布するのは窃盗と同じだと主張しました。今では当たり前の考え方ですが、当時、ソフトウェアには著作権が認められていなかった上、ホビイストたちは「人の作ったものは勝手に使って良い」という考え方が根強く、ビル・ゲイツのこの手紙は非難の的となりました。

ビル・ゲイツの考え方はソフトウェア産業を興しました。一方、ホビイストたちの考え方は紆余曲折を経て、オープンソース運動を含むシェアエコノミーに発展しました。

ビル・ゲイツとのポール・アレンのレジュメ

ビル・ゲイツとポール・アレンのレジュメ。履歴書に身長体重や結婚の有無が書いてあるのに驚きます。そして、「unmarried(未婚)」が「single(独身)」に訂正されているのが面白いですね。また、現在の給与1500が1250に下方修正、希望給与がopen(希望なし)から1500に修正されているのも面白いですね。これ、当然ドルだと思うので月給でしょうか。1974年は1ドル300円くらいだったので、1500ドルだと45万円です。20代の若者に対する給与としては結構いい金額です。

だいぶ縮小したので、ブログの写真では読めないと思いますが。

Microsoft PIXELSENSE

Microsoft PIXELSENSE、旧称Surface。テーブル型のPCで、マルチタッチ対応、センサー付きのトークンを使うことでさまざまな応用が考えられたのですが、商業的には成功しませんでした。

シアトルの現状を見て ~Microsoft MVP Global Summit 2019~

毎年開催されている「Microsoft MVP Global Summit」に参加してきました。Microsoft MVPだけが参加できる特別なイベントです。

Microsoft MVPサイトより

マイクロソフトの製品やテクノロジーに関する豊富な知識と経験を持ち、オンラインまたはオフラインのコミュニティや、メディアなどを通して、その優れた能力を幅広いユーザーと共有している個人を表彰するものです。MVP アワードの表彰は全世界で行われており、現在は、世界 90 か国以上、4,000 名を超える方々が MVP として精力的な活動を続けています。

Microsoft MVP Global Summit」は、現地(マイクロソフト本社)集合ですが、参加費は無料、2名で1部屋の宿泊費も負担してくれます(シングルルームは半額負担)。

コア日程3日(さらにポストイベント2.5日)では技術カテゴリごとのブレークアウトセッションが開催され、マイクロソフト社内でも一部の人しか知らないような内容が披露されます。また、製品の方向付けを決めるようなディスカッションも多いため、当然NDA(機密保持契約)が必要で、違反者には損害賠償を含めた罰則があります。

このように、NDAの縛りがあるため内容については話せません。そこで、このブログではMVP Summitに行って気付いたことや、ついでに寄ったLiving Computer Museumのことを書きたいと思います。


シアトルで目に付いたのが、Limeと呼ばれる緑の自転車です。詳しくは同僚の山下さんのブログ「シアトルにあったシェアサイクルLimeはすごく便利だと思う」をどうぞ。Limeは乗り捨てOK、見つけたらすぐ乗車可能なので、昔よくいた自転車泥棒の気分を味わえます。

Lime, rental bicycle

日本にも類似のサービスはありますが、決められた場所で借りて、元の場所に返す必要があります。乗り捨てするとすぐに駐輪違反で回収されてしまうでしょう。そういえば、レンタカーも米国では乗り捨てコストがほとんどかからないのに、日本ではとんでもなく高いですね。

もう1つ、便利だったのがUber。スマートフォンのGPSと連動し、契約車(日本だと白タク扱いなので違法です)を呼んでくれます。ダウンタウンなら概ね数分以内につかまるでしょう。呼ぶ時点で目的地を入力し、その時点で金額が固定されます。支払いは事前登録されたクレジットカードを使うので、運転手に支払は発生しません。チップも、乗車後に追加できます。誘拐などのリスクを減らすため、乗車と同時に信頼できる友人に乗車情報を伝える機能があるし、先日は911(日本の110番)通報機能も追加されました。金額は、需給バランスで決まるようで固定されていないようですが、事前に分かるので安心だし、タクシーを上回ることはほとんどありません。

Uberは日本にも進出しているのですが、二種免許の存在やそもそもタクシー事業が許認可制であることから、タクシー会社と提携して運営されています。ただし、利便性は著しく落ちます。規制産業故の制約です。

これに限らず、とにかく日本は規制が多いですね(市民革命を経験していないため「原則自由」の思想がないという説がある)。たとえば、米国での路上ライブはよほど通行の邪魔にならない限り違法ではないのですが、日本では警察が無条件に違法とみなします。本来、違法かどうかを判断するのは警察ではなく裁判所ですが、逆らうと逮捕される可能性がある(逮捕でなくても警察署に連れて行かれる例は多い)ので逆らえません。よほど大規模で計画的なものでない限り、有罪になったケースはないらしいのですが、若いミュージシャンを脅すには十分な威嚇効果です。

国や自治体だけでなく、国民も規制を望む傾向にあります。路上ライブを通報して止めさせるのを趣味にしている人もいるくらいですし、それを支持する人までいます。コスプレイベントも、周辺住民の反対により、コスチュームを着た状態で会場外に出ることは禁止されるのが普通です。コミケ(コミックマーケット)のように、周辺に住宅がほとんどない地域でも厳しく自主規制されています。

ちょうどMVP Summitのために渡米した日、シアトルで「Comi-Con (Comic Convention)」が開催されていて、コスプレイヤーが大勢出歩いていました。コスプレ親子も多く、微笑ましい感じがしました。

コスプレ発祥は米国ですが、発展したのは日本です。その日本で、街頭でのコスプレ禁止というのはちょっと不思議な感じですね。「一般人が怖がる」という説もあるのですが、こんなに目立つ格好で犯罪を犯す人もいないと思います。


コスプレ

スターバックス1号店では、お土産に1号店限定の豆を購入。スターバックスで購入した豆は、世界中どこの店でも挽いてくれます。日本で挽いてもらうと、かなり高い確率で「1号店に行かれたんですか?」と話しかけてくれます。

スターバックス1号店

店内では、オーダーテイカーがバリスタにカップをよく投げてます。

オーダーテイカーからバリスタへ

スターバックス1号店近くにある有名なチーズ屋さん(Beecher's)。最近は行列ができます。私、チーズはそれほど好きでもないのですが、ここのチーズは好きです。

Beecher's


Beecher'sの看板

スターバックス1号店のある一帯が「Pike place Market」、米国でもっとも古い市場だそうです。有名な魚屋さん。アンコウやらサケやらが並んでいます。

どうでもいい写真ですが、hardwareは金物の意味で、コンピューター製品の意味ではありません。mountain hardwareは登山道具のようですね。

hardwareは金物の意味


mountain hardwareでロッククライミングの写真

ワシントン湖からスペースニードルが見えています。

シアトルの夜景

2019年2月5日火曜日

【Azure】Azure Cloud Shell の埋め込み

マイクロソフトのドキュメントに「Azure Cloud Shell の埋め込み」という記事が上がりました。

Launch Azure Cloud Shell

上のボタンをクリックすると、https://shell.azure.com にアクセスし、ユーザー認証のあと、クラウドシェルが起動します。クラウドシェルにはPowerShellとbash(Azure CLI)の選択が可能ですが、上記ボタンは前回の設定で起動します。

以下のように、シェルの種類を強制することもできます。

Azureのコマンドラインツールを使うには、あらかじめPCにインストールしておく必要がありますが、クラウドシェルを使えば、Azureの管理者アカウントさえあれば、Webブラウザを起動するだけですぐに使えます。

もちろん、Azureポータルから起動することもできます。ウィンドウ分割ではなく、Webブラウザの全領域をコマンドに割り当てることもできます。しかし、解説用のWebページを見ながらコマンドをワンクリックで起動することは難しいでしょう。

この機能を使えば、解説用のドキュメントに埋め込むことで、(Azureの管理者アカウントさえあれば)すぐにクラウドシェルが起動できます。「読みながら試す」というのは、紙にはできない芸当ですね。

2018年12月3日月曜日

【Azure】仮想マシンのプライベートIPアドレスの更新

Azureの仮想マシンは必ずDHCPクライアントでなければいけません。管理ツールから固定することは可能ですが、これはDHCPの「予約」に近い機能で、OSの設定パラメーターとしてはDHCPクライアントのままです。

このあたりについては、弊社トレノケートの「Advent Canendar」として「Azure仮想マシンのIPアドレスが勝手に変わる?」で解説したのでよかったらご覧ください。

なお、パブリックIPアドレスの固定化もできますが、現在のところ、事前に任意の値を指定することはできません。

づまり、Azureの仮想マシンは、どんな場合でもIPアドレスはDHCPサーバーからリースされることになります。

このとき、リース期間は100年以上が設定され、通常の利用では更新が発生することはありません。実際に、Windows Serverで以下のコマンドを実行すると「DHCPサーバーと通信できない」という意味のエラーになる場合があります。

ipconfig /renew


「場合があります」というのは、つい最近「新たに作成した仮想ネットワーク上の仮想マシンであれば」正しく更新できるようになったためです。

仮想ネットワークの属性を変更すると、仮想マシンに割り当てられる優先DNSサーバーのIPアドレスを変更できます。しかし、その設定を反映するには仮想マシンの再起動が必要でした。IPアドレスのリース更新ができると、コマンドを実行するだけでDNSサーバーのIPアドレスも変更されるため、より便利になりました。

2018年11月27日火曜日

【Azure】Red Hat Enterprise Linuxでyumが失敗する

先日、Azure上でRed Hat Enterprise Linuxの仮想マシンを構成したあと、yumを使ってソフトウェアをインストールしようとしたら、以下のようなエラーメッセージが表示されました(適当に改行を入れています)。

Loaded plugins: langpacks, product-id, search-disabled-repos

https://rhui-1.microsoft.com/pulp/repos//content/dist/rhel/rhui/server/7/7Server/x86_64/dotnet/1/os/repodata/repomd.xml:

[Errno 14] curl#58 - "SSL peer rejected

your certificate as expired."

Trying other mirror.

証明書絡みのエラーのようですね。

いろいろ調べた結果、stack overflowに解決策が出ていました。

Azure RedHat vm yum update fails with “SSL peer rejected your certificate as expired.”

実際には、以下のコマンドを実行することで解決しました。

curl -o azureclient.rpm https://rhui-1.microsoft.com/pulp/repos/microsoft-azure-rhel7/rhui-azure-rhel7-2.2-74.noarch.rpm

sudo rpm -U azureclient.rpm

curlでダウンロードしたファイルは、ご覧の通りマイクロソフト管理下にあります。仮想マシンに含まれるファイルが少し古かったようです。

標準的な手法で展開した仮想マシンがこれではちょっと困りますが、実際には時々あるようです。

2018年9月1日土曜日

Azureストレージのスナップショットとバックアップ

先日、「Microsoft Azureによる災害復旧手法」を実施しているときだったか、前日の別のコースのときだったか忘れたのですが、「ディスクのスナップショットはバックアップ代わりになりますか」という質問がありました。

実は、スナップショットについては時間の都合でコースで扱っていません。研修中に聞いていただく分には、ある程度は内容から逸脱した質問も受けていますので、ご安心ください。

その時は、以下の2つの理由から「バックアップの目的の一部は達成できるが、置き換えにはならない」とお答えしました。

  • 定期的なバックアップスケジュールが(標準では)ない
  • その結果、履歴管理機能が不十分

この時、ついでに「スナップショットは差分」とお話ししたのですが、これは不正確な説明でした。

非管理ディスク(BLOBにVHDファイルを作成した場合)は、差分であり、親VHDが削除されると、スナップショットも使えなくなります。その分、課金は小さくなります。

管理ディスク(現在最も一般的なスタイル)は、差分ではなく独立したリソースのため、親VHDが削除されてもスナップショットから復元が可能です。

管理ディスクのスナップショットは差分ではないため、料金的には不利になりますが、ディスクサイズで課金される管理ディスク本体と違い、スナップショットは実消費量だけに課金されるので、1回のスナップショットで倍の料金がかかるわけではありません。

バックアップからの復旧については、以下のドキュメントの後半に詳しく記載されていますので、参照してください。

Azure 上の Windows OS が起動しない場合の情報まとめ (2018 年 8 月 27 日版)