手続き型音楽の日常

関数型音楽に乗り換えたい

セキュリティ オプション と サインイン オプション

という名前の画面が、Windowsにはあるらしい。

というか、あった。

メモリが足らないと表示できない画面

今日は本職で使っているWindows 8.1のPCで、事は起きました。

メモリを4GBしか積んでいないPCで、既に使用量が3GB近い中、2.7GBのShiftJISのテキストファイルをSublime Textで開きました。

案の定、フリーズするわけで、まずSublime Textが応答なしになり、次にChromeも応答なしに、さらにExplorerと…まあ、予想通り速いペースでメモリをむしばみました。

で、さすがに無理だなと思いまずCtrl + Shift + Escを押しました。タスクマネージャを直で起動するショートカットです。

まあ、出ませんよね。

なので一応と、Ctrl + Alt + Delを押しました。

しばらくすると画面が暗転し、いつもの「タスクマネージャ」や「ロック」といった文字だけ出てくる画面が表示されるかなと思いきや、

サインイン プロセスで Ctl + Alt + Del キーが押されたときに、セキュリティ オプションとサインイン オプションが表示できませんでした。 Windows が応答していない場合は、ESCキーを押すか、電源スイッチを使って再起動して下さい。

というウィンドウが。

え、あの画面、「セキュリティ オプションとサインイン オプション」なんていう名前だったの?

Windows NT で 変わった Ctrl + Alt + Del

そもそも、このCtrl + Alt + Delなんですが、Windowsだけのキーコンビネーションではないらしい。

Control-Alt-Delete - Wikipedia

かなり昔からあるみたいで、伝統的なキーコンビだそうです。

当初の意味としては、要するに再起動。ソフトリブートとかハードリブートの違いはあれど、押せば再起動するよっていう非常用のコマンドだったらしい。

MS-DOS、その後継であるWindows 9x系もその流れを受けていて、2回押すと再起動する。いやMeで何度も押したけど再起動した試しはありませんでした。

Windows NTは、このキーコンビに「セキュリティオプション」というダイアログが割り当てられるみたい。XPのログイン時に求められたことがあります、このキーコンビ。

Wikipediaの内容から考えるに、winlogon.exeがプロセスID:4で起動していて、Windowsカーネルがそれに対してのみこのキーコンビイベントを発するので、偽装された画面ではこのキーコンビを受け付けることができないから安全だよっていうことなんですね。んなもんサラリーマンにわかるか。

winlogon.exeが画面を出せなかったということ、すなわち

今回のようにCtrl + Alt + Delが押されたとき、winlogon.exeセキュリティ オプションとサインイン オプション画面を出すようです。

ってことでwinlogon.exeも調べてみました。

Windowsユーザーのためのワンポイント・レッスン 第62回 | 日経 xTECH(クロステック)

BOOK Preview:インサイドMicrosoft Windows 第4版 上 第2章 システムアーキテクチャ 2.4.7 システムプロセス/まとめ - @IT

Winlogon - Wikipedia

Systemプロセスの子の子であり、さらにログイン画面を出すプロセスということです。手持ちのWindows10でSystemExplorerというソフトを使うと、Systemの子、つまりSystemが直接呼んでいる形になっています。

Systemカーネルとほぼ同義(カーネルの仮想プロセスの一つ)なので、そこから呼ばれるsmss.exewinlogon.exeはかなり上位のプロセスですね。

しかし、カーネルレベルではなく、ユーザレベルのプロセスだそうです。

ここからはあくまで推察ですが、winlogon.exeがユーザレベルのプロセスのため強制的な権限は持っていないのではないか、と考えます。

カーネルから直接呼ばれるとも見て取れる非常に信頼できるプロセスですが、強制的な権限を持っていない以上、同列のユーザレベルプロセスがCPU・ディスク・メモリを独占してしまうと、他と同じように止まってしまうということなんでしょうね。

すると、Ctrl + Alt + Delを押しても処理ができず、止まってしまい最初のようなメッセージが表示される。

……本当にこんな設計だったんでしょうか?間違っていたらご指摘ください。

備忘録として

ちなみに今回はただメモリを食い荒らしただけで、CPUにとんでもない負荷をかけたわけではなかったためすぐになんとかなりました。

しかし次は、無限ループなどで止まってしまうこともあるかもしれない…。そうするとCPUを独占してしまって、本当にwinlogon.exeがびくともしなくなる可能性も、ある。

今度から、Windows NT系のCtrl + Alt + Del非常用と信用しないようにしよう。

そして、あの画面は「セキュリティ オプションとサインイン オプション」という名前の画面だということも、覚えておくことにします。


2016/12/20 タイトルがうろ覚えだったものを修正

初見でPCに引き出しを取り付けた件。

パソコンの中身を一度も確認せずにパーツを買うのはよしましょう、っていう備忘録。

7月ごろに買ったメインのPCなんですが、ATX用の一番大きいサイズのケースにほとんど何も載せず、 CPU:i7-6700 + メモリ:16GB + グラボ:なし + HDD:1TB + ドライブ:DVDという超基本的なスペックなんですね。

というわけでHDDスロットもドライブスロットもがら空きで、3,4枚スペースがあったんです。

前々から5インチドライブベイにつけられる引き出しがパーツショップに出ているのを見て、 机の上に散らかっているUSBメモリなんかを仕舞えたらいいなと思ってたんです。

