Operating System
Operating System
3
3
情報メディア学科 情報メディア学科 岩 将 岩井将行【先週の演習】 宝探しゲームをしてみよう 本日10時まで • 宝探しゲ ムをしてみましょう • 宝探しゲームをしてみましょう – 出発点は – cd コマンドでサブディレクトリに移動し,dirコマンドで何がある か調べる か調べる – ファイルが置いてある場合,宝かどうかmore コマンドでファイ ルの中身を見る(ハズレの場合もあります) 宝が無いと分かったら 親ディレクトリに移動して別のところを – 宝が無いと分かったら,親ディレクトリに移動して別のところを 探す cd .. 宝を発見したら 宝島の地図(デ レクトリ構造図)を書 • 宝を発見したら,宝島の地図(ディレクトリ構造図)を書 いておきましょう • 提出サイト • http://goo.gl/forms/re9aKw3jDQ 2
資料ダウンロ ド先
資料ダウンロード先
http://www cps im dendai ac jp/inde
http://www.cps.im.dendai.ac.jp/inde
講師
講師
慶應義塾大学 卒 • 慶應義塾大学 卒 • ‐2012東京大学生産技術研究所 助教 東京電機大学未来科学部情報メデ ア学 • 2013‐東京電機大学未来科学部情報メディア学 科 准教授 • 1号館11F 11107B 実空間コンピューティング研 究室 究室 • Facebook /masa.iwai • Twitter @masaiwai • Iwai「あっとまーく」im.dendai.ac.jp 4 OS TDU FI iwai classTA・SA・副手
TA・SA・副手
中 • 野中 • naoki[atmark]cps.im.dendai.ac.jpnaoki[atmark]cps.im.dendai.ac.jp • 実空間コンピューティング研究室 • 東京電機大学大学院 未来科学研究科情報メディア学専攻 未来科学研究科情報 ディア学専攻 • M1メッセージ
メッセージ
• 良く遊び
• よく学び
• 社会を知る
社会を知る
• 新しいことに挑戦する。
新しいことに挑戦する。
6 OS TDU FI iwai classOS概論
OS概論
オペレ テ ングシステム( • オペレーティングシステム(Operating System、 OS)はCPUやメモリ、周辺機器であるキーボー ド デ プ などを管 ザ ドやディスプレイなどを管理して、ユーザにそ れらデバイスへのインタフェースを提供してい ます ます。 • OSの基礎を理解し、コンピュータやの基礎を理解し、 ン タや SmartPhoneの基本動作原理を理解ことを目 標とします。さらにサーバ管理やVMについて 標とします。さらにサ 管理やVMについて 学びます。最新の身近なOS
– Android/Dalvik VM4.4 htt // d id / • https://source.android.com/ – Linux Ubuntu 12.04 LTS • http://www.ubuntu.com/ – iOS7 • http://www.apple.com/jp/ios/ – MaxOSX Mavericksa OS a e c s • http://www.apple.com/jp/osx/advanced‐technologies/ – WinsowsPhone8 1 – WinsowsPhone8.1 • http://www.microsoft.com/ja‐jp/windowsphone/ Wi d 8 1 – Windows8.1 • http://windows.microsoft.com/ja‐jp/windows‐8/meetOS TDU FI iwai class 8第1回
第1回
ドウ • ハードウエアとOS • CPUとデバイス、割り込み、記憶装置、ハードCPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ ドとプ セ メ リ ド 空間 • スレッドとプロセス、メモリアドレス空間、ファ イルシステム、NIC、ソケット、カーネル第2回
第2回
• CUI • タイピング ログイン コマンド操作 マニュアタイピング,ログイン,コマンド操作,マニュア ル, シェル フ イル操作 デ タ • ファイル操作,エディタ 10 OS TDU FI iwai class第3回
第3回
プ ジ ブ • プロセス,ジョブ • プロセス管理 時分割処理とプロセス切り替プロセス管理、時分割処理とプロセス切り替 え、スケジューリング、プロセス表第4回
第4回
憶装 • 記憶装置 • メモリ階層 キャッシュ アドレス空間 物理アメモリ階層、キャッシュ、アドレス空間、物理ア ドレスと論理アドレス、ページング、チェックポ インティン インティン • グ、効率的な自動メモリ管理、GC、フラッシュ メモリ、HDD、SSD 12 OS TDU FI iwai class第5回
第5回
権 • シェルとアクセス権 • 標準入出力 フィルタコマンド シェルスクリプ標準入出力、フィルタコマンド、シェルスクリプ ト、ファイルのバックアップ、アクセス権、ドライ ブ ディレク ブ、ディレク • トリ、ファイル、open/read/write • ファイルのメモリへのマッピング、アクセス制 御 権限 空き領域管理 御、権限、空き領域管理第6回
第6回
ネ • ネットワークとOS • ethernet,ping,socket,tcp/udp,rpc,apach,http,sethernet,ping,socket,tcp/udp,rpc,apach,http,s sh,ftp,remotewindow 最新の 事情 • 最新のOS事情 14 OS TDU FI iwai class第7回&第8回
第7回&第8回
備 試験
採点方法
採点方法
学
意欲
• 学習意欲
20点満点
• 隔週のミニテストかレポート平均
25点
• 隔週のミニテストかレポート平均
25点
満点
(無い週もある)
• 中間
25点(+ 5点)
• 中間
25点(+‐5点)
• 最終学力考査
最終学力考査 40点( 5点)
40点(+‐5点)
16 OS TDU FI iwai class出席ですが
出席ですが
ド使う ゲ も通す • カード使うこと(2Fのゲートでも通すこと) • 10分前から開始までにタッチ行うこと。10分前から開始までにタッチ行うこと。 • 代替タッチを防ぐために副手が人数カウント します します。第1回
第1回
ドウ • ハードウエアとOS • CPUとデバイス、割り込み、記憶装置、ハードCPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ ドとプ セ メ リ ド 空間 • スレッドとプロセス、メモリアドレス空間、ファ イルシステム、NIC、ソケット、カーネル 18 OS TDU FI iwai class前回の復習
ハードウェアとOSについて
ソフトウェア
ソフトウェア
20 OS TDU FI iwai class
ファイルとディレクトリ
ファイルとディレクトリ
ファイル
ファイル
• 様々なソフトウェアと,それらを使って作成・編集した データを扱う単位 – ソフトウェア(プログラム)の本体もファイルとして扱われる Microsoft Wordのプログラムファイル 版 版 – ソフトウェアを使って作成・編集したデータもファイルとして 扱われる Windows版 Mac版 扱われる Microsoft Word形式のデータファイル Windows版 Mac版OS TDU FI iwai class 22ディレクトリ(フォルダ)
ディレクトリ(フォルダ)
• ファイルをグループ化して管理するための入 れ物のこと • 授業では,ディレクトリという名称を使う Wi d やM ではフォルダという名称が使われ – WindowsやMacではフォルダという名称が使われ ている う デ が 般的 – UnixというOSではディレクトリと呼ぶのが一般的 Windowsのフォルダ Macのフォルダファイルとディレクトリのツリー構造 path デ ク 中 デ ク を れる とが きる • ディレクトリの中にディレクトリを入れることができる • 図に描くと,枝分かれした(逆さまの)木のような構 造(ツリー構造)になる ディレクトリAをディレクトリB の親ディレクトリ デ レクトリBをデ レクトリA ディレクトリ ディレクトリBをディレクトリA の子ディレクトリ,サブディレ クトリと呼ぶ ディレクトリ A ファイルC ディレクトリ B ファイルAファイルBOS TDU FI iwai class 24
ディレクトリによるファイル管理
ディレクトリによるファイル管理
• ファイル数が増えても,ファイルをグループ化 して整理すれば,ファイルの管理(検索・コ整 すれ , ァイ 管 (検索 ピー・移動等)が楽になる 整理前 整理後パス名(絶対・相対パス)
パス名(絶対・相対パス)
26 オペレーティングシステム2014
パス名(絶対パスと相対パス)
パス名(絶対パスと相対パス)
フ イルやデ レクトリにアクセスするために フ イ • ファイルやディレクトリにアクセスするために,ファイ ルやディレクトリの位置(パス名)を示す必要がある • パス名の指定方法は以下の2種類 • パス名の指定方法は以下の2種類 • 絶対パス • 絶対パス – ルートディレクトリを基点として絶対的な位置を指定する – 例:住所は絶対パス「東京都足立区千住旭町例 住所 絶対 東京都足 千住 町 」5」 • 相対パス – あるディレクトリを基点にした相対的な位置を指定する – 場合によっては,絶対パスより短いパス名で指定できる – 例:田中君の家は「私の家の右隣」 オペレーティングシステム2014絶対パス
絶対パス
絶対パ • fileAの絶対パス ▪ 日本語だと“ルートディレクトリの中の,“ルートディレクトリの中の,homehomeディレクトリディレクトリ 中 中 デデ クク 中中 の中の の中のt10472mst10472msディレクトリの中のディレクトリの中のfileAfileA”” ▪ 区切りを「/(スラッシュ)」で繋げて, “/h/h /t10472/t10472 //fil Afil A””“/home/t10472ms//home/t10472ms/fileAfileA””
h / home t10472ms s10021sa fileA fileB 28 オペレーティングシステム2014
相対パス1
相対パス1
を基点 た時 相対パ • t10472msを基点にした時のfileBの相対パス ▪▪ ““fileBfileB”” • homeを基点にした時のfileBの相対パス ▪▪ ““t10472ms/t10472ms/fileB//fileB”” / home t10472ms s10021sa t10472ms s10021sa fileA fileB オペレーティングシステム2014相対パス2(
重要
)
相対パス2(
重要
)
基点から見た親デ ク を指定する は “ (ピ • 基点から見た親ディレクトリを指定するには,“..(ピ リオド2つ)”の記号を使う • t10472msを基点にした時のhomeの相対パス ▪▪ ““....””(親ディレクトリは1つだけなので,1つに定まる) • s10021saを基点にした時のfileBの相対パス ▪▪ ““../t10472ms/../t10472ms/fileBfileB”” / ../t10472ms/ ../t10472ms/fileBfileB home t10472ms s10021sa fileA fileB 30 オペレーティングシステム2014相対パス3
相対パス3
基点 デ ク を す は “ (ピ オド )” • 基点のディレクトリを示すには,“.(ピリオド1つ)”の 記号を使う • t10472msを基点にした時のfileAの相対パス ▪▪ ““././fileAfileA” ” (基点ディレクトリを明示した場合) ▪▪ ““fileAfileA””(基点ディレクトリを省略した場合) • 基点ディレクトリを明示すると, / 基点ディレクトリを明示すると, 相対パスによる指定であることが分かる • パス名が読みやすくなる場合がある home • パス名が読みやすくなる場合がある t10472ms s10021sa 31 オペレーティングシステム2014ファイルとディレクトリ
の操作
32 オペレーティングシステム2014
ファイルの操作方法1
ファイルマネージャーを使う
WindowsのExplorer
ファイルの操作方法2
コマンド操作でファイルを管理する
Macのターミナル Windowsのコマンドプロンプト
34 オペレーティングシステム2014
GUIとCUI
GUIとCUI
• Graphical User Interface(GUI) • Graphical User Interface(GUI) – 画面表示にアイコンやメニューを用い,操作の大半をマウ スなどのポインティングデバイスによって行なう ( )や ( )は を備えた イ – Finder(Mac)やExplorer(Windows)はGUIを備えたファイ ルマネージャ(ファイル管理機能をもつソフトウェア) – 直感的に操作ができる • Character User Interface(CUI) すべての操作をキ ボ ドから ンドと呼ばれる命令を – すべての操作をキーボードからコマンドと呼ばれる命令を 用いて行なう – ターミナル(Mac)やコマンドプロンプト(Windows)を使うと CUIを使 てコンピ タを操作できる CUIを使ってコンピュータを操作できる – 効率よく命令を記述でき,慣れれば素早く操作を行える オペレーティングシステム2014
ターミナル
ド操作を行うためには タ ミナ と うプターミナル
• コマンド操作を行うためには,ターミナルというプロ グラムを使う • 起動方法 – 初期設定ではDockに登録されている – Dockにない場合 Fi d を起動する • Finderを起動する • サイドバーのアプリケーションを選択する • ユーティリティフォルダ中の,ターミナルをクリック 36 オペレーティングシステム2014コマンド
コマンド
ピ タに与える命令 と • コンピュータに与える命令のこと • CUIのターミナルでは(マウスによるボタン操作ではなく),文 字で命令を伝える 字で命令を伝える 例 フ イルの移動 • 例:ファイルの移動 Finder(GUI)だとマウスで命令 ターミナル(CUI)だと文字で命令 % mv 第2回情報基礎課題.doc /Users/ ユーザ名/Documents/ オペレーティングシステム2014プロンプト
プロンプト
• ターミナルを起動すると,タ ミナルを起動すると,%マークが現れるクが現れる • これをプロンプトと呼び,コンピュータがコマン ドによる指示を待っている印(しるし) ドによる指示を待っている印(しるし) • コマンドを入力したら,エンターキーを押すと 命令が実行される % コマンド このスライドではエンターキーを押すタイミングを で表現しています 38 オペレーティングシステム2014コマンドプロンプト
cmd.exe
なぜコマンド操作を学習するか
なぜコマンド操作を学習するか
サ バはコマンドで操作することが多い • サーバはコマンドで操作することが多い ▪ プロバイダから提供されているWebサーバを設定する ▪ 所属する研究室・会社のサーバの管理をする所属する研究室 会社のサ の管理をする • 効率よくコンピュータに仕事を指示することができる ▪ シェルスクリプト ▪ ワイルドカード ▪ マウスばっかりを使うひとってなんか素人っぽ い。。。と思われてしまうかもしれない。 い。。。と思われてしまうかもしれない。 ▪ タタタタターッン!キーボード乱れ打ちドヤ顔が カコイイ カ イイ 40 オペレーティングシステム2014日付とカレンダーの表示
日付とカレンダーの表示
表 ド • 日付の表示:dateコマンド % d t % date 2010年04月02日 (金) 10時49分52秒 JST • カレンダーの表示:calコマンド % l % cal 2010年 4月 日 月 火 水 木 金 土 1 2 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 18 19 20 21 22 23 24 25 26 27 28 29 30 オペレーティングシステム2014ファイル・ディレクトリの操作の コマンド一覧 d → カレントデ レクトリの絶対パスを表示 • pwd → カレントディレクトリの絶対パスを表示 • ls → ディレクトリの内容を見る • cd → カレントディレクトリの移動 • less → ファイルの内容を見る • mkdir → 新しいディレクトリを作る • cpcp → ファイルのコピーを作る→ ファイルの ピ を作る • mv → ファイルの移動・ファイル名の変更 • rm → ファイルの削除 • rm → ファイルの削除 • rmdir → ディレクトリの削除 42 オペレーティングシステム2014
カレントディレクトリ
カレントディレクトリ
ド よ イ やデ クト を操作 • コマンドによってファイルやディレクトリを操作 する場合,相対パスでファイルやディレクトリ を指定する方が便利 を指定する方が便利 • 現在の作業ディレクトリのことをカレントディレ現在の作業ディレクトリの とをカレントディレ クトリ(ワーキングディレクトリ)という • カレントディレクトリからの相対パスでファイル • カレントディレクトリからの相対パスでファイル を指定することができる タ ミナルを起動した直後のカレントディレク • ターミナルを起動した直後のカレントディレク トリは「ホームディレクトリ/CNSiMac」になる オペレーティングシステム2014カレントディレクトリの表示
カレントディレクトリの表示
略 ド • pwd(print working directoryの略) コマンド – カレントディレクトリの絶対パスを表示するカ ン ディ ク リ 絶対 を表示する % pwd /a/fs0102a/t10472ms ファイルサーバは何台かのコンピュータで分担してホームディレクトリを保管してい ファイルサ バは何台かのコンピュ タで分担してホ ムディレクトリを保管してい るので,本当のホームディレクトリの絶対パス名は /a/fs0102a/t10472msのように ファイルサーバの番号とログイン名を組み合わせたものになっています 誰のホームディレクトリがどのファイルサーバにあるかを覚えるのは大変なので 誰のホ ムディレクトリがどのファイルサ バにあるかを覚えるのは大変なので, /a/fs0102a/の部分をまとめて,'/home' と表わします 44 オペレーティングシステム2014ディレクトリの内容を見る1
ディレクトリの内容を見る1
略 ド • ls(listの略) コマンド – カレントディレクトリにあるファイルとディレクトリのカレントディレクトリにあるファイルとディレクトリの 一覧を表示する % lsDesktop Maildir XPAppCNS
Wnn XPDataCNS
Wnn XPDataCNS
ディレクトリの内容を見る2
ディレクトリの内容を見る2
オプシ • ‐a オプション – .emacsのように先頭がドットで始まるファイルは,ソフトの 設定 使う イ な 普通は表 されな 設定に使うファイルなので普通は表示されない – ls コマンドに –a オプションを付けると表示できる プ – ls のあとに1つ空白をあけてからオプションを入力する – オプションをつけることで,コマンドの機能を拡張できる % ls -a . .gnome2 .w3m .. .gnome2_private .winman.ICEauthority .gstreamer-0.8 .xsession-errors .cshrc .gtkrc-1.2-gnome2 Desktop
.emacs .metacity Maildir emacs d mh profile Wnn .emacs.d .mh_profile Wnn
.folders .mozilla XPAppCNS
ディレクトリの内容を見る3
ディレクトリの内容を見る3
デ ク パ 名を 数( きすう)と 指定 • ディレクトリのパス名を引数(ひきすう)として指定 – カレントディレクトリ以外のディレクトリを見たいときは,そ デ ク パ 名を 後 ける のディレクトリのパス名を ls の後につける – コマンドの後に1つ空白をあけてから付け加えるものをこ のコマンドの引数(ひきすう)と言う のコマンドの引数(ひきすう)と言う % l M ildi % ls Maildir courierimaphieracl courierimapuiddb tmp courierimapkeywords cur courierimapsubscribed newp オペレーティングシステム2014【演習linux,mac ls】 ls コマンドを極めよう 自分のホ ムデ レクトリにある イルのうち最も新しい • 自分のホームディレクトリにあるファイルのうち最も新しい ファイルを見つけてみよう – ファイルを新しい順に表示するオプションはファイルを新しい順に表示するオプションは t ‐t • 実験してみよう – ls の引数に存在しないディレクトリ名を指定してみる – ls ‐l の引数にディレクトリでは無く,ファイルを指定してみる • ls コマンドのその他の機能について調べてみよう
– コマンドのマニュアルを表示するにはコマンドのマニュアルを表示するには,man コマンドを使う(manの引man コマンドを使う(manの引 数に調べたいコマンド名を指定する)
% l % man ls
48 オペレーティングシステム2014
【演習windows dirコマンド】
【演習windows dirコマンド】
di / 属性 パス • dir /a属性 パス • ※パスを省略した場合はカレントディレクトリが 対象となります 今後も同様です 対象となります。今後も同様です。 • 指定できる属性は以下の通り D デ レクトリ R 読み取り専用 H 隠しフ イル A • D ディレクトリ R 読み取り専用 H 隠しファイル A アーカイブ S システム ファイル 例 • 例 • dir /ad <‐ ディレクトリのみ表示 d / 読み取り専用のフ イル及びデ • dir /ar <‐ 読み取り専用のファイル及びディ レクトリのみ表示【演習windows dirコマンド】
【演習windows dirコマンド】
• 「/t」オプションを使って表示される日付の種類を選択できます • 「/t」オプションを使って表示される日付の種類を選択できます。 – dir /tタイムフィールド パス • 指定できるタイムフィールド – C 作成日 A 最終アクセス日 W 最終更新日 • 並べ替え方法の指定– dir /oソート順 パス 指定できるソート順は以下dir /oソ ト順 パス 指定できるソ ト順は以下 – N 名前順 (アルファベット) – S サイズ順 (小さいほうから) – E 拡張子順 (アルファベット) – E 拡張子順 (アルファベット) – D 日時順 (古いほうから) – G グループ (ディレクトリから) サブディレクトリに含まれるファイルやディレクトリも全て表示 • サブディレクトリに含まれるファイルやディレクトリも全て表示 – dir /s OS TDU FI iwai class 50
カレントディレクトリの移動
カレントディレクトリの移動
( 略) ド • cd(change directoryの略) コマンド – 移動したいディレクトリのパス名を引数として指定 – 引数のディレクトリのパス名は相対パスでも絶対パスでも よい – 引数を省略すると,カレントディレクトリをホームディレクト リ(特別教室のMacの場合は,「ホームディレクトリ /CNSiMac」)に変更する /CNSiMac」)に変更する % cd Maildir % pwd % pwd /a/fs0102a/t10472ms/Maildir % cd /home/t10472ms/Maildir / / / % pwd /a/fs0102a/t10472ms/Maildir オペレーティングシステム2014ファイルの内容を見る
ファイルの内容を見る
ド • less コマンド – テキストファイルの中身を見ることができるテキ ァイル 中身を見る きる – 引数に内容を見たいファイル名を指定 ファイルをスクロ ルするには Spaceキ を使う – ファイルをスクロールするには,Spaceキーを使う – 閲覧を終了するにはqキーを押す 52 オペレーティングシステム2014新しいディレクトリを作る
新しいディレクトリを作る
略 ド • mkdir(make directoryの略) コマンド – 引数に作りたいディレクトリの名前を指定する引数 作りた ディ ク リ 名前を指定する – 正常に作成できると,何も表示されないので,ls コマンドで確認するとよい コマンドで確認するとよい % mkdir memo % mkdir memo % lsDesktop Maildir XPAppCNS Wnn XPDataCNS test1 test memo
ファイルをコピーする
ファイルをコピーする
( 略) ド • cp(copyの略)コマンド – コピー元のファイルと新しく作るファイルの名前を空白で 切 引数 指定する 区切って引数で指定する – 新しく作るファイルの代わりにディレクトリ名を指定すると, そのデ レクトリの中に同じ名前で新しいフ イルが作成 そのディレクトリの中に同じ名前で新しいファイルが作成 される % ls fileA testdir % cp fileA fileB % lstestdir fileA fileB % cp fileA testdir % ls testdir % ls testdir fileA 54 オペレーティングシステム2014
ファイルの移動・ファイル名の変更
ファイルの移動・ファイル名の変更
( 略) ド • mv(moveの略) コマンド – ファイルを移動する場合は,mv の後に移動したいファイ ルの名前,移動先のパス(相対パスか絶対パス)を空白 で区切って指定する フ イル名を変更する場合は の後に変更したいフ – ファイル名を変更する場合は,mv の後に変更したいファ イルの名前,新しいファイル名を空白で区切って指定する % ls fileA testdir % mv fileA testdir % cd testdir ※ファイル名の変更の際, 変更先のファイル名が既 存在するも あ た % cd testdir % ls fileA % mv fileA fileB に存在するものであった 場合,そのファイルに上 書きされ元の内容は消え % ls fileB てしまうので注意 オペレーティングシステム2014ファイルの削除
ファイルの削除
略 ド • rm(removeの略) コマンド – 削除したいファイル名を引数として指定削除した ァイル名を引数 し 指定 – 空白で区切って複数のファイル名を指定できる % ls fileA fileB % rm fileA % ls fileB fileB 56 オペレーティングシステム2014ディレクトリの削除
ディレクトリの削除
( 略) ド • rmdir(remove directoryの略)コマンド – 削除したいディレクトリ名を引数として指定 – 空白で区切って複数のディレクトリ名を指定できる – ディレクトリの下にファイルがある場合,削除できない – ディレクトリの下にあるファイルを全て削除するか移動す るかした後,ディレクトリを削除する % lstestdir fileA fileB testdir fileA fileB % rmdir testdir % ls
fileA fileB
アクセス権と保護モード
アクセス権と保護モード
58 オペレーティングシステム2014
アクセス権と保護モード
アクセス権と保護モード
他 ザ イ (メ 内容等)を勝手に閲 • CNSの他のユーザのファイル(メールの内容等)を勝手に閲 覧されては困るため,適切なアクセス権を設定する必要があ る る • ファイルやディレクトリごとに,他のユーザからのアクセスを 許可したり 禁止したりする保護モードを設定する機能があ 許可したり,禁止したりする保護モ ドを設定する機能があ る • 保護モードは「誰が」と「どうする」という組み合わせ(3×3)に保護 ドは 誰が」と どうする」と う組み合わせ( ) 対して,許可か禁止かを決めたもの どうする どうする 誰が 誰が どうするどうする 1. 読み出し(read) 2. 書き込み(write) 3 実行(execute) 誰が 誰が 1. ファイルの持ち主のユーザ自身(user) 2. グループのメンバ(group) ※ 学生はすべて同じグループに属する×
3. 実行(execute) ※ 学生はす て同じグル プに属する 3. その他(other) オペレーティングシステム2014保護モードの確認
保護モードの確認
l lで保護モ ドの確認ができる• ls ‐lで保護モードの確認ができる % ls -l
-rw-r--r-- 1 t10472ms student 153 Apr 20 15:30 fileA
d rwx rwx rwx
種別
d rwx rwx rwx
ディレクトリならd ファイルなら-
userに関する設定 groupに関する設定 otherに関する設定
• 新しく作ったファイルは rw‐r‐‐r‐‐になる 「r(readの略)」,「w(writeの略)」,「x(executeの略)」それぞれの許可 「-」は禁止を示す 新しく作ったファイルは rw r r になる • ディレクトリは rwxr‐xr‐x になる • メールを保存するディレクトリ(Mail)はrwx‐‐‐‐‐‐ 60 オペレーティングシステム2014
保護モードの変更
保護モードの変更
略 ド • chmod(change modeの略) コマンド – 1番目の引数で,「誰が(u,g,o)」と「どうする」(r,番目 引数 , 誰 ( ,g, )」 うする」( , w,x)を+か-でつないで保護モードを指定(+ は許可,-は禁止)許可, 禁 ) – 2番目の引数で変更したいファイル名またディレク トリ名を指定する トリ名を指定する % ls -l total 0-rw-r--r-- 1 t10472ms student 153 Apr 20 15:30 fileA % chmod go-r fileA
% ls –l t t l 0 total 0
-rw--- 1 t10472ms student 153 Apr 20 15:30 fileA オペレーティングシステム2014
保護モードを設定するときの注意点
保護モードを設定するときの注意点
保護 ドを設定するとき 注意が必要な • 保護モードを設定するときに注意が必要な ディレクトリがある • 以下のディレクトリは保護モードを変更しない 方が安全 方 安 – ホームディレクトリ • userに対してexecute権限が必要userに対してexecute権限が必要 • ログインできなくなる – Maildir(メールのデータ)Maildir(メ ルのデ タ) • userに対してexecute権限が必要 • メールが閲覧できなくなる 62 オペレーティングシステム2014ディレクトリ構造を作ってみよう
ディレクトリ構造を作ってみよう
あなたの ホームディレク public_htm l command index.html トリ main.css file.html contents other.html pipe htm pipe.htm l user html img user.html bullet.pn exclamation.png p g 63 オペレーティングシステム2014OSの役割
OSの役割
ビ 計算機 抽象 1. コンビニとしてのOS: 計算機の抽象化+サー ビスの提供 – OSがない状態よりも,プログラミングを「易しく」 「機械非依存に」する 「機械非依存に」する 2. 警察としてのOS: 保護, 安全性, 資源管理 – 複数のプログラム,複数のユーザがいる環境で, 計算機の「独占を防ぐ」,ユーザ間での「データの 保護 保護」 64 OS TDU FI iwai classOSコンビニ:計算機の抽象化
OSコンビニ:計算機の抽象化
• アプリケーションプログラムが呼び出すだけ で色々な目的を達成できる「機能 を提供 で色々な目的を達成できる「機能」を提供 – ファイル読み書き: open, read, write, close, fopen, fread, fwrite, fprintf, etc.– ネットワーク通信: socket, bind, listen, accept,ネットワ ク通信: socket, bind, listen, accept, send, recv, etc.
– メモリ割り当て・解放: malloc free – メモリ割り当て 解放: malloc, free
その他の重要機能
その他の重要機能
プ 生成 管 • プロセスの生成や管理 – fork, exec, exit, wait, popen, system, etc., , , , p p , y , • スレッドの生成や管理 l h d h d i – clone, pthread_create, pthread_exit, etc. • メモリの割り当てや解放 – brk, mmap, malloc, calloc, free, etc. 66 OS TDU FI iwai classOSがいるおかげで
出来ていることの例
• 自分のプログラムはひたすら自分の計算だけ をしているのに 複数・大量のプログラムが同時 をしているのに, 複数・大量のプログラムが同時 に起動・実行できる • プログラムが暴走してもCtrl Cで除去できる • プログラムが暴走してもCtrl‐Cで除去できる • 他のプログラムとメモリ内に同居しているのに, メモリのどの部分を使えばいいのか悩まなくて メモリのどの部分を使えばいいのか悩まなくて よい だろうと だろうと だろうと同じよ • HDDだろうとCD‐ROMだろうとUSBだろうと同じよ うにopen/read/writeで読み書きできる計算機の抽象化+サービスの提供
• 「生のハードウェア(OSなしの計算機)」で, 「音楽を聞きながらネ トサ が きる 「音楽を聞きながらネットサーフィンができる」 プログラムを書いたら? 1. CPU : 複数のプログラムの同時(交互)実行 2. メモリ : 物理メモリの割り当て 3. I/O : プロセッサ外部(ディスク,ネットワーク)と の通信 68 OS TDU FI iwai class複数のプログラムの交互実行(1)
複数のプログラムの交互実行(1)
な 交 実行を保証するた プ グ • (OSなしで)交互実行を保証するためにプログ ラムはどのように書かねばならないか? 音楽 ネット 時刻複数のプログラムの交互実行(2)
複数のプログラムの交互実行(2)
こんなことをいたる所で • こんなことをいたる所で… draw_page() { /* ページを描画 */ for ( ) { for (…) { do_some_drawing(); /* ちょっと描画 */ if (t > 100 ms) { /* MP3Playerのために */ if (t > 100 ms) { / MP3Playerのために / yield_CPU_to_MP3Player(); } } } } } } • 実際には他にワープロ,ゲーム,etc.も走っているか も… • OSの回答 : スレッド,プロセス 70 OS TDU FI iwai classOSの歴史
OSの始まり
OSの始まり
• 一番最初のコンピュータ(番最初の ンピ タ(1950年代 )1950年代~) – パンチ(穴)カードを使って磁気テープに読み込む 読み込まれたデータの実行が主な仕事 – 読み込まれたデ タの実行が主な仕事 – プロセス状態の管理 コンピ タの機種ごとに 専用のOS – コンピュータの機種ごとに、専用のOS • 1960年代前半のOS: – 1950年代の機能 + α (いろいろ:略) • 1960年代後半: 大型コンピュータ1960年代後半 大型 ンピ タ – 様々な機種が発売された – それら多くの機種に 1つのOSで対応した↑ IBM System/360 (1964) – それら多くの機種に、1つのOSで対応した 72 オペレーティングシステム2014文字の世界
文字の世界
• 1970~80年代前半: 文字ベースのシステム1970 80年代前半: 文字ベ スのシステム – UNIX の始まり コマンドライン この時代のテキストエディタ (ee) は今でも使える → • コマンドライン • テキストエディタ、文章の清書 – DOS (Disk Operating System) • IBM のコンピュータ用OS:IBMの多くのシステムで使われた • MS‐DOS: Microsoft 製: Microsoft が有名になり始める• 他、IBM PC‐DOS など
• Apple DOS: Apple Computer 製
IBM PC‐DOS (1981) →
グラフィカルな世界
グラフィカルな世界
• 1980年代~: GUI (Graphical User Interface)
– WYSIWIG: What You See Is What I Get
• 1984年: Mac OS System 1.01984年: Mac OS System 1.0
– マウス、アイコン、ウインドウ、ゴミ箱、メニューバー GUIでも画面は白黒 – GUIでも画面は白黒 • 1985年: Windows 1.0: ウインドウを重ねられな い ↑ Mac OS System 1.0 ↑ Windows 1.0 74 オペレーティングシステム2014
少しずつ グラフィカルに
少しずつ、グラフィカルに
昔のWindows 昔の
↑ Windows 1.0 (1985) ↑ Windows 2.11 (1988) ↑ Windows 3.0 (1990)
↑ Windows 3.1 (1992) ↑ Windows for Workgroups 3.11 ↑ Windows 95 (1995) オペレーティングシステム2014
少しずつ グラフィカルに
少しずつ、グラフィカルに
最近の Windows 最近の ↑ Windows 98 (1998) ↑ Windows Me (2000) ↑ Windows NT 4.0 (1996)↑ Windows 2000 (2000) ↑ Windows XP (2002) ↑ Windows Vista (2007) 76 オペレーティングシステム2014
Windows8/8 1 Modern UI
• http://windows.microsoft.com/ja‐jp/windows‐8/meet
Windows8/8.1 Modern UI
Windows10
Windows10
• ActionCenter
• Cortana
– Personal Digital AssistantPersonal Digital Assistant
Windows10
Windows10
新ブ ウザ「 • 新ブラウザ「Spartan」 • Cortanaとも統合されるため、ユーザーの個人Cortanaとも統合されるため、ユ ザ の個人 ストレージにあるデータを使って、適切に検索 できる できる • Microsoft HololensSurface Hub
Surface Hub
• gaming
multiplatfrom
multiplatfrom
• windows10 macbook
• Windows10 raspberry pi2Windows10 raspberry pi2
– Microsoft、「Windows 10 for Raspberry Pi 2」を無
償提供へ 償提供へ
Bash+ Windows10 Hololens https://www.youtube.com/watch?v=qym11JnF QBM Q OS TDU FI iwai class 82
MacOS 少しずつ グラフィカルに
MacOS 少しずつ、グラフィカルに
↑ Mac OS System 1.0 (1984) ↑ Mac OS System 6.0 (1989) ↑ Mac OS System 7.5 (1995)
↑ Mac OS 8 (1997) ↑ Mac OS 9 (1999) ↑ Mac OS X 10.4 (2005) オペレーティングシステム2014
Mac OS X mountain lion
Mac OS X mountain lion
MacOS X mavericks
MacOS X mavericks
• http://www.apple.com/jp/osx/whats‐new/p // pp /jp/ / /
MacOS X mavericks
MacOS X mavericks
タイマ コアレッシング • タイマーコアレッシング – 低負荷のプロセスをまとめて処理してアイドル時間を増やすこ とにより、CPUの電力消費を抑える。 • App Nap 他のウインドウの背面に隠れているアプリの処理 速度を低下させることにより、電力消費を抑える。 • 圧縮メモリ 非アクティブのアプリのメモリを自動的に圧縮 • 圧縮メモリ 非アクティブのアプリのメモリを自動的に圧縮 するようになる。 • iBooks – る。 マ プ • マップ – iOS 6で追加されたアプリ。 オペレーティングシステム2014 86MacOS X Yosemite
MacOS X Yosemite
• Instant hotspot
iOS連動
iOS連動
l di i • seemless editing • iOS 7ライクなルック&フィールiOS 7ライクなルック&フィ ル • Homekit OS TDU FI iwai class 88クラウド連動の時代へ
クラウド連動の時代へ
連動
El Caiptan新機能
El Caiptan新機能
• http://www.apple.com/jp/osx/whats‐new/
OS の進化で出来るようになった事(一部)
OS の進化で出来るようになった事(
部)
• 新しいハードウェアのサポート新しい ドウ アのサポ ト – Windows 95 では、USBは使えない • ファイル名の文字数 • ファイル名の文字数 – Windows 1.0~3.1: 8文字、95~Me: 32文字、 2000 256文字 M OS 9 31文字 t 2000~: 256文字、Mac OS ~9: 31文字、etc… • ユーザインタフェース: – メニュー、見た目、操作性、etc… • 様々な機能の統合様 な機能 統合 – ブラウザの統合、メディアプレーヤー、ムービー メーカー、システムの復元、アップデート機能、カ 、シ テ の復元、アップデ ト機能、 セキュリティ向上機能、デスクトップ検索、etc… オペレーティングシステム2014出来るようになった事 vs 変わらない事
出来るようになった事 vs. 変わらない事
さて OSの進化と共に色々な機能が増加 • さて、OSの進化と共に色々な機能が増加。 • では昔から今までのOSで、共通している事は? の の仕事 – OSの3つの仕事: • ハードウェアの抽象化 • ユーザインタフェースの提供ユ ザインタフェ スの提供 • 資源の管理 – 新しいデバイスが使えるようになったり、インタ フ スとして新しく変更された所は色々ある フェースとして新しく変更された所は色々ある。 – 最近の流行: セキュリティ対策、分かり易いGUI でも OSの仕事は OSが変わっても根本的には – でも、OSの仕事は、OSが変わっても根本的には 同じ。 92 オペレーティングシステム2014OSの役割
OSの役割
役割 が ピ タを使 す • OSの役割は,人間がコンピュータを使いやす くすること • 「アプリケーションソフトとハードウェアの仲 介」「ユ ザインタフェ スの提供」「資源の管 介」「ユーザインタフェースの提供」「資源の管 理」という3つの役割がある オペレーティングシステム2014ユーザインターフェースの提供
ユーザインターフェースの提供
ザが ンピ タとやり取りを行う部分の • ユーザがコンピュータとやり取りを行う部分の 総称がユーザインタフェース(UI) UIは ザに対する情報の表示形式や • UIは,ユーザに対する情報の表示形式や ユーザのデータ入力方式を規定する 応用ソフトウ アごとに が異な ては 使い • 応用ソフトウェアごとにUIが異なっては,使い 勝手が悪い イ 保存ダイ グは 色 な プリケ – ファイルの保存ダイアログは,色々なアプリケー ションで共通している 現在ではアイコンなどを利用したGUI • 現在ではアイコンなどを利用したGUI (Graphical User Interface)が主流 94 オペレーティングシステム2014OSの役割
OSの役割
計算機 抽象 ビ 提供 1. 計算機の抽象化+サービスの提供 – OSがない状態よりも,プログラミングを「易しく」な 状態よりも, グラ ングを 易しく」 「機械非依存に」する 2 保護 安全性 資源管理 2. 保護, 安全性, 資源管理 – 複数のプログラム,複数のユーザがいる環境で, 計算機の「独占を防ぐ ザ間での「デ タの 計算機の「独占を防ぐ」,ユーザ間での「データの 保護」 オペレーティングシステム2014OSがいるおかげで出来ていることの例
OSがいるおかげで出来ていることの例
• 自分のプログラムはひたすら自分の計算だけ をしているのに 複数・大量のプログラムが同時 をしているのに, 複数・大量のプログラムが同時 に起動・実行できる • プログラムが暴走してもCtrl Cで除去できる • プログラムが暴走してもCtrl‐Cで除去できる • 他のプログラムとメモリ内に同居しているのに, メモリのどの部分を使えばいいのか悩まなくて メモリのどの部分を使えばいいのか悩まなくて よい だろうと だろうと だろうと同じよ • HDDだろうとCD‐ROMだろうとUSBだろうと同じよ うにopen/read/writeで読み書きできる 96 オペレーティングシステム2014計算機の抽象化+サ ビスの提供
計算機の抽象化+サービスの提供
• 「生のハードウェア(OSなしの計算機)」で, 「音楽を聞きながらネ トサ が きる 「音楽を聞きながらネットサーフィンができる」 プログラムを書いたら? 1. CPU : 複数のプログラムの同時(交互)実行 2. メモリ : 物理メモリの割り当て 3. I/O : プロセッサ外部(ディスク,ネットワーク)と の通信 オペレーティングシステム2014複数のプログラムの交互実行(1)
複数のプログラムの交互実行(1)
な 交 実行を保証するた プ グ • (OSなしで)交互実行を保証するためにプログ ラムはどのように書かねばならないか? 音楽 ネット 時刻 98 オペレーティングシステム2014複数のプログラムの交互実行(2)
複数のプログラムの交互実行(2)
こんなことをいたる所で • こんなことをいたる所で… draw_page() { /* ページを描画 */ for ( ) { for (…) { do_some_drawing(); /* ちょっと描画 */ if (t > 100 ms) { /* MP3Playerのために */ if (t > 100 ms) { / MP3Playerのために / yield_CPU_to_MP3Player(); } } } } } } • 実際には他にワープロ,ゲーム,etc.も走っているか も… • OSの回答 : スレッド,プロセス オペレーティングシステム2014メモリ管理(1)
メモリ管理(1)
有限 た ば プ グ • 有限(たとえば256MB)のメモリに,プログラム (命令列),データを重ならないように配置する ( ) ブラウザの命令列 番地: 0 命令 メールの命令列 ブラウザのデータ ブラウザのデ タ メ ルのデ タ 番地: 256M メールのデータ 100 オペレーティングシステム2014メモリ管理(2)
メモリ管理(2)
• ひとつしかプログラムがなくてもすでに複雑だ が,その上複数プログラムがあると, – どのプログラムがどの部分を使うの? その割り当ては立ち上げるたびに違うの? – その割り当ては立ち上げるたびに違うの? – メモリが足りなくなったらどうするの? – etc. • OSの回答 : 仮想記憶,論理アドレス空間OSの回答 : 仮想記憶,論理アドレス空間 オペレーティングシステム2014複雑な入出力(1)
複雑な入出力(1)
例 ネ ジをダウ ド
• 例 : ネットワークからページをダウンロード
• download page() {download_page() {
send_request_to_server();
receive from server(); > 100ms
receive_from_server(); } d i … > 100ms … send… receive… 時間 時間 102 オペレーティングシステム2014
複雑な入出力(2)
複雑な入出力(2)
入力待ちの間(より 般には「することがない • 入力待ちの間(より一般には「することがない 間」)は, – 自分はCPUを使わない= 他のプログラムにCPUを 譲る(yield)必要がある • やがて入力が来たら, – CPUはそれに「気づく」必要があるCPUはそれに 気づく」必要がある • ポーリング(定期的な検査) • ハードウェア割り込み(IRQ)( ) オペレーティングシステム2014ハードウェア割り込み
ハードウェア割り込み
外部装置から 送られる信号 • 外部装置からCPUへ送られる信号 – CPUの制御(プログラムカウンタ)を強制的に,指 定された番地 割 ド 移行 定された番地(割り込みハンドラ)に移行 • 外部装置がイベントの通知に用いる装 – 入力データready – 出力可出力可 IRQ Line – 時間経過 – … 104 オペレーティングシステム2014割り込みを用いた入力処理
割り込みを用いた入力処理
うな割 ド 定
• 以下のような割り込みハンドラ設定
– receive from network () {_ _ () {
write_data_to_browser_memory(); yield to browser();
y _ _ ();
}
ディスク入出力
ディスク入出力
• ディスクの構造や容量に基づいたアドレスディスクの構造や容量に基 いたアドレス (e.g., (シリンダ番号,トラック番号,セクタ番 号))を用いてアクセス 号))を用いてアクセス • メモリと類似の,空き領域管理 • 必要な情報の格納位置を得るための情報 • ネットワーク同様の割り込み処理 • ネットワーク同様の割り込み処理 106 オペレーティングシステム2014「計算機の抽象化+サービスの提供」
まとめ
次 憶 が 生 • CPU, メモリ,入出力IF,2次記憶 etc. が,生の ハードウェアそのままでは使いづらい – 複数のプログラムが同時進行しているときに顕著 • OSが「よりシンプルな」プログラミングインタ • OSが「よりシンプルな」プログラミングインタ フェース(API)を提供(“抽象化”) • 「お役立ち道具集」としてのOS オペレーティングシステム2014保護 安全性 資源管理
保護, 安全性, 資源管理
OSの「真の」存在理由 資源を管理し 実行中のプ • OSの「真の」存在理由: 資源を管理し, 実行中のプ ログラムを保護 – 1つのプログラムがCPUを独占利用1つのプログラムがCPUを独占利用できないできない – 1つのプログラムが他の走行中のプログラムのメモリを破 壊することはできない あるプ グ が受 る き ジを他 プ グ – あるプログラムが受け取るべきメッセージを他のプログラ ムが横取りすることはできない – 本来権利のない人が計算機をつかうことは本来権利のない人が計算機をつかうことはできないできない – 本来権利のない人が他人のファイルを読み書きすること はできない 間違え も または悪意があ も きな ように • 間違えても,または悪意があっても,できないように する 108 オペレーティングシステム2014第2回の講義内容
第2回の講義内容
ドウ • ハードウエアとOS • CPUとデバイス、割り込み、記憶装置、ハードCPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ ドとプ セ メ リ ド 空間 • スレッドとプロセス、メモリアドレス空間、ファ イルシステム、NIC、ソケット、カーネル オペレーティングシステム2014d
Raid
110 オペレーティングシステム2014
目的
目的
ドデ 信頼性が • ハードディスクの信頼性が問題 – →1個が壊れてもデータは安全にしたい。→ 個 壊れ もデ タは安 した 。 連続運転の為にはホ ト プが必要 • 連続運転の為にはホットスワップが必要 オペレーティングシステム2014Raid技術の誕生
Raid技術の誕生
• “A Case for Redundant Arrays of Inexpensive
Disks(RAID)” David A Patterson et al., 1988( ) ,
– カリフォルニア大学バークレー校のDavid
A Patterson氏、Garth Gibson氏、Randy Katz氏の A.Patterson氏、Garth Gibson氏、Randy Katz氏の 共同論文「安価なドライブを組み合わせることで 冗長性を持たせる仕組み」による 冗長性を持たせる仕組み」による – 安価なディスクをたくさん使う いかRAIDと略される – いかRAIDと略される 112 オペレーティングシステム2014
ソフトウ アRAID • ソフトウェアRAID – 無料 RAIDカ ド • RAIDカード – 数万円~10万円 内臓RAIDユニット • 内臓RAIDユニット – 数万円 外付けRAIDユニット • 外付けRAIDユニット – 数十万円~数百万円 RAIDサ バ(NASサ バ) • RAIDサーバ(NASサーバ) – 数十万円~数千万円 オペレーティングシステム2014
R d d t A f I d d t Di k • Redundant Arrays of Independent Disks – RAID Advisory Board での定義 • レベル0 ストライピング レベル1 ミラ リング • レベル1 ミラーリング • レベル2 分散ハミングコード レベル バイト分割固定パリテ • レベル3 バイト分割固定パリティ • レベル4 ブロック分割固定パリティ • レベル5 分散パリティ • レベル6 2重分散パリティ 114 オペレーティングシステム2014
磁気ディスクの構造
磁気ディスクの構造
く読 書き 時 が る • とにかく読み書きに時間がかかる。 • 全部のディスクが同時に回る。全部のディスクが同時に回る。 • メモリの探索速度はディスクの10万倍~100万倍高速。 • メモリの転送速度もディスクのざっと100倍高速 • メモリの転送速度もディスクのざっと100倍高速。 オペレーティングシステム2014Raid0
Raid0
116 オペレーティングシステム2014
Raid0 ストライピング
Raid0 ストライピング
デ タ ブロック1/2/3や4/5/6 7/8/9は • データ・ブロック1/2/3や4/5/6、7/8/9は、 もともと連続しているデータである。 • RAID 0では ディスクの台数に合わせてデ タを • RAID 0では、ディスクの台数に合わせてデータを 分割して、各ディスクに格納する。 • 例えばデータ・ブロック1/2/3の組を読み出す • 例えばデータ・ブロック1/2/3の組を読み出す 場合、各ディスクに並行してアクセスすることで、 ほぼ同時に1/2/3それぞれのデータ・ブロック ほぼ同時に1/2/3それぞれのデ タ ブ ック を読み出すことが可能。 • 高速化技術 オペレーティングシステム2014Raid1 ミラーリング
Raid1 ミラーリング
ベ 中 も単純な • RAID 1は、RAIDレベルの中で、最も単純な手 法でディスクの耐障害性を高めている。その 法 ディ ク 耐障害性を高 る。そ 手法とは、同一のデータを複数のディスクに 書き込み 一方のディスクが故障しても 他 書き込み、 方のディスクが故障しても、他 方で処理を続行できるようにする。 118 オペレーティングシステム2014Raid1ミラーリング
Raid1ミラーリング
Raid1 稼働率
Raid1 稼働率
では 同 のデ タを 台以上のデ スク • RAID 1では、同一のデータを2台以上のディスク に書き込むため、ディスク容量の利用効率は 50%以下にな てしまうというデメリ トがある(2 50%以下になってしまうというデメリットがある(2 台のディスクの 容量が異なると、利用効率は 50%よりさらに下がる) 50%よりさらに下がる)。 • 利用効率=保存可能データ量/利用ディスク 100% /2 50% =100%n/2n=50% • 例えば1Tbytesのデータを記録するには、 分 容量 デ クが必 1Tbytes×2=2Tbytes分の容量のディ スクが必 要になる。 120 オペレーティングシステム2014Raid5
Raid5
耐障害性 向 高速 大容量 • RAID 5は、耐障害性の向上と高速化、大容量 化のすべてを実現できるRAID技術。 • 分散データ・ガーディングとも呼ばれる。 では デ スクの故障時に記録デ タ • RAID 5では、ディスクの故障時に記録データ を修復するために「パリティ」と呼ばれる冗長 コードを、全ディスクに分散して保存するの オペレーティングシステム2014Raid5
Raid5
122 オペレーティングシステム2014
RAID 5の動作原理
RAID 5の動作原理
• データを分割して各ディスクに格納するという 原理はRAID 0(ストライピング)と同じだ。異な るのは、データ・ブロックの組(上図でいえば1 /2や3/4 5/6)ごとにパリティが生成され /2や3/4、5/6)ごとにパリティが生成され る点である。たとえ1 台のディスクが壊れても、 残りのディスクに格納されたデ タとパリティ 残りのディスクに格納されたデータとパリティ から、失われたデータを復活させることができ る る。 オペレーティングシステム2014Raid5の利用効率
Raid5の利用効率
パ 保存 必要な は 全デ ク台 • パリティの保存に必要なのは、全ディスク台 数に関係なくディスク1台分の容量である。 従 デ 台数が多 ど容 効 従ってディスク台数が多いほど容量の利用効 率も向上する。RAID 1(ミラーリング)と比較し た場合 利 効率 高さが た場合、この利用効率の高さがRAID 5のメ リットの1つとされる。 • ディスク容量の利用効率 • ディスク容量の利用効率 – 100 *(n‐1)/n % 124 オペレーティングシステム2014Raid10 Raid1+0
Raid10 Raid1+0
ググ プを ピ グ • ミラーリンググループをストライピング • 冗長性と高速性冗長性と高速性 オペレーティングシステム2014その他(覚えなくて良い)
その他(覚えなくて良い)
RAID 2 • RAID 2 • RAID 2では、エラーを修復するための冗長コードを元の データとともに、複数のディスクにまたがって記録する。特 デ タとともに、複数のディスクにまたがって記録する。特 徴は、冗長コードが多ビットのECC(Error Correcting Code: 誤り訂正符号)であることと、データを配分するときの単位 サイズがブロック(セクタ)単位ではなくbitまたはbyte単位。 サイズがブロック(セクタ)単位ではなくbitまたはbyte単位。 • 多ビットのECCによる冗長コードは、元のデータに対して そのサイズが大きくなりがちで、容量面でのオーバーヘッ ドが大きいというデメリ トがあ る 例えば 代表的なECC ドが大きいというデメリットがあ る。例えば、代表的なECC の1つであるハミング符号を用いると、元のデータを2台の ディスクに分散するには、冗長コードだけのために3台の デ クが必 要 な まう デ タより 長 ド ディスクが必 要になってしまう。元のデータより冗長コード の容量を小さくするには、元のデータを格納するディスクを 4台以上にしなければならない。台以 しなければならな 。 126 オペレーティングシステム2014その他(覚えなくて良い)
その他(覚えなくて良い)
• RAID 3 デ タ ドを加 複数 デ ク 録 – 元のデータに冗長コードを加えて複数のディスクに記録。 – 冗長コードには、RAID 5と同じパリティを採用する。 – RAID 5と大きく異なるのは 各ディスクにデータを配分する際の単位 – RAID 5と大きく異なるのは、各ディスクにデ タを配分する際の単位 サイズが、ブロック(セクタ)単位ではなくbitまたはbyte単位 – パリティが特定のディスクに保存される(全ディスクには分散されな ) い) – 高速化のためには、複数のディスクをまったく同時に読み書きするた めの同期機能が必要 めの同期機能が必要 • RAID 4 – RAID 4は、RAID 5と同様に、元のデータからパリティを生成して、ブ ロック単位で複数のディスクに記録する、という点でよく似ている。異 なるのは、パリティを全ディスクに 分散するのではなく、 なるのは、 リティを全ディスクに 分散するのではなく、 – 特定のディスクだけに格納する点だ。 • 元のデータとパリティそれぞれを格納するディスクが別々に分かれているオペレーティングシステム2014 127その他(覚えなくてよい)
その他(覚えなくてよい)
RAID 6 • RAID 6 – RAID 6は、RAID 5の改良版といえる技術 1つのデ タ ブロックにつき2つのパリティを生成 – 1つのデータ・ブロックにつき2つのパリティを生成 – 同時に2台のハードディスクが故障しても、元のデー タを修復可能 タを修復可能 – パリティが増えた分、その計算や書き込みのオーパリティが増えた分、その計算や書き込みのオ バーヘッドも増加する – 特に書き込みの性能は高くない。 パ 台分 デ ク容量を必 とするため – パリティ用に2台分のディスク容量を必要とするため、 ディスクの利用効率はRAID 5より下がる。 128 オペレーティングシステム2014パリティ計算に使う排他的論理和
パリティ計算に使う排他的論理和
命題 P 命題 Q P ⊻ Q 真 真 偽 真 偽 真 偽 真 真 偽 偽 偽 偽 偽 偽 オペレーティングシステム2015補足説明
補足説明
のデ スクがあ た時 • A,B,C,Dのディスクがあった時 • パリティを • A1 xor B1 xor C1 =P1とおく • P1をディスクDに保存する • P1をディスクDに保存する。 • ディスクBが壊れた場合 • P1 oxr (A1 xor C1)で復旧できる。• K xor (R or K) =(K xor K) xor R = 0 xor R = R
130 オペレーティングシステム2015
• 論理記号 • プログラミングの書き方プログラミングの書き方 – !(P || Q) == !P && !Q !(P && Q) == !P || !Q – !(P && Q) == !P || !Q • 集合 • ベン図 • ベン図 = オペレーティングシステム2015