・CPUとは演算と制御を担当するCPUになる。CPUの役割は「プログラムを実行すること」に当たる。制御・演算する際にはメモリ(主記憶装置)上の命令やデータをそのまま使用するのではなく、CPU内部にあるレジスタという高速なメモリを使用する。レジスタとメモリ間にはキャッシュメモリというCPUとメモリ(主記憶装置)間の性能差を埋める目的のメモリも存在する。・レジスタメモリを低速メモリとするならば、レジスタは高速メモリと表現することができる。CPUはメモリから命令を取り出すと命令レジスタというレジスタに保存します。命令実行に必要なデータも別レジスタに保存し命令を実行する。・キャッシュメモリCPUはメモリからデータを取得するが、CPUの速度と比較するとメモリの速度は遅くボトルネックになる。CPUが直接アクセスできる記憶装置」を指す。メインメモリやメモリと呼ばれる。CPUは基本的にHDDから直接データを読み込むことはできない。そのため、まずCPUにプログラムを処理させたい場合にはメモリに展開する必要がある。DRAMコンデンサを使用している。電荷がたまっていれば"1"なければ"0"を表現する。1つのコンデンサは1bitを表現できるが、メモリ容量分のコンデンサも必要となる。時間とともにコンデンサの電荷は放電するため、定期的に再充電する必要がある。回路が複雑なため集積度を上げるのが難しく価格面でのデメリットがある。CPUが直接アクセスできない記憶装置」を指す。代表的なものではHDD、DVD-ROM、テープ、ディスクストレージなどを指す。メモリはコンピュータの電源供給がなくなると同時に内容が失われるために保存したいものは補助記憶装置に置いておく必要がある。●入力・出力コンピュータの代表的な入力装置としてはキーボードやマウス、出力装置としてはディスプレイなどが存在している。ネットワークインターフェースのように入力と出力を兼ね備えた入出力装置もある。ネットワークインターフェースに届いたデータはデバイス上のレジスタ(CPUのレジスタとは別のもの)に保存する。その後レジスタからメインメモリに複製される(ここまでくるとOSやアプリケーションがネットワーク上のデータを見ることができる)。●BIOSハードウェアの基本的な制御をするために、ハードウェア内部にはファームウェアと呼ばれるソフトウェアが組み込まれている。BIOSはファームウェアの一種であり、コンピュータの基本的な制御をするためにコンピュータ内部に組み込まれている。コンピュータの電源を入れると、BIOSのプログラムが実行される(OSが起動されるわけではない)。BIOSはハードウェアのチェックやOSの起動を担当をしている。OSに制御が移るまでがBIOSの出番である。最近ではUEFIという仕組みがBIOSを置き換える形で浸透している。OSosは大まかに部類すると「サービスプログラム」、「言語プロセッサ」、「制御プログラム」に分類される。1,サービスプログラムコンピュータ利用者を手助けするプログラムを「サービスプログラム」と呼んでいる。2,言語プロセッサ人間が作成する「ソースプログラム」を言語プロセッサでプログラムへと変換することが行われる。3,制御プログラムハードウェアやソフトウェアを制御するプログラムを指す。制御プログラムが存在することで個々のプログラムはハードウェア管理から解放され、プログラム開発の効率が上がるというメリットがある。ハードウェア処理を行う場合には制御プログラムに仲介をお願いをする必要がありデメリットになる。制御プログラムは一般に「カーネル(kernel)」と呼ばれている。物理サーバには様々な種類が存在している。アプリケーションの視点で見たときにハードウェアの細かい仕様から解放されることを意味する。逆に抽象化されていることで、カーネル以外からハードウェアを制御することは基本的にできないようにもなっている。そのため、OS(カーネル)の機能を呼び出すために「システムコール」が使われる。複数の実行と終了を繰り返しているためにメモリ空間は虫食い状態になっている。空き総量は十分でも連続したメモリ領域を確保できずにプログラムの読み込みに失敗することもあり得る。仮想記憶ではプログラムが実行されるたびにOSが仮想的なメモリを生成するが、プログラムに対しては物理メモリではなくこの仮想メモリが割り当てられる。このようにすることで、物理メモリが虫食い状態であっても領域を有効活用することができプログラムに対してはあたかも連続した領域を確保したかのように見せることができる。メモリ空間が分離されているためにプログラムが暴走した際にも他のプログラムに影響を与えることがなくなる。2,ページアウトとページイン最近のOSではプログラム全てのページではなく必要なページだけが物理メモリに読み込まれている。この必要か否かの判定は常に実施されており、不要と判断されたページは物理メモリからHDDに追い出される。この追い出しを「ページアウト」と呼ぶ。必要とされたページはハードディスクから物理メモリに読み込まれるがこれを「ページイン」と言う。物理メモリが不足している際にはこのページアウトとページインが頻繁に発生することで動作が遅い状態になり注意が必要である。●タスク管理コンピュータにおいて処理する仕事の最小限の単位をタスクと呼びOSがこのタスクを管理している。(cf.現場ではプロセスと呼ばれることも多い)●データ管理(揮発してしまうため)メモリの内容をコンピュータに内蔵されたハードディスクやストレージ装置などの補助記憶装置に書き込む必要があり、これらの読み書きをOSが管理している。(cf.OSはファイルシステムといった仕組みを使って管理する)●コラムー構築とテストテストでは設定値が正しいかの確認から設計書通りの動作になっているかも確認する。システムが正常通り動作するかを確認する「正常系テスト」と併せて「異常系テスト」も行う。ex)障害を想定してサーバやネットワーク装置からケーブルを除去したり、プロジェクトによってはサーバの電源モジュールを抜いたりをする。ミドルウェアアプリケーションとOSの中間的な処理を行うソフトウェア。・現在のシステムにおける一般的なシステム構成は「クライアント・サーバシステム」である。Webページも「Webシステム」というWebブラウザを通して利用できるクライアント・サーバシステムの一つ。「クライアント」と「サーバ」のように役割が非対称になっており、クライアント端末に専用のアプリケーションをインストールしなくてもWebブラウザのみでシステムを利用できる(対称の役割を持つ端末が相互に通信することをP2Pと呼ぶ)。Webの3層構造がWeb、AP、DBに特化した機能を持つサーバ群である。・webサーバ主にクライアントからのリクエストに対して「静的コンテンツを見せること」と「APサーバに動的コンテンツを要求し、送ってきた結果を見せること」という二つの役割がある。静的コンテンツ-誰が見ても常に同じ内容を表示するもの動的コンテンツー見る人や時間などによって内容が変わるもの・APサーバAPサーバはWebサーバから受けたリクエストを元にJavaやPHPなどで作成されたアプリケーションを実行して動的コンテンツを生成する。・DBサーバDBサーバとはデータベース管理システムが動作しているサーバを指す。DBサーバはストレージに新たなデータを書き込んだり、必要な情報を引き出したり更新したりする。データを操作する際には、APサーバのリクエストに従って「SQL」と呼ばれるデータベース言語を実施し、その結果をAPサーバに返す。DBサーバには性能を求められることも多く、物理サーバ自体も多くのCPUやメモリが搭載され、インフラエンジニアにもより効率良くデータを抽出するための「チューニング」という作業が求められる。・Web3層構造Web3層構造が採用される理由には「セキュリティの高さ」、「管理のしやすさ」があげられる。開発担当から運用担当への引継ぎを「運用引継ぎ」と呼ぶ。インフラ領域においては「サーバ起動・停止」、「バックアップ、リストア」などが該当する。ミドルウェア(システム運用)・システム運用とは何か運用においては「システム障害は起きるもの」として準備しておくことが重要である。準備には様々な観点のものがあるが「単一障害ポイントをなくし、バックアップを定期的に取得し、障害検知のために監視すること」が基本になる。・バックアップデータの保存には別領域ディスクやLTO媒体(DtoT)がよく使用される。→「バックアップの成否確認」といった一連の処理はバックアップ専用のミドルウェアを介して運用者が扱いやすいひとまとまりになっており、これらは「バックアップジョブ」と呼ばれる。・ジョブ管理システムの運用中には定期的な定型作業が発生する(ex.ログの取得、サーバの再起動)。このような作業を手動で1つ1つ実行するのは大変なためジョブ運用が行われる。ジョブ運用ではバックアップなどの処理を実行するジョブ(スクリプトやコマンド)を設定し、それぞれのジョブの順序やスケジュールを設定する。・監視(Zabbix,Nagios,JP1)・ノード監視サーバやネットワーク装置、ストレージやLTO装置等の機器が稼働しているかを監視する。(具体的には、SNMPやICMPといったプロトコルを使用して対象機器がネットワークの中で正常に動作しているかを確認する)・リソース監視それぞれの機器のリソース使用状況を監視する。設定した閾値を超えた場合に異常として検知する。(ディスクがいっぱいで書き込み容量不足や、動作が遅くなる前の対策)・プロセス監視プロセスの起動状態を監視する。プロセスが何らかの原因で停止した場合に異常として検知する。(サーバは起動しているが、サービスが止まっている状態への対策)・ログ監視OSのシステムログやミドルウェアのログを監視し、異常が出力された場合に検知する。異常がログに出力されていても気が付かなければ対応が遅れるため。(異常として検知するメッセージは設計の中で決める必要がある)・高可用クラスタサーバを停止しないようにする手段としてサーバ冗長化がある。サーバの冗長化とは「同じ機能を持つサーバを複数台用意する」ことになる。このサーバの冗長化に使用されるミドルウェアが「高可用クラスタ」である。冗長化すると「サーバが不慮の障害で停止した場合」などに自動で他のサーバへ切り替えて機能を提供する。平時は現用系のみ機能し障害時に待機系へ切り替わる場合をactive/standbyのクラスタ構成と呼ぶ。7はてなブログをはじめよう!fallakiakino_793さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。