でもまあ、グラボを載せるときとか一度中をあけて確認してから買おうと考えてはいました。一応。

アイネックス 5インチベイ小物入れ BB-03

この間、サブPC用のHDDを買ったときに、ついノリで買ってしまったんです。サブPCの中しか見ていないのに。

ねじ穴を確認し忘れた。

恥ずかしながら、5インチベイってねじ穴が上段と下段とついているんですね。

今まででもパソコンの中身を見たことはありましたが、5インチベイのねじ穴まではしっかりと確認したことがありませんでした。今回初めて、その事実を知りました。

で、何がいけなかったのかというと、パソコン側に上段のねじ穴しか開いていなかったという問題があったのです。

買ってきた引き出し側には上段と下段、両方の穴は開いているものの、付属のねじ4本に対応するねじ溝が付いている穴が下段のみで、上段の穴にはついておらず、自前でタッピングネジを買ってくださいと箱に書いてありました。

たぶんいいだろうと高を括っていたのですが、いざ開けてみると。

f:id:yuzutan_hnk:20161213011527j:plain:w300f:id:yuzutan_hnk:20161213011536j:plain:w300

下段の穴がない。片面にはあるにはあるけど、前側の穴は細い。

大きいほうの穴に合わせると、カバーがつけられるくらい引っ込んでしまいます。

f:id:yuzutan_hnk:20161213011507j:plain:w300f:id:yuzutan_hnk:20161213011457j:plain:w300

これはさすがにタッピングネジを買わなきゃいけないと思い、近所のホームセンターに走りました。いや歩いたんだけど。

丁度いいねじが売っていない。

ホームセンターについたはいいんですが、街中の小さめのホームセンターでして、スーパーくらいの広さしかない中に園芸品から日用品まで広く浅くおいている店舗だったんです。

目分量で太さ3mm~4mm、長さ5mm~6mmくらいが丁度いいだろうなと考えていたのですが、いざ売り場を見ると丁度いいのがない。

一番近いのは3mm×8mm。いや、長い。さすがに貫通する。

それより短いのは2.3mm×6mm。今度は細すぎる、いくらなんでも細いし、頭も小さい。

とりあえず両方とも購入しましたが、どう考えても後者は貧弱なので使わないことにして、3mm×8mmを使いました。しかし、しっかり泊まるところまで回すと案の定貫通しました……。

最終的にねじを加工した

家に電気工事を仕事にしている人がいるもので、たまたまその人がふらっと通りかかったので事情を話すと、

「ねじの先を切って短くすればいいんじゃないか」

という答えが返ってきました。たしかにタッピングネジが必要とはいえ、引き出しには既にガイド穴が開いているため先がとがる必要性はないので、削ってしまって問題はなかったのです。

ねじの先を切るなんてしたことないし、握力30kg前後の私が鉄の塊を切れるわけがないので、2000円のワインと引き換えにその人にやってもらいました。ペンチで切断するだけですが、相当大変そうでした。

ちなみに、ペンチをしっかりとあてて柄をトンカチで叩けば、非力でも切れるそうです。そりゃそうだ。

完成

というわけでなんとか無事に取り付けられることができました。

f:id:yuzutan_hnk:20161213012902j:plain:w300

いざ使うとめちゃくちゃ便利。もう一つくらいつけてもいいかもしれません。

しかし、次はこんな失敗はしないように、自分の物はしっかり把握するべきですね。はぁ。

Markdownでブログを書きたいと思っていた【自己紹介記事】

ブログって、案外続かないものですよね。

特に、いろんなブログサイトで独自記法HTML記法があって、 独自記法で書いていざHTMLタグを見てみると、

「うわぁ、このタグほんとに必要なのか…?」

という事態に陥り、結局HTMLを書き起こしてホームページ作ってるのとそんなに変わらない。 ならいっそのこと自分のホームページにbbsを実装したほうが早いんじゃないかと。 そんなこと私にはできないんだけど

いや、頑張ればできる。頑張ればの話。

というわけで、MarkdownというHTMLへの変換の仕様がよくわかっている記法で書いてみたかったのです。 はてなさん感謝です。


改めまして、ゆずたんと申します。

本職は日曜プログラマです。日曜といいますが平日もプログラムします。むしろ平日の昼間にプログラミングしてます。

できる言語としては、HSPが一番でしょうか。 C#VB.NETVBAあたりは書けます。 JavajavascriptActionScriptあたりは一応読めます。 ほかの言語は触れる時間があれば触ってみたいです。

ネットでは、YouTubeを中心に楽曲のアレンジを投稿しています。

オリジナル曲もいくつか作ったことがありますが、アレンジのほうが圧倒的に多いです。 聴きたい方はこちらからどうぞ。

という、非常に馴染みにくい活動をしています。怖がらないでください、襲ったりしませんから。

これからこのブログには、プログラムの備忘録を中心に掲載していきたいと思っています。 ほかにも、音楽の小ネタやいろいろな告知があれば掲載します。現状あるとは言っていません。

このブログを見て、役に立ったり、笑顔になったり、ラジバンdする人がいればうれしい限りです。 そういうブログにしていきたいです。

それでは、よろしくおねがいします。

現在 0000/00/00 00:00 を生きています。