平成28年秋季 問16. ガーベジコレクション
問題文「プログラム実行時の主記憶管理に関する記述として適切なものはどれか。」
解答群
ア. 主記憶の空き領域を結合して一つの連続した領域にすることを、可変区画方式という。
イ. プログラムが使用しなくなったヒープ領域を回収して再度使用可能にすることを、ガーベジコレクションという。
ウ. プログラムの実行中に主記憶内でモジュールの格納位置を移動させることを動的リンキングという。
エ. プログラムの実行中に必要になった時点でモジュールをロードすることを、動的再配置という。
正直なところ、正解がイだとわかったのはガーベジコレクションという言葉を聞いたことがあって、なんとなく間違いではないことだけがわかったからで、その他の解答群についてはさっぱり理解していないので調査対象とした。
まずはそれぞれの用語をしっかりと把握してみよう。
今回検索してみて、絵付きで解説してくれているサイトさんでは断トツにわかりやすく、且つ要領を得たサイトがすぐに見つかった。
Geechs Managineさんの「5分で分かるガーベジコレクションの仕組み」である。
実際Javaを勉強しようとして出てきた用語なのでよく覚えているが、C言語などを教えてもらおうとして挫折した頃は、メモリの解放なんかについて説明を受けた記憶がある。
ざっくりまとめてしまうとプログラムが一旦利用したメモリの領域を、自動で開放する仕組み、ということになる。
Javaなどの高級言語以前はプログラムを書くときにメモリの解放を指定する必要があったとかなんとか・・・ 実際にはそこまでどっぷりプログラムの勉強できなかったのでそんなコードを書いた覚えはまるでないがw
後、これは応用情報にはあまり出てこないかもしれないが今後のために覚えておきたいのが「Scavenge GC」と「Full GC」だ。
こちらも上のリンクである程度教えてくれているが、まとめてしまうとヒープ領域と呼ばれるメモリ領域には二つの種類があり、比較的長い間使われる(つまり複数回参照されるような)オブジェクトは「Old領域」それ以外の命が短いオブジェクトは「New領域」に格納される。この「New領域」と呼ばれるところをざっくり掃除してくれるのが「Scavenge GC(Scavengerでハイエナなどの動物、清掃する・不要物を除去するなどの意)」で「Old・New領域」両方を全部掃除するのが「Full GC」ということだ。
何故覚えておきたいかというと、「Full GC」が頻繁に起こるとプログラム処理時間に影響があるから、とだけ書いておきたい。詳しく知りたい方は上記リンクを参照されたい。
次に可変区画方式について、だが、ググった結果を色々見ていると非常に端的に表現してくれているサイトを見つけた。
京都産業大学 大本教授?の平成14年度システムソフトウェア講義資料の「第7章 記憶管理」である。
おそらくは講義に使用するためにパワーポイント的にまとめた資料だと思われるが、非常に端的にかつ的確に要点をまとめてくれているのでわかりやすい。初めて開いた時は何かの冗談かバグかと思ったぐらいだが・・・
で、可変区画方式というのは、メモリを使う場合にプログラムが必要な分量だけ使う方式、ということになるが、もっと言うとプログラムが必要とするメモリのサイズはプログラムによって違うため、どれだけのサイズを指定するか?という問題が出てくる。
この割り当て方法について、プログラムがどのくらい使用するかは「しらんっ これだけ用意したからこれ使えっ( ゚Д゚)」と指定する方式を「固定区画方式」、
「ここに必要な分の領域があるからここを使ってねぇ(*´▽`*)」と指定する方式を「可変区画方式」というらしい。
他のページも時間があるときに(できればサイトがなくならないうちに)見てみたいが、他に試験で使うような内容を書いてくれているサイトもあったので紹介しておきたい。
it-資格.jpというサイトさんの「実記憶管理」である。
どうやら基本情報か応用情報資格試験用のサイトのようで、関連する用語をまとめてくれてはいる、が、全てが有益か?全てがわかりやすいか?という点では疑問がある。
次に、動的リンキングなのだが、この用語についてはなかなかピンポイントで「それが何を意味するか」という答えが出てこなかった。
ググった結果の多くは試験を受ける人を対象にしたもので、非常にざっくりと用語を説明してくれているだけである。
そこで見つけたのは「基本情報処理技術者になってください」というサイトさんの「動的リンキング」というページである。
このサイトさんはおそらく実際に何かのプログラムを作っているような人が書いているサイトなのか、非常にゆるーく、且つわかりやすく実際に怒っているだろうと思われることを例示して書いてくれている。
ただ、書かれている内容がゆるすぎる感じもあったので、英語でも検索してみた。
そこで見つけたのは「Computer Science from the Bottom Up」というサイトさんの「Chapter 9. Dynamic Linking」というページである。
転載させていただくと、
******************************
Each executable contains a reference essentially saying "I need library foo". When the program is loaded, it is up to the system to either check if some other program has already loaded the code for library foo into memory, and thus share it by mapping pages into the executable for that physical memory, or otherwise load the library into memory for the executable.
******************************
ざっくり訳すと
******************************
実行ファイル(プログラム)は「こんなライブラリが必要だよぉ」と言う情報だけ持っていて、そのプログラムが実行されるときにシステム(OS)側が他のプログラムが同じライブラリをメモリ上にロードして(呼び出して)いるかどうかをチェックし、あればその場所をプログラムに教えなければメモリにロードするということをする。
******************************
ということである。(だいぶ意訳しているので疑わしい場合は自分で訳してほしい。)
そして最後に「動的再配置」だが、これも同じくしっかりとした説明を探すのが難しかった。色々とブラウジングしてここで(全部は当然理解できなかったものの)ある程度納得のいく説明を見つけることができた。
宮城教育大学、(なんの授業かはわからないが)「授業のページ」より「オペレーティングシステム第5-2章 主記憶の管理-2-」
このページ中、「5.8 動的再配置機能を用いるマルチプログラミング」という項目があり、内容を抜粋すると
******************************
メモリフラグメンテーション問題を解決するには、空き領域を結合してーつの連続した大きな空き領域にすればよい。それには、実行中のプロセスをメモリ内で移動させる必要がある。この処理を、メモリコンパクション、この機能を動的再配置機能という。****(中略)****この動的再配置機能によって、プロセスをメモリにロードするための領域の動的作成、削除、拡大、縮小によって生ずるメモリフラグメンテーションを解決できる。
******************************
そろそろ疲れてきたのでフラグメンテーションについては割愛させてもらうが、メモリのフラグメンテーションが発生した場合に、領域を効率的に使うために利用されるのが動的再配置と呼ばれる機能ということになる。
可変区画方式ではメモリが充分に空いている場所を指定してプログラムを配置するため、フラグメンテーションが発生する。このような場合にメモリを有効利用するため実行中のプログラムが利用しているメモリを別の場所に移動することでメモリの利用率を向上させようというものらしい。
ここまで調べて改めて問題を読み返してみると、「ア.ウ.エ.」については明らかに説明している文章と用語が一致していないのがわかる。。。
というか今日の俺は頑張ったっ( ゚Д゚)
2017年3月8日水曜日
2017年3月7日火曜日
トレーニング日誌 2017/3/6~
一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。
ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。
2017/3/6
体重:74.8kg
体脂肪率:20.9%
基礎代謝量:1648kcal
基礎代謝量:1648kcal
肉体年齢:38歳
シックスパックトレーナー Lv.15
※今日は珍しく海外と打ち合わせがあった。
生来声がでかいのもあるだろうが、英語でしゃべると決まってその後に「聞かなければならないのか?」と思うほど問われることがある。
「英語ぺらぺらですか?」
この問いはいついただいても非常に困る。
この問いを俺の頭の中で変換すると、「英語はネイティブ並みに話せますか?」ということになるのだが、聞いてる側からするとその辺の違いはあまり関係ないらしい。
生来声がでかいのもあるだろうが、英語でしゃべると決まってその後に「聞かなければならないのか?」と思うほど問われることがある。
「英語ぺらぺらですか?」
この問いはいついただいても非常に困る。
この問いを俺の頭の中で変換すると、「英語はネイティブ並みに話せますか?」ということになるのだが、聞いてる側からするとその辺の違いはあまり関係ないらしい。
多分英語が全く話せない日本人の人から俺がしゃべってるのを聞くと区別はつかないと思うが、わかる人には明らかに日本人だとわかるぐらいの違いがあるらしい。
これは昔、大学を卒業してから日本に英語講師をしに来ていた中国系アメリカ人(母国語:英語)の友達が言っていたことだが、まず母音の発音が微妙らしい。
それと、利用する単語や言い回しが少しネイティブに言わせると妙だということだ。
つまり、ネイティブ並みではないっ ⇒ ぺらぺらではないっ( ゚Д゚)
体重:74.7kg
体脂肪率:20.5%
基礎代謝量:1656kcal
基礎代謝量:1656kcal
肉体年齢:37歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2
※昨日は連日のストレスを言い訳にまたもや酒を飲んだ。が、やはり食べるものと塩分を調整すればそこまで大きな影響がないことは、ほぼ確信に変わってきた。
毎日ここに書くことはその日にある程度ネタを考えるのだが、仕事の、しかも愚痴ばかりなのでたまには趣向を変えてみようと思い、晩飯を写真に撮ってみた。
箸が二膳あるのは二人いるわけではなく、納豆のねばねば対策である。
左上がいつも話題に上がる鶏ゴボウサラダである。最近はほとんどマヨネーズを入れず(というかマヨネーズを入れる意味があまりなくなっているぐらいちょっとだけなのだが)、胡麻とレモン汁で味をつけている。
まだ摂取塩分まで計算できていないが、塩分を極力摂らないようにするためだ。
そして右下が高野豆腐を入れた味噌汁である。高野豆腐で一品作っても良いのだろうが、そこまで凝ってもそこまで食事に喜びを感じる方ではないので、味とかは二の次である。時間を優先するとこういう形になるのは当たり前である。
ちなみに最近は減塩味噌を使い、塩分無添加の出汁スティックを倍量入れることでこちらも塩分を少なくする対策を施してある。
前にも書いたが、米を入れないと不思議なことに食べてからそんなに時間をおかなくても深い眠りにつけることがわかっている。現段階では個人の感想に過ぎないが、血糖値が上がることが睡眠を妨げるのではないかと想像している。
毎日ここに書くことはその日にある程度ネタを考えるのだが、仕事の、しかも愚痴ばかりなのでたまには趣向を変えてみようと思い、晩飯を写真に撮ってみた。
箸が二膳あるのは二人いるわけではなく、納豆のねばねば対策である。
左上がいつも話題に上がる鶏ゴボウサラダである。最近はほとんどマヨネーズを入れず(というかマヨネーズを入れる意味があまりなくなっているぐらいちょっとだけなのだが)、胡麻とレモン汁で味をつけている。
まだ摂取塩分まで計算できていないが、塩分を極力摂らないようにするためだ。
そして右下が高野豆腐を入れた味噌汁である。高野豆腐で一品作っても良いのだろうが、そこまで凝ってもそこまで食事に喜びを感じる方ではないので、味とかは二の次である。時間を優先するとこういう形になるのは当たり前である。
ちなみに最近は減塩味噌を使い、塩分無添加の出汁スティックを倍量入れることでこちらも塩分を少なくする対策を施してある。
前にも書いたが、米を入れないと不思議なことに食べてからそんなに時間をおかなくても深い眠りにつけることがわかっている。現段階では個人の感想に過ぎないが、血糖値が上がることが睡眠を妨げるのではないかと想像している。
Labels:
生活実験
2017年3月6日月曜日
MIPS
平成28年秋季 問15. MIPS
問題文「オンライントランザクション処理システムにおいて、1分当たりの平均トランザクション数が1,200件であり、1件のトランザクション処理で100万命令を実行する場合、CPU性能が100MIPSのコンピュータを使用した時のCPUの平均利用率は何%か。」
解答群
ア. 5
イ. 10
ウ. 15
エ. 20
不正解だったので調査対象にしたのだが、改めて考えてみると非常に簡単な問題だった。
逆に、こういう問題こそ取りこぼしが無いようにしたいものだ。
まず、MIPSとは、
Million Instructions per second の略とのこと。これは問題文に「100万命令を実行」とあるので、知らなくてもなんの略なのかはわかりそうなものである。
しっかりと文章を読み解くと、まず
「1件のトランザクション処理で100万命令を実行」し、利用しているCPUが
「CPU性能が100MIPS」つまり100万命令を1秒で実行する
というところから、100件のトランザクションを1秒で処理できることがわかる。
ここまで書いてきて、解答が当たったけども根本的な間違いを犯していたことに気づいた。
1秒で1件の処理だから1,200件を60秒で割ると答えは「20」だっ( ゚Д゚)
大間違いである。
100MIPSはつまり、100×100万命令を1秒で実行する(Million = 1,000,000)なので、1分当たりの処理能力は60秒×100で6,000命令となる。
1,200/6,000は「0.2」となるので、20%が正解となる。
問題の要点としては100MIPSが「100×100万命令」であるところだ。
時間がない状態で考えると間違えやすい(英語・技術両面で恥ずかしい限りだが)問題なので、特に自分の肝に銘じておきたいと思う。
問題文「オンライントランザクション処理システムにおいて、1分当たりの平均トランザクション数が1,200件であり、1件のトランザクション処理で100万命令を実行する場合、CPU性能が100MIPSのコンピュータを使用した時のCPUの平均利用率は何%か。」
解答群
ア. 5
イ. 10
ウ. 15
エ. 20
不正解だったので調査対象にしたのだが、改めて考えてみると非常に簡単な問題だった。
逆に、こういう問題こそ取りこぼしが無いようにしたいものだ。
まず、MIPSとは、
Million Instructions per second の略とのこと。これは問題文に「100万命令を実行」とあるので、知らなくてもなんの略なのかはわかりそうなものである。
しっかりと文章を読み解くと、まず
「1件のトランザクション処理で100万命令を実行」し、利用しているCPUが
「CPU性能が100MIPS」つまり100万命令を1秒で実行する
というところから、100件のトランザクションを1秒で処理できることがわかる。
ここまで書いてきて、解答が当たったけども根本的な間違いを犯していたことに気づいた。
1秒で1件の処理だから1,200件を60秒で割ると答えは「20」だっ( ゚Д゚)
大間違いである。
100MIPSはつまり、100×100万命令を1秒で実行する(Million = 1,000,000)なので、1分当たりの処理能力は60秒×100で6,000命令となる。
1,200/6,000は「0.2」となるので、20%が正解となる。
問題の要点としては100MIPSが「100×100万命令」であるところだ。
時間がない状態で考えると間違えやすい(英語・技術両面で恥ずかしい限りだが)問題なので、特に自分の肝に銘じておきたいと思う。
Labels:
応用情報処理技術者試験
2017年3月5日日曜日
トレーニング日誌 2017/3/4~
一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。
ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。
2017/3/4
体重:74.6kg
体脂肪率:19.9%
基礎代謝量:1664kcal
基礎代謝量:1664kcal
肉体年齢:36歳
シックスパックトレーナー Lv.15
※今日は出社時点で落ち着かない一日だった。
忙しかったか?と言われると気ぜわしいだけでムカつくだけの不健康な一日だと言ってみる。
ストレスがたまった日は、飲むべしってことで今酒を飲んでいる。
体脂肪率はついに20%を切る領域になったが、どうせ上がったり下がったりするだろう。その内恒常的に20%を切れるようにはなるだろうが、なんかあるたびに酒飲んでると遠のくばかりだ。
仕事の愚痴を書いても仕方がないのだが、1日で終わる分量を整理して割り振るような役割の人が派遣社員を雇う場合はあってしかるべきだ。
まあ金もらっているし働いた分はもらえるからあまり文句は言うまい。。。
忙しかったか?と言われると気ぜわしいだけでムカつくだけの不健康な一日だと言ってみる。
ストレスがたまった日は、飲むべしってことで今酒を飲んでいる。
体脂肪率はついに20%を切る領域になったが、どうせ上がったり下がったりするだろう。その内恒常的に20%を切れるようにはなるだろうが、なんかあるたびに酒飲んでると遠のくばかりだ。
仕事の愚痴を書いても仕方がないのだが、1日で終わる分量を整理して割り振るような役割の人が派遣社員を雇う場合はあってしかるべきだ。
まあ金もらっているし働いた分はもらえるからあまり文句は言うまい。。。
体重:74.8kg
体脂肪率:20.3%
基礎代謝量:1662kcal
基礎代謝量:1662kcal
肉体年齢:37歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2
※今日は昨日と打って変わって静かな一日。
人それぞれ色んな悩みがあるもんだ。
しかし俺は18歳以降、精神的に歳を取っている気がしていない、というのが普通だと思っていたら20代にして40歳まで年老いてしまっている人がいるらしい。
そのまま年取ってしまったら60歳で80歳になってしまうではないかっ( ゚Д゚)
いや、違うな・・・
精神年齢が2倍の速度で40代までに年老いているわけだから・・・ Y=2X で60歳までに120歳になれる計算になれるわけだ・・・
すごいな・・・前人未踏まで歳を取るがよいっ( ゚Д゚)
人それぞれ色んな悩みがあるもんだ。
しかし俺は18歳以降、精神的に歳を取っている気がしていない、というのが普通だと思っていたら20代にして40歳まで年老いてしまっている人がいるらしい。
そのまま年取ってしまったら60歳で80歳になってしまうではないかっ( ゚Д゚)
いや、違うな・・・
精神年齢が2倍の速度で40代までに年老いているわけだから・・・ Y=2X で60歳までに120歳になれる計算になれるわけだ・・・
すごいな・・・前人未踏まで歳を取るがよいっ( ゚Д゚)
Labels:
生活実験
2017年3月4日土曜日
仮想サーバの冗長化設計
平成28年秋季 問13. 仮想サーバの冗長化設計
問題文「仮想サーバの冗長化設計における可用性評価に関する記述のうち、クラスタソフトウェアを用いた評価として、適切なものはどれか。」
解答群
ア. OS、アプリケーションおよびハードウェアの障害に対応し、障害時に障害が発生していないサーバに自動的に処理を引き継ぐので、切替え時間の短い安定した運用が求められる場合に有効である。
イ. 仮想サーバを停止させずに物理サーバ間で仮想サーバを移動することが可能となるので、メンテナンスなど業務移行の際も含めて業務の停止が全く許容できない場合に有効である。
ウ. 物理サーバに備わっている機能を利用するので、ハードウェアの障害にだけ対応し、障害時に業務停止が許容される場合に有効である。
エ. 物理サーバのリソース(CPU、メモリなど)をブロック単位に物理的に分割し、あるブロックの障害が他のブロックに影響しないようにするので、障害時に業務の停止が許容できない場合に有効である。
まず、多少チート気味だが解答群のそれぞれの用語を見てみることにする。
ア. クラスタリング方式
イ. ライブマイグレーション方式
ウ. 仮想マシン方式
エ. パーティショニング方式
で、答えであるクラスタリング方式というものから調査を始めたところ・・・見事にラビリンスに迷い込んだ。
ただし、この分野の迷宮は実際に仕事で接する機会も多かったりするので恐怖のラビリンスというよりかはワクワクしながらあっちこっち見回っている感じである。
クラスタリングから仮想サーバ、そしてそもそもの仮想化に至るまで迷宮内部に入り込んだ時点で非常に時間を浪費していることに気がついた。そして、都合4日間お気に入り保存せずにブラウジングした結果を酔っぱらって間違ってシャットダウンしてしまった。。。
そこで、まずは「サーバ仮想化」という言葉でGoogle先生に聞いてみた。
広告を除く検索結果2位に目を引くタイトルが表示された。「5分で絶対にわかるサーバ仮想化-IT」というサイトだ。
流し読みしてみたが、具体的な名詞は少なく、概念的に仮想化というのを捉えるのであればよいのかもしれないが、では俺基準で「絶対に理解できたか?」と言うとそうは言い難い。あくまで俺基準ではあるが・・・
かなり長いシリーズで仮想化を詳述してくれていたサイトがあったのだが、シャットダウンしてしまったのが悔やまれる。。。
と・・・しばらく自分が考えそうなキーワード検索したところ、あったっ(*´▽`*)
これは久しぶりに自分をほめてあげたい。
検索ワード「仮想化 パーティショニング」で検索したところ、ASCII.jpさんの「パーティショニングによる仮想化とは?」というサイトが引っ掛かった。
このサイトさんでは、仮想化技術についてかなり詳細に取り扱っていてくれていて、第一回は「さまざまな仮想化技術の基本を理解する」となっている。ここを読み始めたが結構な分量になるのでシリーズ3分の1ぐらいで、
ハッ( ゚Д゚) 結局問題の解答を得られていないっ( ゚Д゚)
と思ったわけである。
上のシリーズは問題を解くだけでなく、最近の大規模な基幹システムなどでは普通に使われている(今働いている企業でも使われている)ものなので、時間があったら読んでみたいと思う。
では、俺が犯した間違いを繰り返さないように、必要な情報だけ拾って問題に解答できる力のみつけれるように、拾い読みして理解できるようにまとめると以下のようになる。
まず、サーバの仮想化によるクラスタリング方式について、言葉の意味は
Wikipediaによると「英語で『房』『集団』『群れ』のこと。」
英語で検索すると次のような意味になる
Dictionary.comより「a number of things of the same kind, growing or held together; a bunch: "a cluster of grapes"
となっている。ブドウの房をイメージすればよいようだ。
これを踏まえて、Enterprise Zin?さんの「クラスタサービスとは?」というサイトを見ると、かなりまとめて書いてくれている。
書いてあることをまとめると、クラスタリング方式には大きく分けて二つ、「アクティブ・スタンバイクラスタ」と呼ばれる方式と「負荷分散クラスタ」という方式に分かれている。
アクティブ・スタンバイクラスタは別の用語でいうと「ホットスタンバイ」と呼ばれる冗長化方式でサーバを2つ用意し、一つは待機系として、稼働系サーバに問題が発生した際にサービスを継続して提供するように構成されたものである。
この方式をさらに発展させたもの(だと思われるのが)負荷分散クラスタと呼ばれるもので、それこそブドウの房のようにいくつものサーバを「ロードバランサー」と呼ばれる負荷分散装置に接続して、ユーザからの要求に対して別々のサーバを割り当てる方法のことを言うそうだ。
次にライブマイグレーション方式と呼ばれる方法はどうだろう?
英語で書くと「Live Migration」で、どうやら言葉だけからすると「生きたまま移植する」みたいな意味であると想像できる。死んだ状態で移植手術が行われたら人間だったら単なる解剖になってしまうが・・・
こちらの内容については「@IT」さんの「Hyper-V 2.0のライブ・マイグレーションの基礎知識」というサイトが非常によくまとめて下さっている。
このサイトでは、ライブマイグレーションという技術の前身である「クイック・マイグレーション」という方式も含めて触れてくれており、いかにしてサーバ業務の移行に伴うシステム停止の時間を短くしているかを教えてくれている。
簡単にまとめてしまうと、ある一つのサーバの業務を完全に他のサーバに引き継ぐことを考えるとクイックマイグレーションでは
1.サーバで稼働しているメモリの内容をコピーする
2.サーバで稼働しているストレージ(HDDなど)の内容をコピーする
3.業務を引き継ぐ
という内容になるが、1.と2.を行うためにはサービスの要求を停止しないと同期が取れないのでシステムの停止がその分必要になる。
そこで、ライブマイグレーションでは、
上の2.で行っているストレージのコピーを必要なくするためにストレージをさらに別の場所に分けてしまう ということを行い、
1.についてはコピー作業を段階的に行って完全に同期が取れたタイミングで業務を引き継ぐということを行っている
ということらしい。
上手くまとまっているかわからないが、これ以上詳しい内容(もしくは俺が言っている内容が間違っている場合)は上のサイトに詳しく載っているので参照してほしい(つまり丸投げである)。
最後にパーティショニング方式については・・・
Think ITというサイトさんから「仮想化~実装技術は様々」というページに書かれているパーティショニングの項目がわかりやすい。
今日でこの項目については終わりにしたいためやっつけてしまうが、Partitionに分けて仮想化を行っているものだと思われ、サーバ資産を物理的にせよ論理的にせよ、分けて機能を提供するものらしい。
実務で色々な技術に触れる機会が多い人は、ASCIIさんの「パーティショニングによる仮想化とは?」を参照するとわかりやすいと思う。
はっきり言って俺にはわからなかったが・・・w
ここまで調べて問題を見返してみると、確かに書いてあることは全く別の内容を示していることはわかった。
ただし、問題文のウ.だけは本当に理解不能だ。
******************************
物理サーバに備わっている機能を利用するので、ハードウェアの障害にだけ対応し、障害時に業務停止が許容される場合に有効である。
******************************
一体何の役に立っているというのだろうか・・・
問題文「仮想サーバの冗長化設計における可用性評価に関する記述のうち、クラスタソフトウェアを用いた評価として、適切なものはどれか。」
解答群
ア. OS、アプリケーションおよびハードウェアの障害に対応し、障害時に障害が発生していないサーバに自動的に処理を引き継ぐので、切替え時間の短い安定した運用が求められる場合に有効である。
イ. 仮想サーバを停止させずに物理サーバ間で仮想サーバを移動することが可能となるので、メンテナンスなど業務移行の際も含めて業務の停止が全く許容できない場合に有効である。
ウ. 物理サーバに備わっている機能を利用するので、ハードウェアの障害にだけ対応し、障害時に業務停止が許容される場合に有効である。
エ. 物理サーバのリソース(CPU、メモリなど)をブロック単位に物理的に分割し、あるブロックの障害が他のブロックに影響しないようにするので、障害時に業務の停止が許容できない場合に有効である。
まず、多少チート気味だが解答群のそれぞれの用語を見てみることにする。
ア. クラスタリング方式
イ. ライブマイグレーション方式
ウ. 仮想マシン方式
エ. パーティショニング方式
で、答えであるクラスタリング方式というものから調査を始めたところ・・・見事にラビリンスに迷い込んだ。
ただし、この分野の迷宮は実際に仕事で接する機会も多かったりするので恐怖のラビリンスというよりかはワクワクしながらあっちこっち見回っている感じである。
クラスタリングから仮想サーバ、そしてそもそもの仮想化に至るまで迷宮内部に入り込んだ時点で非常に時間を浪費していることに気がついた。そして、都合4日間お気に入り保存せずにブラウジングした結果を酔っぱらって間違ってシャットダウンしてしまった。。。
そこで、まずは「サーバ仮想化」という言葉でGoogle先生に聞いてみた。
広告を除く検索結果2位に目を引くタイトルが表示された。「5分で絶対にわかるサーバ仮想化-IT」というサイトだ。
流し読みしてみたが、具体的な名詞は少なく、概念的に仮想化というのを捉えるのであればよいのかもしれないが、では俺基準で「絶対に理解できたか?」と言うとそうは言い難い。あくまで俺基準ではあるが・・・
かなり長いシリーズで仮想化を詳述してくれていたサイトがあったのだが、シャットダウンしてしまったのが悔やまれる。。。
と・・・しばらく自分が考えそうなキーワード検索したところ、あったっ(*´▽`*)
これは久しぶりに自分をほめてあげたい。
検索ワード「仮想化 パーティショニング」で検索したところ、ASCII.jpさんの「パーティショニングによる仮想化とは?」というサイトが引っ掛かった。
このサイトさんでは、仮想化技術についてかなり詳細に取り扱っていてくれていて、第一回は「さまざまな仮想化技術の基本を理解する」となっている。ここを読み始めたが結構な分量になるのでシリーズ3分の1ぐらいで、
ハッ( ゚Д゚) 結局問題の解答を得られていないっ( ゚Д゚)
と思ったわけである。
上のシリーズは問題を解くだけでなく、最近の大規模な基幹システムなどでは普通に使われている(今働いている企業でも使われている)ものなので、時間があったら読んでみたいと思う。
では、俺が犯した間違いを繰り返さないように、必要な情報だけ拾って問題に解答できる力のみつけれるように、拾い読みして理解できるようにまとめると以下のようになる。
まず、サーバの仮想化によるクラスタリング方式について、言葉の意味は
Wikipediaによると「英語で『房』『集団』『群れ』のこと。」
英語で検索すると次のような意味になる
Dictionary.comより「a number of things of the same kind, growing or held together; a bunch: "a cluster of grapes"
となっている。ブドウの房をイメージすればよいようだ。
これを踏まえて、Enterprise Zin?さんの「クラスタサービスとは?」というサイトを見ると、かなりまとめて書いてくれている。
書いてあることをまとめると、クラスタリング方式には大きく分けて二つ、「アクティブ・スタンバイクラスタ」と呼ばれる方式と「負荷分散クラスタ」という方式に分かれている。
アクティブ・スタンバイクラスタは別の用語でいうと「ホットスタンバイ」と呼ばれる冗長化方式でサーバを2つ用意し、一つは待機系として、稼働系サーバに問題が発生した際にサービスを継続して提供するように構成されたものである。
この方式をさらに発展させたもの(だと思われるのが)負荷分散クラスタと呼ばれるもので、それこそブドウの房のようにいくつものサーバを「ロードバランサー」と呼ばれる負荷分散装置に接続して、ユーザからの要求に対して別々のサーバを割り当てる方法のことを言うそうだ。
次にライブマイグレーション方式と呼ばれる方法はどうだろう?
英語で書くと「Live Migration」で、どうやら言葉だけからすると「生きたまま移植する」みたいな意味であると想像できる。死んだ状態で移植手術が行われたら人間だったら単なる解剖になってしまうが・・・
こちらの内容については「@IT」さんの「Hyper-V 2.0のライブ・マイグレーションの基礎知識」というサイトが非常によくまとめて下さっている。
このサイトでは、ライブマイグレーションという技術の前身である「クイック・マイグレーション」という方式も含めて触れてくれており、いかにしてサーバ業務の移行に伴うシステム停止の時間を短くしているかを教えてくれている。
簡単にまとめてしまうと、ある一つのサーバの業務を完全に他のサーバに引き継ぐことを考えるとクイックマイグレーションでは
1.サーバで稼働しているメモリの内容をコピーする
2.サーバで稼働しているストレージ(HDDなど)の内容をコピーする
3.業務を引き継ぐ
という内容になるが、1.と2.を行うためにはサービスの要求を停止しないと同期が取れないのでシステムの停止がその分必要になる。
そこで、ライブマイグレーションでは、
上の2.で行っているストレージのコピーを必要なくするためにストレージをさらに別の場所に分けてしまう ということを行い、
1.についてはコピー作業を段階的に行って完全に同期が取れたタイミングで業務を引き継ぐということを行っている
ということらしい。
上手くまとまっているかわからないが、これ以上詳しい内容(もしくは俺が言っている内容が間違っている場合)は上のサイトに詳しく載っているので参照してほしい(つまり丸投げである)。
最後にパーティショニング方式については・・・
Think ITというサイトさんから「仮想化~実装技術は様々」というページに書かれているパーティショニングの項目がわかりやすい。
今日でこの項目については終わりにしたいためやっつけてしまうが、Partitionに分けて仮想化を行っているものだと思われ、サーバ資産を物理的にせよ論理的にせよ、分けて機能を提供するものらしい。
実務で色々な技術に触れる機会が多い人は、ASCIIさんの「パーティショニングによる仮想化とは?」を参照するとわかりやすいと思う。
はっきり言って俺にはわからなかったが・・・w
ここまで調べて問題を見返してみると、確かに書いてあることは全く別の内容を示していることはわかった。
ただし、問題文のウ.だけは本当に理解不能だ。
******************************
物理サーバに備わっている機能を利用するので、ハードウェアの障害にだけ対応し、障害時に業務停止が許容される場合に有効である。
******************************
一体何の役に立っているというのだろうか・・・
Labels:
応用情報処理技術者試験
2017年3月3日金曜日
トレーニング日誌 2017/3/1~
一連の記事で行っている実験のまとめはこちらのページ、生活実験:トレーニングを参照ください。
ざっくりまとめると忙しい中で一日30分のトレーニングと食事制限で体脂肪を落とせるのか?という実験をやっています。
2017/3/1
体重:74.9kg
体脂肪率:21.4%
基礎代謝量:1640kcal
基礎代謝量:1640kcal
肉体年齢:39歳
シックスパックトレーナー Lv.15
※派遣の仕事5日間が終わり、明日は保育園。
昼からなので酒を飲む。欲がないのか、生来からのものぐさなのかはわからないが、食べるものが固定されているのでカロリー計算できてしまう。
スーパーで売られている惣菜もそこまで魅力を感じないし、塩っ辛く感じるので最近は食べることがなくなった。
昼からなので酒を飲む。欲がないのか、生来からのものぐさなのかはわからないが、食べるものが固定されているのでカロリー計算できてしまう。
スーパーで売られている惣菜もそこまで魅力を感じないし、塩っ辛く感じるので最近は食べることがなくなった。
体重:74.5kg
体脂肪率:20.7%
基礎代謝量:1645kcal
基礎代謝量:1645kcal
肉体年齢:38歳
フレンチプレス(7.5kg) x25
ワンハンドローイング(7.5kg) x20
サイドレイズ+デッドリフト(7.5kg) x10
トライセプスエクステンション x10
トライセプスエクステンション x10
大胸筋アイソメトリック x2
※フレンチプレス(大胸筋)、ワンハンドローイング(大円筋)とダンベルカール(上腕二頭筋)の回数を5回ずつ増やしてみた。
翌日、というか今日、久しぶりに筋肉痛を感じて目が覚めた。負荷のコントロールはかなり良い感じなのだろうと想像している。
保育園様で昼食を勧められたが、今回は散々迷った挙句お断りした。
前回お昼をいただいた後、いったん減った体重が長いこと落ちない状態が続いたのでおそらく栄養価が高かったのだろうと想像。
恐るべし保育園の食事。
ただ、おやつは少ないのもあるのでお昼代わりにいただいた。イタリアのメニューなのか、餅のようなチーズの味のするおやつで、かなり空腹が和らいだ。
保育園様の方では俺が生活実験をしているのをご存知なので、栄養士の方に栄養価を聞いたところすぐに丁寧なメモ書きをいただけた。
一食当たり、タンパク質3.9g、脂質4.1g、炭水化物2.7gで総カロリーが111kcalとのこと。
保育園で提供される食事は子どもが一日に必要とするおよそ50%の栄養価になっているらしい。それを大人の分量食べれば結構な量になるのも不思議ではない。
んで、今日はひょんなことから友人と「上野公園」に行こうということになり、せっかく上野公園なんだからということでボートに乗ってみた。
地図で見る池も実際にボートでこぐと結構な広さである。ぐるっと一周回ってみると色んな鳥が無警戒に写真を撮らせてくれた。
あまりばたばたせずにボートを近寄せると、意外と近くまで接近を許してくれる。というか餌をもらいなれているのか逃げようともしない。
こいつらからすると「餌か?餌くれるんか?・・・なんだくれねえのか・・・」みたいな感じなのだろうか。
安全なのがわかると周りに3匹ほどの鳥が集まってきて、オールが漕げない状況に。
「かっ 囲まれたっ( ゚Д゚)」
が、しばらくすると興味がなくなったのか風に流されてどこかに行ってしまった。
ついでに上野動物園に行ってみた。
何故か?パンダを見たことが今までなかったからだ。
期待して動物園に入ってみると、入ってすぐにパンダの展示されている場所に誘導される。
「どうせパンダ見たいんだろ?ほれ、はよ見れ」ぐらいな勢いである。
ピンぼけしててわかりにくいが、腹を出して寝てしまっているパンダだ。
もう一匹の方は檻の中を同じ方向に回っていた、が、人が多すぎて写真を撮るのも面倒だったのでそのまま通り過ぎた。
人生初めてのパンダはそこまでの印象を与えてはくれなかった。
後は象がでっけぇ
とか、
おおっトラだっ
とか、
獏だっ 夢食われるっ( ゚Д゚)
とか見て回ったが、あまり時間がなかったので全部は回れなかった。
というか、上野動物園は結構広く、どうやらモノレールで別の領域に行けるらしかったがそこまでは時間が取れなかった。
しかし、ほとんどの動物が同じところをぐるぐる回るようなしぐさを見せていて、見てるとなんだか可哀想になってしまった。
結構自由にしていたのは写真を撮れなかったテナガザルと、こいつ
なんかの鹿である。ピンボケしていてわかりにくいが、こいつの飯である竹のはっぱを束ねたものらしいのだが、何か気にくわないのか角で
「おらっ おらっ( ゚Д゚)」
と突き上げている様子だ。
自由気まま感がとても気に入った。割と園内のど真ん中にあるのだが、どうやら導線的にわかりにくい場所にいるのと珍しくもない動物だからか誰も見ておらず、こやつは竹のはっぱを自由にむさぼりつつ
「おらっ おらっ( ゚Д゚)」
と竹に八つ当たりするという日々を繰り返しているらしい。なんだか同じところを回るとか、微動だにしないとかじゃなく、食べ物である竹で憂さを晴らしている様子がとても自分を保てているというか、誇らしくも見えたのが気に入った。
翌日、というか今日、久しぶりに筋肉痛を感じて目が覚めた。負荷のコントロールはかなり良い感じなのだろうと想像している。
保育園様で昼食を勧められたが、今回は散々迷った挙句お断りした。
前回お昼をいただいた後、いったん減った体重が長いこと落ちない状態が続いたのでおそらく栄養価が高かったのだろうと想像。
恐るべし保育園の食事。
ただ、おやつは少ないのもあるのでお昼代わりにいただいた。イタリアのメニューなのか、餅のようなチーズの味のするおやつで、かなり空腹が和らいだ。
保育園様の方では俺が生活実験をしているのをご存知なので、栄養士の方に栄養価を聞いたところすぐに丁寧なメモ書きをいただけた。
一食当たり、タンパク質3.9g、脂質4.1g、炭水化物2.7gで総カロリーが111kcalとのこと。
保育園で提供される食事は子どもが一日に必要とするおよそ50%の栄養価になっているらしい。それを大人の分量食べれば結構な量になるのも不思議ではない。
んで、今日はひょんなことから友人と「上野公園」に行こうということになり、せっかく上野公園なんだからということでボートに乗ってみた。
地図で見る池も実際にボートでこぐと結構な広さである。ぐるっと一周回ってみると色んな鳥が無警戒に写真を撮らせてくれた。
あまりばたばたせずにボートを近寄せると、意外と近くまで接近を許してくれる。というか餌をもらいなれているのか逃げようともしない。
こいつらからすると「餌か?餌くれるんか?・・・なんだくれねえのか・・・」みたいな感じなのだろうか。
安全なのがわかると周りに3匹ほどの鳥が集まってきて、オールが漕げない状況に。
「かっ 囲まれたっ( ゚Д゚)」
が、しばらくすると興味がなくなったのか風に流されてどこかに行ってしまった。
ついでに上野動物園に行ってみた。
何故か?パンダを見たことが今までなかったからだ。
期待して動物園に入ってみると、入ってすぐにパンダの展示されている場所に誘導される。
「どうせパンダ見たいんだろ?ほれ、はよ見れ」ぐらいな勢いである。
ピンぼけしててわかりにくいが、腹を出して寝てしまっているパンダだ。
もう一匹の方は檻の中を同じ方向に回っていた、が、人が多すぎて写真を撮るのも面倒だったのでそのまま通り過ぎた。
人生初めてのパンダはそこまでの印象を与えてはくれなかった。
後は象がでっけぇ
とか、
おおっトラだっ
とか、
獏だっ 夢食われるっ( ゚Д゚)
とか見て回ったが、あまり時間がなかったので全部は回れなかった。
というか、上野動物園は結構広く、どうやらモノレールで別の領域に行けるらしかったがそこまでは時間が取れなかった。
しかし、ほとんどの動物が同じところをぐるぐる回るようなしぐさを見せていて、見てるとなんだか可哀想になってしまった。
結構自由にしていたのは写真を撮れなかったテナガザルと、こいつ
なんかの鹿である。ピンボケしていてわかりにくいが、こいつの飯である竹のはっぱを束ねたものらしいのだが、何か気にくわないのか角で
「おらっ おらっ( ゚Д゚)」
と突き上げている様子だ。
自由気まま感がとても気に入った。割と園内のど真ん中にあるのだが、どうやら導線的にわかりにくい場所にいるのと珍しくもない動物だからか誰も見ておらず、こやつは竹のはっぱを自由にむさぼりつつ
「おらっ おらっ( ゚Д゚)」
と竹に八つ当たりするという日々を繰り返しているらしい。なんだか同じところを回るとか、微動だにしないとかじゃなく、食べ物である竹で憂さを晴らしている様子がとても自分を保てているというか、誇らしくも見えたのが気に入った。
Labels:
生活実験
2017年3月1日水曜日
不定期身体測定 実験中:2017/2/28
12月末から続けている実験で一日30分のトレーニングと食事制限で体脂肪が落ちるかを検証している。
12月末時点からどのくらい変化しているかを確認するために、比較の数値は実験開始直前のものを採用する。
2016/12/29 ⇒ 2017/2/28
胸囲: 106.0 ⇒ 109.0
上腕伸展囲: 31.6 ⇒ 35.5
上腕屈曲囲: 36.5 ⇒ 38.5
前腕周径: 30 ⇒ 30
胴囲: 92 ⇒ 84
大腿周径: 54.3 ⇒ 55.0
※今回の計測では筋肉量はほとんど変わっていないことが分かった。前回予想したように筋肉に栄養がいきわたって実際の筋肉に変わっているのではないかと想像している。
実際に屈曲した時の筋肉が以前より大分固くなっているのがわかる。
大腿周径は5mm程度少なくなり、脂肪が少しずつだが減ってきているのではないかと思われる。
胴囲は大きく減少しており、内臓脂肪から減少していることをうかがわせる。写真ではわかりにくいが腹筋の横の部分が凹んできている。
2016/12/29時点
↓
2017/2/28時点
腕周りは前回とそこまで変わっていないように思うが、肩(三角筋)辺りが大きくなっているのがわかる。
また、大円筋(正面から見た時の脇の下から覗いている筋肉)が膨らみ、胸と腹回りの差が大きくなってきている。大円筋が大きくなっているのに胸囲が増えていないのはおそらくもともとぜい肉がそのくらいの大きさだったのだと思われるのと、脇の下のぜい肉が減ってきているのだと思われる。
2016/12/29時点
↓
2017/2/28時点
横から見ると大胸筋の膨らみというか、その下との差異が大きくなっているのがわかる。そろそろCカップに突入しているはずだ(予想)。
腹回りについているぜい肉はなかなか取れにくいようだが、確実に内臓脂肪が減っているように見え、全体的にサイズが小さくなっているのがわかる。
前回からは食事には大幅な見直しをしていないが、塩分を少なくしてから一時的に飢餓感に襲われて菓子パンを食べることが多かった。
その点についてはアーモンドを15粒、おやつ時に摂ることと朝食に少し多めの塩分を取ることで解消している。
今回の減塩については、あまりに急激な変化だったために体の組成変化が追い付かなかったことが飢餓感を助長していたように思われ、その点については反省すべきだと思う。
体脂肪を落としていくためには塩分を少なくする必要があると思うが、体の組成変化がついてこれるように少しずつすべきだと思う。
最近仕事が忙しく、酒の回数が規定値(週2回)を超えてしまうことがある。仕事全体の量を調整しながら平準化を図る必要があるように思う。守秘義務があるので細かくは言えないが、最近入った職場の仕事の全体の流れを把握しつつあるので、一つ一つを細分化し、チームで共有し、小気味よく回転させていけるようにしようと考えている。
12月末時点からどのくらい変化しているかを確認するために、比較の数値は実験開始直前のものを採用する。
2016/12/29 ⇒ 2017/2/28
胸囲: 106.0 ⇒ 109.0
上腕伸展囲: 31.6 ⇒ 35.5
上腕屈曲囲: 36.5 ⇒ 38.5
前腕周径: 30 ⇒ 30
胴囲: 92 ⇒ 84
大腿周径: 54.3 ⇒ 55.0
※今回の計測では筋肉量はほとんど変わっていないことが分かった。前回予想したように筋肉に栄養がいきわたって実際の筋肉に変わっているのではないかと想像している。
実際に屈曲した時の筋肉が以前より大分固くなっているのがわかる。
大腿周径は5mm程度少なくなり、脂肪が少しずつだが減ってきているのではないかと思われる。
胴囲は大きく減少しており、内臓脂肪から減少していることをうかがわせる。写真ではわかりにくいが腹筋の横の部分が凹んできている。
2016/12/29時点
↓
2017/2/28時点
腕周りは前回とそこまで変わっていないように思うが、肩(三角筋)辺りが大きくなっているのがわかる。
また、大円筋(正面から見た時の脇の下から覗いている筋肉)が膨らみ、胸と腹回りの差が大きくなってきている。大円筋が大きくなっているのに胸囲が増えていないのはおそらくもともとぜい肉がそのくらいの大きさだったのだと思われるのと、脇の下のぜい肉が減ってきているのだと思われる。
2016/12/29時点
↓
2017/2/28時点
横から見ると大胸筋の膨らみというか、その下との差異が大きくなっているのがわかる。そろそろCカップに突入しているはずだ(予想)。
腹回りについているぜい肉はなかなか取れにくいようだが、確実に内臓脂肪が減っているように見え、全体的にサイズが小さくなっているのがわかる。
前回からは食事には大幅な見直しをしていないが、塩分を少なくしてから一時的に飢餓感に襲われて菓子パンを食べることが多かった。
その点についてはアーモンドを15粒、おやつ時に摂ることと朝食に少し多めの塩分を取ることで解消している。
今回の減塩については、あまりに急激な変化だったために体の組成変化が追い付かなかったことが飢餓感を助長していたように思われ、その点については反省すべきだと思う。
体脂肪を落としていくためには塩分を少なくする必要があると思うが、体の組成変化がついてこれるように少しずつすべきだと思う。
最近仕事が忙しく、酒の回数が規定値(週2回)を超えてしまうことがある。仕事全体の量を調整しながら平準化を図る必要があるように思う。守秘義務があるので細かくは言えないが、最近入った職場の仕事の全体の流れを把握しつつあるので、一つ一つを細分化し、チームで共有し、小気味よく回転させていけるようにしようと考えている。
Labels:
生活実験
登録:
投稿 (Atom)