Comments
Description
Transcript
本当の代替メディアプレーヤー
Operating System Operating System 2 情報メディア学科 岩 将 岩井将行 OS TDU FI iwai class 1 前回課題 • • • • 演習2,演習3をオンラインで堤出すること 演習 演習 をオンラインで堤出すること http://goo.gl/forms/oEGXqgD1yj Or http://bit.ly/1GWUXq8 • オンラインで堤出できなかった人は紙で堤出 オンラインで堤出できなか た人は紙で堤出 – 演習2,演習3をA4 1ページ以上に印刷して次回堤出 すること – 学籍番号、大学メールアドレス、氏名を記載すること。 OS TDU FI iwai class 2 【演習2】 PCのスペックを調べてみよう • 自分 自分のあるPCのスペックを調べて、テンプ ある を プ レートをうめてください – メーカー,名前 – HDD/SSD(容量),CPU(種類・周波数),メモリ(容 HDD/SSD(容量) CPU(種類・周波数) メモリ(容 量),OS – 重量,画面(大きさ・解像度),ドライブ(タイプ・規 重量 画面(大きさ 解像度) ドライブ(タイプ 規 格),バッテリー接続時間 – 幅×高さ×奥行き OS TDU FI iwai class 3 【演習3】 出力装置をできるだけ多く記載してみよう。 • できるだけ面白そうな出力デバイスを探して みよう。 OS TDU FI iwai class 4 資料ダウンロ ド先 資料ダウンロード先 http://www.cps.im.dendai.ac.jp/inde http://www cps im dendai ac jp/inde x.php?Classes%2F2015OS p p Or http://goo.gl/ywakFs OS TDU FI iwai class 5 講師 • 慶應義塾大学 卒 • ‐2012東京大学生産技術研究所 助教 • 2013‐東京電機大学未来科学部情報メディア学 東京電機大学未来科学部情報メデ ア学 科 准教授 • 1号館11F 11107B 実空間コンピューティング研 究室 • Facebook /masa.iwai • Twitter @masaiwai • Iwai「あっとまーく」im.dendai.ac.jp OS TDU FI iwai class 6 TA・SA・副手 • • • • 津野 津 Tsuno[atmark]cps.im.dendai.ac.jp 実空間コンピューティング研究室 東京電機大学 未来科学部 情報メディア学科 OS TDU FI iwai class 7 メッセージ • 良く遊び • よく学び • 社会を知る • 新しいことに挑戦する。 OS TDU FI iwai class 8 OS概論 • オペレ オペレーティングシステム(Operating System、 テ ングシステム( OS)はCPUやメモリ、周辺機器であるキーボー ド デ ドやディスプレイなどを管理して、ユーザにそ プ などを管 ザ れらデバイスへのインタフェースを提供してい ます。 ます • OSの基礎を理解し、コンピュータや の基礎を理解し、 ン タや SmartPhoneの基本動作原理を理解ことを目 標とします。さらにサ 標とします。さらにサーバ管理やVMについて 管理やVMについて 学びます。 OS TDU FI iwai class 9 最新の身近なOS – Android/Dalvik VM4.4 • https://source.android.com/ htt // d id / – Linux Ubuntu 12.04 LTS • http://www.ubuntu.com/ – iOS7 • http://www.apple.com/jp/ios/ – MaxOSX a OS Mavericks a e c s • http://www.apple.com/jp/osx/advanced‐technologies/ – WinsowsPhone8.1 WinsowsPhone8 1 • http://www.microsoft.com/ja‐jp/windowsphone/ – Windows8.1 Wi d 81 OS TDU FI iwai class • http://windows.microsoft.com/ja‐jp/windows‐8/meet 10 第1回 • ハードウエアとOS ドウ • CPUとデバイス、割り込み、記憶装置、ハード CPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ • スレッドとプロセス、メモリアドレス空間、ファ ドとプ セ メ リ ド 空間 イルシステム、NIC、ソケット、カーネル OS TDU FI iwai class 11 第2回 • CUI タイピング,ログイン,コマンド操作,マニュア ログイン コマンド操作 マニュア • タイピング ル, シェル • ファイル操作,エディタ フ イル操作 デ タ OS TDU FI iwai class 12 第3回 • プロセス,ジョブ プ ジ ブ • プロセス管理 プロセス管理、時分割処理とプロセス切り替 時分割処理とプロセス切り替 え、スケジューリング、プロセス表 OS TDU FI iwai class 13 第4回 • 記憶装置 憶装 • メモリ階層 メモリ階層、キャッシュ、アドレス空間、物理ア キャッシュ アドレス空間 物理ア ドレスと論理アドレス、ページング、チェックポ インティン • グ、効率的な自動メモリ管理、GC、フラッシュ メモリ、HDD、SSD OS TDU FI iwai class 14 第5回 • シェルとアクセス権 権 • 標準入出力 標準入出力、フィルタコマンド、シェルスクリプ フィルタコマンド シェルスクリプ ト、ファイルのバックアップ、アクセス権、ドライ ブ ディレク ブ、ディレク • トリ、ファイル、open/read/write • ファイルのメモリへのマッピング、アクセス制 御 権限 空き領域管理 御、権限、空き領域管理 OS TDU FI iwai class 15 第6回 • ネ ネットワークとOS • ethernet,ping,socket,tcp/udp,rpc,apach,http,s sh,ftp,remotewindow • 最新のOS事情 最新の 事情 OS TDU FI iwai class 16 第7回&第8回 • 予備日&試験 備 試験 OS TDU FI iwai class 17 採点方法 •学 学習意欲 意欲 20点満点 • 隔週のミニテストかレポート平均 25点 満点 (無い週もある) • 中間25点(+‐5点) 中間25点(+ 5点) • 最終学力考査 40点( 40点(+‐5点) 5点) OS TDU FI iwai class 18 出席ですが • カード使うこと(2Fのゲートでも通すこと) ド使う ゲ も通す • 10分前から開始までにタッチ行うこと。 • 代替タッチを防ぐために副手が人数カウント します。 します OS TDU FI iwai class 19 第1回 • ハードウエアとOS ドウ • CPUとデバイス、割り込み、記憶装置、ハード CPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ • スレッドとプロセス、メモリアドレス空間、ファ ドとプ セ メ リ ド 空間 イルシステム、NIC、ソケット、カーネル OS TDU FI iwai class 20 前回の復習 ハードウェアとOSについて オペレーティングシステム2015 21 ハードウェアの機能と構成 • コンピュータは,制御・演算・記憶・入力・出力 の機能を持つ • 以下のユニットで構成される 中央処理装置(CPU) 制御情報 制御情報 制御装置 制御情報 入力装置 演算装置 主記憶装置 (メモリ) 出力装置 補助記憶 装置 オペレーティングシステム2015 22 ハードウェアの概観と機能 CPU2 • クロック クロ ク – CPUの各部分の基本動作のタイミングを合わせるために, 一定の時間間隔で発生している信号 – CPUが行う様々な処理はクロック信号にタイミングを合わ せて行う て行う – クロック信号が発生する間隔が短ければ短いほど,CPU の動作が高速 • クロック周波数(Hz) – クロック信号が1秒間に何回発生するかを示す数値 – 一般にその周波数が高ければCPUの動作速度が速い オペレーティングシステム2015 23 ハードウェアの概観と機能 主記憶装置 • データの読み込み速度・書き込み速度が(補 助記憶装置と比べて)速い 装 • 電源を切ると記憶されていたデータは消えて しまう メモリスロット オペレーティングシステム2015 メモリの本体 24 ハードウェアの概観と機能 補助記憶装置1 • ハードディスク ドデ ク – 回転する円盤に磁気を帯びさせる事で,情報を保存 – 一連の情報は同心円状に配置されたトラック(円周)に記録される 連の情報は同心円状に配置されたトラック(円周)に記録される – ヘッド(銀色の三角形の形をした突起の先)が円盤の上を移動するこ とで情報を読み書きするトラックを変える ハードディスク 概観 オペレーティングシステム2015 ハードディスク 内部 25 ソリッドステートドライブの利点と欠点 • 利点 シークタイムがないためランダムアクセス性能に優れる 物理的な稼動箇所がないため省電力、動作音がしないの で静か – 同じ理由でHDDよりはるかに振動・衝撃に強い – – • 欠点 容量単位の価格がHDDより高い(2012年現在、HDDが1GB あたり5~10円に比べSSDは100円前後) – 書き換える度にトンネル酸化膜が確実に劣化するため、24 時間常時書き込みを行うような用途の場合HDDより寿命が 短くなる場合がある – オペレーティングシステム2015 26 ハードウェアの概観と機能 補助記憶装置2 • その他の補助記憶装置 他 補助 憶装 – フロッピーディスク(もうない) ッ ディ ク(もうな ) – USBフラッシュメモリ SDメモリ – CD‐ROM / CD‐R / CD‐RW CD ROM / CD R / CD RW – Blu‐ray Disc/DVD‐R DVDドライブ オペレーティングシステム2015 27 ハードウェアの概観と機能 入力装置 • 人間の意図をコンピュータに伝える 人間の意図をコンピ タに伝える • データをコンピュータに伝える • キーボード • ポインティングデバイス – マウス – タッチパッド • タブレット • スキャナ • マイク 等 オペレーティングシステム2015 28 ハードウェアの概観と機能 出力装置 • コンピュータの処理の結果を表示する ピ タ 処 結 を表 する • ディスプレイ – 液晶 – ブラウン管(CRT) • プリンタ • スピーカ スピ カ 等 オペレーティングシステム2015 29 ソフトウェア OS TDU FI iwai class 30 ソフトウェア(プログラム) • ハードウェアだけではコンピュータは動作しない(コンピュー ドウ アだけでは ンピ タは動作しない( ンピ タ,ソフトなければただの箱) • コンピュ コンピュータに実行させたい仕事の手順をコンピュータが理 タに実行させたい仕事の手順をコンピュ タが理 解できる形式で記述したものをプログラムという • プログラムを入れ替えることで様々な情報を様々な方法で処 理ができる OS TDU FI iwai class 31 電卓とコンピュータは何が違うか • 計算をする機械という意味では同じ • 電卓 – プログラムとデータは人間の頭の中にある – 人間がデータとプログラム(演算の手順)を入力 人間がデ タとプログラム(演算の手順)を入力 – 人間の入力速度は低速 • コンピュータ(=電卓+メモリ) コンピュ タ( 電卓+メモリ) – – – – プログラム内蔵方式(ノイマン型コンピュータといわれる) プログラムとデータを本体内部にある記憶装置に取り込む 取り込んだプログラムに従って,CPUで演算処理を行う 高速に演算が行える OS TDU FI iwai class 32 基本ソフトウェアと応用ソフトウェア • 応用ソフトウェア 応用ソフトウ ア – アプリケーションとも呼ばれる – 特定の作業や業務を行う為に使用される – ワープロソフト,表計算ソフト(スプレッドシート),メールソ フト等 • 基本ソフトウェア – オペレーティングシステム(OS) • 応用ソフトウェアを円滑に動かすためにコンピュータを管理する 応用ソフトウェアを円滑に動かすためにコンピュ タを管理する – 言語プロセッサ(コンパイラ) • プログラムを作る機能を提供する OS TDU FI iwai class 33 代表的なOSの種類 • • • • • • • • • • Operating System (OS) O ti S t (OS) Windows(9xファミリー、NTファミリー、XP、Vista、7) Mac OS / iOS Mac OS / iOS UNIX(LinuxやBSDなど含む) Solaris Tron Symbian vx‐works k Android(厳密にはOSではない) MVS (OS/360 OS/390 z/OS) MVS (OS/360, OS/390, z/OS) • http://en.wikipedia.org/wiki/List_of_operating_systems OS TDU FI iwai class 34 OSの役割 • OSの役割は,人間がコンピュータを が ピ 使いやすくすること • 「アプリケ 「アプリケーションソフトとハードウェ ションソフトとハ ドウェ アの仲介」 • 「ユーザインタフェースの提供」 • 「資源の管理」 「資 管 • という3つの役割がある OS TDU FI iwai class 35 アプリケーションとハードウェアの仲介2 OS TDU FI iwai class 36 ユーザインターフェースの提供 • ユーザがコンピュータとやり取りを行う部分の ザが ンピ タとやり取りを行う部分の 総称がユーザインタフェース(UI) • UIは,ユーザに対する情報の表示形式や UIは ザに対する情報の表示形式や ユーザのデータ入力方式を規定する • 応用ソフトウェアごとにUIが異なっては,使い 応用ソフトウ アごとに が異な ては 使い 勝手が悪い – ファイルの保存ダイアログは,色々なアプリケー イ 保存ダイ グは 色 な プリケ ションで共通している • 現在ではアイコンなどを利用したGUI (Graphical User Interface)が主流 OS TDU FI iwai class 37 資源の管理 • 資源 – 1つのコンピュータで利用者(プログラムやユーザ)が使用 するもの • CPU • 二次記憶装置や主記憶装置の記憶領域 • ディスプレイ • CPUの管理 の管理 – 数多くの仕事をこなす場合,OSはそれらを分割して,CPU 振 が処理する内容を割り振る – 処理の切り替えは高速に行われている • 主記憶装置(メモリ)や補助記憶装置の管理 –ハ ハードディスクやメモリのどこにどんなデータが記録され ドディスクやメモリのどこにどんなデ タが記録され ているかを管理(クリックするだけで中身が閲覧できる) OS TDU FI iwai class 38 【演習2‐1】 プロセスを観察してみよう • OSによって現在実行されているプログラム 在実行され るプ グ (アプリケーション)をプロセスという • アクティビティモニター を起動して 観察してみよう を起動して,観察してみよう WindowsはCTL+ALT+DEL OS TDU FI iwai class 39 ファイルとディレクトリ OS TDU FI iwai class 40 ファイル • 様々なソフトウェアと,それらを使って作成・編集した データを扱う単位 – ソフトウェア(プログラム)の本体もファイルとして扱われる Microsoft Wordのプログラムファイル Mac版 版 Windows版 版 – ソフトウェアを使って作成・編集したデータもファイルとして 扱われる Microsoft Word形式のデータファイル Mac版OS TDU FI iwai class Windows版 41 ディレクトリ(フォルダ) • ファイルをグループ化して管理するための入 れ物のこと • 授業では,ディレクトリという名称を使う – WindowsやMacではフォルダという名称が使われ Wi d やM ではフォルダという名称が使われ ている – UnixというOSではディレクトリと呼ぶのが一般的 う デ が 般的 Windowsのフォルダ OS TDU FI iwai class Macのフォルダ 42 ファイルとディレクトリのツリー構造 path • ディレクトリの中にディレクトリを入れることができる デ ク 中 デ ク を れる とが きる • 図に描くと,枝分かれした(逆さまの)木のような構 造(ツリー構造)になる ディレクトリAをディレクトリB ディレクトリ A ディレクトリ B ファイルAファイルB OS TDU FI iwai class の親ディレクトリ デ レクトリBをデ レクトリA ディレクトリBをディレクトリA の子ディレクトリ,サブディレ クトリと呼ぶ ファイルC 43 ディレクトリによるファイル管理 • ファイル数が増えても,ファイルをグループ化 整 すれ , ァイ 管 (検索 して整理すれば,ファイルの管理(検索・コ ピー・移動等)が楽になる 整理前 OS TDU FI iwai class 整理後 44 第1回 • ハードウエアとOS ドウ • CPUとデバイス、割り込み、記憶装置、ハード CPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ • スレッドとプロセス、メモリアドレス空間、ファ ドとプ セ メ リ ド 空間 イルシステム、NIC、ソケット、カーネル OS TDU FI iwai class 45 OSの役割 1. コンビニとしてのOS: ビ 計算機 抽象 計算機の抽象化+サー ビスの提供 – OSがない状態よりも,プログラミングを「易しく」 「機械非依存に」する 2. 警察としてのOS: 保護, 安全性, 資源管理 – 複数のプログラム,複数のユーザがいる環境で, 計算機の「独占を防ぐ」,ユーザ間での「データの 保護」 保護 OS TDU FI iwai class 46 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 OS TDU FI iwai class 47 その他の重要機能 • プロセスの生成や管理 プ 生成 管 – fork, exec, exit, wait, popen, system, etc. , , , ,p p , y , • スレッドの生成や管理 – clone, pthread_create, pthread_exit, etc. l h d h d i • メモリの割り当てや解放 – brk, mmap, malloc, calloc, free, etc. OS TDU FI iwai class 48 OSがいるおかげで 出来ていることの例 • 自分のプログラムはひたすら自分の計算だけ をしているのに 複数・大量のプログラムが同時 をしているのに, 複数・大量のプログラムが同時 に起動・実行できる • プログラムが暴走してもCtrl‐Cで除去できる プログラムが暴走してもCtrl Cで除去できる • 他のプログラムとメモリ内に同居しているのに, メモリのどの部分を使えばいいのか悩まなくて よい • HDDだろうとCD‐ROMだろうとUSBだろうと同じよ だろうと だろうと だろうと同じよ うにopen/read/writeで読み書きできる OS TDU FI iwai class 49 計算機の抽象化+サービスの提供 • 「生のハードウェア(OSなしの計算機)」で, 「音楽を聞きながらネ トサ 「音楽を聞きながらネットサーフィンができる」 が きる プログラムを書いたら? 1. CPU : 複数のプログラムの同時(交互)実行 2. メモリ : 物理メモリの割り当て 3. I/O : プロセッサ外部(ディスク,ネットワーク)と の通信 OS TDU FI iwai class 50 複数のプログラムの交互実行(1) • (OSなしで)交互実行を保証するためにプログ な 交 実行を保証するた プ グ ラムはどのように書かねばならないか? 音楽 ネット 時刻 OS TDU FI iwai class 51 複数のプログラムの交互実行(2) • こんなことをいたる所で こんなことをいたる所で… draw_page() { /* ページを描画 */ for ( ) { for (…) { do_some_drawing(); /* ちょっと描画 */ if (t > 100 ms) { /* MP3Playerのために if (t > 100 ms) { / MP3Playerのために *// yield_CPU_to_MP3Player(); }}} } } } • 実際には他にワープロ,ゲーム,etc.も走っているか も… • OSの回答 : スレッド,プロセス OS TDU FI iwai class 52 OSの歴史 オペレーティングシステム2014 53 OSの始まり • 一番最初のコンピュータ(1950年代~) 番最初の ンピ タ(1950年代 ) – パンチ(穴)カードを使って磁気テープに読み込む – 読み込まれたデ 読み込まれたデータの実行が主な仕事 タの実行が主な仕事 – プロセス状態の管理 – コンピュータの機種ごとに、専用のOS コンピ タの機種ごとに 専用のOS • 1960年代前半のOS: – 1950年代の機能 + α (いろいろ:略) • 1960年代後半 1960年代後半: 大型 大型コンピュータ ンピ タ – 様々な機種が発売された ↑ IBM System/360 (1964) – それら多くの機種に、1つのOSで対応した それら多くの機種に 1つのOSで対応した オペレーティングシステム2014 54 文字の世界 • 1970 1970~80年代前半: 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) → オペレーティングシステム2014 55 グラフィカルな世界 • 1980年代~: GUI (Graphical User Interface) – WYSIWIG: What You See Is What I Get • 1984年: Mac OS System 1.0 Mac OS System 1.0 – マウス、アイコン、ウインドウ、ゴミ箱、メニューバー – GUIでも画面は白黒 • 1985年: Windows 1.0: ウインドウを重ねられな い ↑ Mac OS System 1.0 オペレーティングシステム2014 ↑ Windows 1.0 56 少しずつ グラフィカルに 少しずつ、グラフィカルに 昔の 昔のWindows ↑ Windows 1.0 (1985) ↑ Windows 3.1 (1992) ↑ Windows 2.11 (1988) ↑ Windows for Workgroups 3.11 オペレーティングシステム2014 ↑ Windows 3.0 (1990) ↑ Windows 95 (1995) 57 少しずつ グラフィカルに 少しずつ、グラフィカルに 最近の Windows ↑ Windows NT 4.0 (1996) ↑ Windows 98 (1998) ↑ Windows Me (2000) ↑ Windows 2000 (2000) ↑ Windows XP (2002) ↑ Windows Vista (2007) オペレーティングシステム2014 58 • http://windows.microsoft.com/ja‐jp/windows‐8/meet Windows8/8 1 Modern UI Windows8/8.1 Modern UI オペレーティングシステム2014 59 Windows10 • ActionCenter • Cortana – Personal Digital Assistant Personal Digital Assistant OS TDU FI iwai class 60 Windows10 • 新ブ 新ブラウザ「Spartan」 ウザ「 • Cortanaとも統合されるため、ユーザーの個人 Cortanaとも統合されるため、ユ ザ の個人 ストレージにあるデータを使って、適切に検索 できる • Microsoft Hololens OS TDU FI iwai class 61 Surface Hub Surface Hub • gaming OS TDU FI iwai class 62 multiplatfrom • windows10 macbook • Windows10 raspberry pi2 Windows10 raspberry pi2 – Microsoft、「Windows 10 for Raspberry Pi 2」を無 償提供へ OS TDU FI iwai class 63 MacOS 少しずつ、グラフィカルに 少しずつ グラフィカルに ↑ Mac OS System 1.0 (1984) ↑ Mac OS 8 (1997) ↑ Mac OS System 6.0 (1989) ↑ Mac OS 9 (1999) オペレーティングシステム2014 ↑ Mac OS System 7.5 (1995) ↑ Mac OS X 10.4 (2005) 64 Mac OS X mountain lion Mac OS X mountain lion オペレーティングシステム2014 65 MacOS X mavericks X mavericks • http://www.apple.com/jp/osx/whats‐new/ p // pp /jp/ / / オペレーティングシステム2014 66 MacOS X mavericks X mavericks • タイマーコアレッシング タイマ コアレッシング – 低負荷のプロセスをまとめて処理してアイドル時間を増やすこ とにより、CPUの電力消費を抑える。 • App Nap 他のウインドウの背面に隠れているアプリの処理 速度を低下させることにより、電力消費を抑える。 • 圧縮メモリ 非アクティブのアプリのメモリを自動的に圧縮 するようになる。 • iBooks – る。 • マップ マ プ – iOS 6で追加されたアプリ。 オペレーティングシステム2014 67 MacOS X Yosemite X Yosemite • Instant hotspot • messengers OS TDU FI iwai class 68 iOS連動 • seemless l editing di i • iOS 7ライクなルック&フィ 7ライクなルック&フィール ル • Homekit OS TDU FI iwai class 69 クラウド連動の時代へ • iClould連動 連動 & photos OS TDU FI iwai class 70 OS の進化で出来るようになった事(一部) OS の進化で出来るようになった事( 部) • 新しいハードウェアのサポート 新しい ドウ アのサポ ト – Windows 95 では、USBは使えない • ファイル名の文字数 – Windows 1.0~3.1: 8文字、95~Me: 32文字、 2000 2000~: 256文字 M OS 9 31文字 t 256文字、Mac OS ~9: 31文字、etc… • ユーザインタフェース: – メニュー、見た目、操作性、etc… • 様々な機能の統合 様 な機能 統合 – ブラウザの統合、メディアプレーヤー、ムービー メーカー、システムの復元、アップデート機能、 カ 、シ テ の復元、アップデ ト機能、 セキュリティ向上機能、デスクトップ検索、etc… オペレーティングシステム2014 71 出来るようになった事 vs. 変わらない事 vs 変わらない事 • さて、OSの進化と共に色々な機能が増加。 さて OSの進化と共に色々な機能が増加 • では昔から今までのOSで、共通している事は? – OSの3つの仕事: の の仕事 • ハードウェアの抽象化 • ユーザインタフェースの提供 ユ ザインタフェ スの提供 • 資源の管理 – 新しいデバイスが使えるようになったり、インタ フ フェースとして新しく変更された所は色々ある。 スとして新しく変更された所は色々ある – 最近の流行: セキュリティ対策、分かり易いGUI – でも、OSの仕事は、OSが変わっても根本的には でも OSの仕事は OSが変わっても根本的には 同じ。 オペレーティングシステム2014 72 OSの役割 • OSの役割は,人間がコンピュータを使いやす 役割 が ピ タを使 す くすること • 「アプリケーションソフトとハードウェアの仲 介」「ユ ザインタフェ スの提供」「資源の管 介」「ユーザインタフェースの提供」「資源の管 理」という3つの役割がある オペレーティングシステム2014 73 ユーザインターフェースの提供 • ユーザがコンピュータとやり取りを行う部分の ザが ンピ タとやり取りを行う部分の 総称がユーザインタフェース(UI) • UIは,ユーザに対する情報の表示形式や UIは ザに対する情報の表示形式や ユーザのデータ入力方式を規定する • 応用ソフトウェアごとにUIが異なっては,使い 応用ソフトウ アごとに が異な ては 使い 勝手が悪い – ファイルの保存ダイアログは,色々なアプリケー イ 保存ダイ グは 色 な プリケ ションで共通している • 現在ではアイコンなどを利用したGUI (Graphical User Interface)が主流 オペレーティングシステム2014 74 OSの役割 1. 計算機の抽象化+サービスの提供 計算機 抽象 ビ 提供 – OSがない状態よりも,プログラミングを「易しく」 な 状態よりも, グラ ングを 易しく」 「機械非依存に」する 2 保護 安全性 資源管理 2. 保護, 安全性, 資源管理 – 複数のプログラム,複数のユーザがいる環境で, 計算機の「独占を防ぐ 計算機の「独占を防ぐ」,ユーザ間での「データの ザ間での「デ タの 保護」 オペレーティングシステム2014 75 OSがいるおかげで出来ていることの例 • 自分のプログラムはひたすら自分の計算だけ をしているのに 複数・大量のプログラムが同時 をしているのに, 複数・大量のプログラムが同時 に起動・実行できる • プログラムが暴走してもCtrl‐Cで除去できる プログラムが暴走してもCtrl Cで除去できる • 他のプログラムとメモリ内に同居しているのに, メモリのどの部分を使えばいいのか悩まなくて よい • HDDだろうとCD‐ROMだろうとUSBだろうと同じよ だろうと だろうと だろうと同じよ うにopen/read/writeで読み書きできる オペレーティングシステム2014 76 計算機の抽象化+サ ビスの提供 計算機の抽象化+サービスの提供 • 「生のハードウェア(OSなしの計算機)」で, 「音楽を聞きながらネ トサ 「音楽を聞きながらネットサーフィンができる」 が きる プログラムを書いたら? 1. CPU : 複数のプログラムの同時(交互)実行 2. メモリ : 物理メモリの割り当て 3. I/O : プロセッサ外部(ディスク,ネットワーク)と の通信 オペレーティングシステム2014 77 複数のプログラムの交互実行(1) • (OSなしで)交互実行を保証するためにプログ な 交 実行を保証するた プ グ ラムはどのように書かねばならないか? 音楽 ネット 時刻 オペレーティングシステム2014 78 複数のプログラムの交互実行(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 79 メモリ管理(1) • 有限 有限(たとえば256MB)のメモリに,プログラム た ば プ グ ( (命令列),データを重ならないように配置する ) 番地: 0 ブラウザの命令列 メールの命令列 命令 ブラウザのデ タ ブラウザのデータ メ ルのデ タ メールのデータ 番地: 256M オペレーティングシステム2014 80 メモリ管理(2) • ひとつしかプログラムがなくてもすでに複雑だ が,その上複数プログラムがあると, – どのプログラムがどの部分を使うの? – その割り当ては立ち上げるたびに違うの? – メモリが足りなくなったらどうするの? – etc. • OSの回答 : 仮想記憶,論理アドレス空間 : 仮想記憶,論理アドレス空間 オペレーティングシステム2014 81 複雑な入出力(1) • 例 : ネットワークからページをダウンロード ネ ジをダウ ド • download_page() { download page() { send_request_to_server(); > 100ms receive from server(); receive_from_server(); } … > 100ms … send… d receive… i 時間 オペレーティングシステム2014 82 複雑な入出力(2) • 入力待ちの間(より 入力待ちの間(より一般には「することがない 般には「することがない 間」)は, – 自分はCPUを使わない= 他のプログラムにCPUを 譲る(yield)必要がある • やがて入力が来たら, – CPUはそれに「気づく」必要がある CPUはそれに 気づく」必要がある • ポーリング(定期的な検査) • ハードウェア割り込み(IRQ) ( ) オペレーティングシステム2014 83 ハードウェア割り込み • 外部装置からCPUへ送られる信号 外部装置から 送られる信号 – CPUの制御(プログラムカウンタ)を強制的に,指 定された番地 割 定された番地(割り込みハンドラ)に移行 ド 移行 • 外部装置がイベントの通知に用いる 装 – 入力データready – 出力可 – 時間経過 –… オペレーティングシステム2014 IRQ Line 84 割り込みを用いた入力処理 • 以下のような割り込みハンドラ設定 うな割 ド 定 – receive_from_network () { () { write_data_to_browser_memory(); yyield_to_browser(); (); } オペレーティングシステム2014 85 ディスク入出力 • ディスクの構造や容量に基 ディスクの構造や容量に基づいたアドレス いたアドレス (e.g., (シリンダ番号,トラック番号,セクタ番 号))を用いてアクセス • メモリと類似の,空き領域管理 • 必要な情報の格納位置を得るための情報 • ネットワーク同様の割り込み処理 オペレーティングシステム2014 86 「計算機の抽象化+サービスの提供」 まとめ • CPU, メモリ,入出力IF,2次記憶 次 憶 etc. が,生の が 生 ハードウェアそのままでは使いづらい – 複数のプログラムが同時進行しているときに顕著 • OSが「よりシンプルな」プログラミングインタ フェース(API)を提供(“抽象化”) • 「お役立ち道具集」としてのOS オペレーティングシステム2014 87 保護 安全性 資源管理 保護, 安全性, 資源管理 • OSの「真の」存在理由 OSの「真の」存在理由: 資源を管理し, 実行中のプ 資源を管理し 実行中のプ ログラムを保護 – 1つのプログラムがCPUを独占利用できない – 1つのプログラムが他の走行中のプログラムのメモリを破 壊することはできない – あるプログラムが受け取るべきメッセージを他のプログラ あるプ グ が受 る き ジを他 プ グ ムが横取りすることはできない – 本来権利のない人が計算機をつかうことはできない – 本来権利のない人が他人のファイルを読み書きすること はできない • 間違え 間違えても,または悪意があっても,できないように も または悪意があ も きな ように する オペレーティングシステム2014 88 第2回の講義内容 • ハードウエアとOS ドウ • CPUとデバイス、割り込み、記憶装置、ハード CPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ • スレッドとプロセス、メモリアドレス空間、ファ ドとプ セ メ リ ド 空間 イルシステム、NIC、ソケット、カーネル オペレーティングシステム2014 89 Raid d オペレーティングシステム2014 90 目的 • ハードディスクの信頼性が問題 ドデ 信頼性が – →1個が壊れてもデータは安全にしたい。 → 個 壊れ もデ タは安 した 。 • 連続運転の為にはホットスワップが必要 連続運転の為にはホ ト プが必要 オペレーティングシステム2014 91 Raid技術の誕生 • “A Case for Redundant Arrays of Inexpensive ( ) David A Patterson et al., 1988 , Disks(RAID)” – カリフォルニア大学バークレー校のDavid A Patterson氏、Garth Gibson氏、Randy Katz氏の A.Patterson氏、Garth Gibson氏、Randy Katz氏の 共同論文「安価なドライブを組み合わせることで 冗長性を持たせる仕組み」による – 安価なディスクをたくさん使う – いかRAIDと略される オペレーティングシステム2014 92 • ソフトウェアRAID ソフトウ アRAID – 無料 • RAIDカード RAIDカ ド – 数万円~10万円 • 内臓RAIDユニット – 数万円 • 外付けRAIDユニット – 数十万円~数百万円 • RAIDサーバ(NASサーバ) RAIDサ バ(NASサ バ) – 数十万円~数千万円 オペレーティングシステム2014 93 • Redundant Arrays of Independent R d d tA fI d d t Disks Di k – RAID Advisory Board での定義 • • • • • • • レベル0 レベル1 レベル2 レベル レベル3 レベル4 レベル5 レベル6 ストライピング ミラ リング ミラーリング 分散ハミングコード バイト分割固定パリテ バイト分割固定パリティ ブロック分割固定パリティ 分散パリティ 2重分散パリティ オペレーティングシステム2014 94 磁気ディスクの構造 • とにかく読み書きに時間がかかる。 く読 書き 時 が る • 全部のディスクが同時に回る。 • メモリの探索速度はディスクの10万倍~100万倍高速。 • メモリの転送速度もディスクのざっと100倍高速。 メモリの転送速度もディスクのざっと100倍高速 オペレーティングシステム2014 95 Raid0 オペレーティングシステム2014 96 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それぞれのデータ・ブロック を読み出すことが可能。 • 高速化技術 オペレーティングシステム2014 97 Raid1 ミラーリング • RAID 1は、RAIDレベルの中で、最も単純な手 ベ 中 も単純な 法 ディ ク 耐障害性を高 法でディスクの耐障害性を高めている。その る。そ 手法とは、同一のデータを複数のディスクに 書き込み 一方のディスクが故障しても 書き込み、 方のディスクが故障しても、他 他 方で処理を続行できるようにする。 オペレーティングシステム2014 98 Raid1ミラーリング オペレーティングシステム2014 99 Raid1 稼働率 Raid1 稼働率 • RAID 1では、同一のデータを2台以上のディスク では 同 のデ タを 台以上のデ スク に書き込むため、ディスク容量の利用効率は 50%以下にな てしまうというデメリ トがある(2 50%以下になってしまうというデメリットがある(2 台のディスクの 容量が異なると、利用効率は 50%よりさらに下がる)。 50%よりさらに下がる) • 利用効率=保存可能データ量/利用ディスク =100%n/2n=50% 100% /2 50% • 例えば1Tbytesのデータを記録するには、 1Tbytes×2=2Tbytes分の容量のディ 分 容量 デ スクが必 クが必 要になる。 オペレーティングシステム2014 100 Raid5 • RAID 5は、耐障害性の向上と高速化、大容量 耐障害性 向 高速 大容量 化のすべてを実現できるRAID技術。 • 分散データ・ガーディングとも呼ばれる。 • RAID 5では、ディスクの故障時に記録データ では デ スクの故障時に記録デ タ を修復するために「パリティ」と呼ばれる冗長 コードを、全ディスクに分散して保存するの オペレーティングシステム2014 101 Raid5 オペレーティングシステム2014 102 RAID 5の動作原理 RAID 5の動作原理 • データを分割して各ディスクに格納するという 原理はRAID 0(ストライピング)と同じだ。異な るのは、データ・ブロックの組(上図でいえば1 /2や3/4 5/6)ごとにパリティが生成され /2や3/4、5/6)ごとにパリティが生成され る点である。たとえ1 台のディスクが壊れても、 残りのディスクに格納されたデ タとパリティ 残りのディスクに格納されたデータとパリティ から、失われたデータを復活させることができ る。 オペレーティングシステム2014 103 Raid5の利用効率 • パ パリティの保存に必要なのは、全ディスク台 保存 必要な は 全デ ク台 数に関係なくディスク1台分の容量である。 従 従ってディスク台数が多いほど容量の利用効 デ 台数が多 ど容 効 率も向上する。RAID 1(ミラーリング)と比較し た場合 た場合、この利用効率の高さがRAID 5のメ 利 効率 高さが リットの1つとされる。 • ディスク容量の利用効率 – 100 *(n‐1)/n % オペレーティングシステム2014 104 Raid10 Raid1+0 Raid10 Raid1+0 • ミラーリンググループをストライピング ググ プを ピ グ • 冗長性と高速性 オペレーティングシステム2014 105 その他(覚えなくて良い) • RAID RAID 2 2 • RAID 2では、エラーを修復するための冗長コードを元の デ タとともに、複数のディスクにまたがって記録する。特 データとともに、複数のディスクにまたがって記録する。特 徴は、冗長コードが多ビットのECC(Error Correcting Code: 誤り訂正符号)であることと、データを配分するときの単位 サイズがブロック(セクタ)単位ではなくbitまたはbyte単位。 • 多ビットのECCによる冗長コードは、元のデータに対して そのサイズが大きくなりがちで、容量面でのオーバーヘッ ドが大きいというデメリ トがあ る。例えば、代表的なECC ドが大きいというデメリットがあ る 例えば 代表的なECC の1つであるハミング符号を用いると、元のデータを2台の ディスクに分散するには、冗長コードだけのために3台の デ ディスクが必 クが必 要になってしまう。元のデータより冗長コード 要 な まう デ タより 長 ド の容量を小さくするには、元のデータを格納するディスクを 台以 しなければならな 。 4台以上にしなければならない。 オペレーティングシステム2014 106 その他(覚えなくて良い) • RAID 3 – 元のデータに冗長コードを加えて複数のディスクに記録。 デ タ ドを加 複数 デ ク 録 – 冗長コードには、RAID 5と同じパリティを採用する。 – RAID 5と大きく異なるのは、各ディスクにデ RAID 5と大きく異なるのは 各ディスクにデータを配分する際の単位 タを配分する際の単位 サイズが、ブロック(セクタ)単位ではなくbitまたはbyte単位 – パリティが特定のディスクに保存される(全ディスクには分散されな い) ) – 高速化のためには、複数のディスクをまったく同時に読み書きするた めの同期機能が必要 • RAID 4 – RAID 4は、RAID 5と同様に、元のデータからパリティを生成して、ブ ロック単位で複数のディスクに記録する、という点でよく似ている。異 なるのは、パリティを全ディスクに なるのは、 リティを全ディスクに 分散するのではなく、 – 特定のディスクだけに格納する点だ。 オペレーティングシステム2014 • 元のデータとパリティそれぞれを格納するディスクが別々に分かれている 107 その他(覚えなくてよい) • RAID 6 RAID 6 – RAID 6は、RAID 5の改良版といえる技術 – 1つのデータ・ブロックにつき2つのパリティを生成 1つのデ タ ブロックにつき2つのパリティを生成 – 同時に2台のハードディスクが故障しても、元のデー タを修復可能 – パリティが増えた分、その計算や書き込みのオ パリティが増えた分、その計算や書き込みのオー バーヘッドも増加する – 特に書き込みの性能は高くない。 – パリティ用に2台分のディスク容量を必要とするため、 パ 台分 デ ク容量を必 とするため ディスクの利用効率はRAID 5より下がる。 オペレーティングシステム2014 108 パス名(絶対・相対パス) オペレーティングシステム2014 109 パス名(絶対パスと相対パス) • フ ファイルやディレクトリにアクセスするために,ファイ イルやデ レクトリにアクセスするために フ イ ルやディレクトリの位置(パス名)を示す必要がある • パス名の指定方法は以下の2種類 • 絶対パス – ルートディレクトリを基点として絶対的な位置を指定する – 例:住所は絶対パス「東京都足立区千住旭町5」 例 住所 絶対 東京都足 千住 町 」 • 相対パス – あるディレクトリを基点にした相対的な位置を指定する – 場合によっては,絶対パスより短いパス名で指定できる – 例:田中君の家は「私の家の右隣」 オペレーティングシステム2014 110 絶対パス • fileAの絶対パス 絶対パ ▪ 日本語だと“ルートディレクトリの中の, “ルートディレクトリの中の,home homeディレクトリ ディレクトリ の中の の中のt10472ms 中 t10472msディレクトリの中の デ ディレクトリの中のfileA ク 中 fileA”” ▪ 区切りを「/(スラッシュ)」で繋げて, / “/h “/home/t10472ms/ /h /home/t10472ms/fileA /t10472 /fil /fileA” fil A” A” h home t10472ms fileA オペレーティングシステム2014 fileB s10021sa 111 相対パス1 • t10472msを基点にした時のfileBの相対パス を基点 た時 相対パ ▪ “fileB fileB”” • homeを基点にした時のfileBの相対パス ▪ “t10472ms/ t10472ms/fileB /fileB”” / home t10472ms fileA オペレーティングシステム2014 s10021sa fileB 112 相対パス2(重要) • 基点から見た親デ 基点から見た親ディレクトリを指定するには,“..(ピ ク を指定する は “ (ピ リオド2つ)”の記号を使う • t10472msを基点にした時のhomeの相対パス ▪ “.. ..””(親ディレクトリは1つだけなので,1つに定まる) • s10021saを基点にした時のfileBの相対パス / ▪ “../t10472ms/ ../t10472ms/fileB fileB”” fileB home t10472ms オペレーティングシステム2014 fileA fileB s10021sa 113 相対パス3 • 基点 基点のディレクトリを示すには,“.(ピリオド1つ)”の デ ク を す は “ (ピ オド )” 記号を使う • t10472msを基点にした時のfileAの相対パス ▪ “./ ./fileA fileA” ” (基点ディレクトリを明示した場合) ▪ “fileA” fileA”(基点ディレクトリを省略した場合) • 基点ディレクトリを明示すると, 相対パスによる指定であることが分かる • パス名が読みやすくなる場合がある t10472ms オペレーティングシステム2014 fileA fileB / home s10021sa 114 ファイルとディレクトリ の操作 オペレーティングシステム2014 115 ファイルの操作方法1 ファイルマネージャーを使う WindowsのExplorer MacのFinder オペレーティングシステム2014 116 ファイルの操作方法2 コマンド操作でファイルを管理する Macのターミナル Windowsのコマンドプロンプト オペレーティングシステム2014 117 GUIとCUI • Graphical User Interface(GUI) Graphical User Interface(GUI) – 画面表示にアイコンやメニューを用い,操作の大半をマウ スなどのポインティングデバイスによって行なう – Finder(Mac)やExplorer(Windows)はGUIを備えたファイ ( )や ( )は を備えた イ ルマネージャ(ファイル管理機能をもつソフトウェア) – 直感的に操作ができる • Character User Interface(CUI) – すべての操作をキ すべての操作をキーボードからコマンドと呼ばれる命令を ボ ドから ンドと呼ばれる命令を 用いて行なう – ターミナル(Mac)やコマンドプロンプト(Windows)を使うと CUIを使 てコンピ CUIを使ってコンピュータを操作できる タを操作できる – 効率よく命令を記述でき,慣れれば素早く操作を行える オペレーティングシステム2014 118 ターミナル • コマンド操作を行うためには,ターミナルというプロ ド操作を行うためには タ ミナ と うプ グラムを使う • 起動方法 – 初期設定ではDockに登録されている – Dockにない場合 • Finderを起動する Fi d を起動する • サイドバーのアプリケーションを選択する • ユーティリティフォルダ中の,ターミナルをクリック オペレーティングシステム2014 119 コマンド • コンピュータに与える命令のこと ピ タに与える命令 と • CUIのターミナルでは(マウスによるボタン操作ではなく),文 字で命令を伝える • 例:ファイルの移動 例 フ イルの移動 Finder(GUI)だとマウスで命令 ターミナル(CUI)だと文字で命令 % mv 第2回情報基礎課題.doc /Users/ ユーザ名/Documents/ オペレーティングシステム2014 120 プロンプト • ターミナルを起動すると,%マークが現れる タ ミナルを起動すると, クが現れる • これをプロンプトと呼び,コンピュータがコマン ドによる指示を待っている印(しるし) • コマンドを入力したら,エンターキーを押すと 命令が実行される % コマンド このスライドではエンターキーを押すタイミングを で表現しています オペレーティングシステム2014 121 コマンドプロンプト cmd.exe オペレーティングシステム2014 122 なぜコマンド操作を学習するか • サーバはコマンドで操作することが多い サ バはコマンドで操作することが多い ▪ プロバイダから提供されているWebサーバを設定する ▪ 所属する研究室・会社のサーバの管理をする 所属する研究室 会社のサ の管理をする • 効率よくコンピュータに仕事を指示することができる ▪ シェルスクリプト ▪ ワイルドカード ▪ マウスばっかりを使うひとってなんか素人っぽ い。。。と思われてしまうかもしれない。 ▪ タタタタターッン!キーボード乱れ打ちドヤ顔が カ イイ カコイイ オペレーティングシステム2014 123 日付とカレンダーの表示 • 日付の表示:dateコマンド 表 ド % date d t 2010年04月02日 (金) 10時49分52秒 JST • カレンダーの表示:calコマンド % call 2010年 4月 日 月 火 水 木 1 4 5 6 7 8 11 12 13 14 15 18 19 20 21 22 25 26 27 28 29 金 2 9 16 23 30 土 3 10 17 24 オペレーティングシステム2014 124 ファイル・ディレクトリの操作の コマンド一覧 • • • • • • • • • pwd d → カレントデ レクトリの絶対パスを表示 → カレントディレクトリの絶対パスを表示 ls → ディレクトリの内容を見る cd → カレントディレクトリの移動 less → ファイルの内容を見る mkdir → 新しいディレクトリを作る cp cp → ファイルのコピーを作る → ファイルの ピ を作る mv → ファイルの移動・ファイル名の変更 rm → ファイルの削除 → ファイルの削除 rmdir → ディレクトリの削除 オペレーティングシステム2014 125 カレントディレクトリ • コマンドによってファイルやディレクトリを操作 ド よ イ やデ クト を操作 する場合,相対パスでファイルやディレクトリ を指定する方が便利 • 現在の作業ディレクトリのことをカレントディレ 現在の作業ディレクトリの とをカレントディレ クトリ(ワーキングディレクトリ)という • カレントディレクトリからの相対パスでファイル を指定することができる • ターミナルを起動した直後のカレントディレク タ ミナルを起動した直後のカレントディレク トリは「ホームディレクトリ/CNSiMac」になる オペレーティングシステム2014 126 カレントディレクトリの表示 • pwd(print working directoryの略) 略 コマンド ド – カレントディレクトリの絶対パスを表示する カ ン ディ ク リ 絶対 を表示する % pwd /a/fs0102a/t10472ms ファイルサーバは何台かのコンピュータで分担してホームディレクトリを保管してい ファイルサ バは何台かのコンピュ タで分担してホ ムディレクトリを保管してい るので,本当のホームディレクトリの絶対パス名は /a/fs0102a/t10472msのように ファイルサーバの番号とログイン名を組み合わせたものになっています 誰のホ ムディレクトリがどのファイルサ バにあるかを覚えるのは大変なので, 誰のホームディレクトリがどのファイルサーバにあるかを覚えるのは大変なので /a/fs0102a/の部分をまとめて,'/home' と表わします オペレーティングシステム2014 127 ディレクトリの内容を見る1 • ls(listの略) 略 コマンド ド – カレントディレクトリにあるファイルとディレクトリの 一覧を表示する % ls Desktop Wnn Maildir XPDataCNS XPAppCNS オペレーティングシステム2014 128 ディレクトリの内容を見る2 • ‐a オプション オプシ – .emacsのように先頭がドットで始まるファイルは,ソフトの 設定 使う 設定に使うファイルなので普通は表示されない イ な 普通は表 されな – ls コマンドに –a オプションを付けると表示できる – ls のあとに1つ空白をあけてからオプションを入力する プ – オプションをつけることで,コマンドの機能を拡張できる % ls -a . .. .ICEauthority .cshrc .emacs .emacs.d emacs d .folders .fonts.cache-1 .gnome2 .gnome2_private .gstreamer-0.8 .gtkrc-1.2-gnome2 .metacity .mh_profile mh profile .mozilla .nautilus オペレーティングシステム2014 .w3m .winman .xsession-errors Desktop Maildir Wnn XPAppCNS XPDataCNS 129 ディレクトリの内容を見る3 • ディレクトリのパス名を引数(ひきすう)として指定 デ ク パ 名を 数( きすう)と 指定 – カレントディレクトリ以外のディレクトリを見たいときは,そ のディレクトリのパス名を デ ク パ 名を ls の後につける 後 ける – コマンドの後に1つ空白をあけてから付け加えるものをこ のコマンドの引数(ひきすう)と言う % ls l MMaildir ildi courierimaphieracl courierimapkeywords courierimapsubscribed p courierimapuiddb cur new オペレーティングシステム2014 tmp 130 【演習linux,mac ls】 ls コマンドを極めよう • 自分のホ 自分のホームディレクトリにあるファイルのうち最も新しい ムデ レクトリにある イルのうち最も新しい ファイルを見つけてみよう – ファイルを新しい順に表示するオプションは ‐tt • 実験してみよう – ls の引数に存在しないディレクトリ名を指定してみる – ls ‐l の引数にディレクトリでは無く,ファイルを指定してみる • ls コマンドのその他の機能について調べてみよう – コマンドのマニュアルを表示するには コマンドのマニュアルを表示するには,man コマンドを使う(manの引 man コマンドを使う(manの引 数に調べたいコマンド名を指定する) % man ls l オペレーティングシステム2014 131 【演習windows dirコマンド】 【演習windows dirコマンド】 • di dir /a属性 / 属性 パス • ※パスを省略した場合はカレントディレクトリが 対象となります 今後も同様です 対象となります。今後も同様です。 • 指定できる属性は以下の通り • D ディレクトリ D デ レクトリ R 読み取り専用 R 読み取り専用 H 隠しファイル H 隠しフ イル A A アーカイブ S システム ファイル • 例 • dir /ad <‐ ディレクトリのみ表示 • dir /ar d / <‐ 読み取り専用のファイル及びディ 読み取り専用のフ イル及びデ レクトリのみ表示 OS TDU FI iwai class 132 【演習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 133 カレントディレクトリの移動 • cd(change directoryの略) ( 略) コマンド ド – 移動したいディレクトリのパス名を引数として指定 – 引数のディレクトリのパス名は相対パスでも絶対パスでも よい – 引数を省略すると,カレントディレクトリをホームディレクト リ(特別教室のMacの場合は,「ホームディレクトリ /CNSiMac」)に変更する % cd Maildir % pwd /a/fs0102a/t10472ms/Maildir % cd /home/t10472ms/Maildir / / / % pwd /a/fs0102a/t10472ms/Maildir オペレーティングシステム2014 134 ファイルの内容を見る • less コマンド ド – テキストファイルの中身を見ることができる テキ ァイル 中身を見る きる – 引数に内容を見たいファイル名を指定 – ファイルをスクロールするには,Spaceキーを使う ファイルをスクロ ルするには Spaceキ を使う – 閲覧を終了するにはqキーを押す オペレーティングシステム2014 135 【演習】 宝探しゲームをしてみよう • 宝探しゲームをしてみましょう 宝探しゲ ムをしてみましょう – 出発点は – cd コマンドでサブディレクトリに移動し,ls コマンドでサブディレクトリに移動し ls コマンドで何が あるか調べる – ファイルが置いてある場合,宝かどうかmore コマンドで ファイルの中身を見る(ハズレの場合もあります) – 宝が無いと分かったら,親ディレクトリに移動して別のとこ ろを探す cd .. • 宝を発見したら,宝島の地図(ディレクトリ構造図)を を発見 , 島 図(ディ ク リ構造図)を 書いておきましょう オペレーティングシステム2014 136 新しいディレクトリを作る • mkdir(make directoryの略) 略 コマンド ド – 引数に作りたいディレクトリの名前を指定する 引数 作りた ディ ク リ 名前を指定する – 正常に作成できると,何も表示されないので,ls コマンドで確認するとよい % mkdir memo % ls Desktop Wnn test Maildir XPDataCNS memo XPAppCNS test1 オペレーティングシステム2014 137 ファイルをコピーする • cp(copyの略)コマンド ( 略) ド – コピー元のファイルと新しく作るファイルの名前を空白で 区切って引数で指定する 切 引数 指定する – 新しく作るファイルの代わりにディレクトリ名を指定すると, そのデ レクトリの中に同じ名前で新しいフ イルが作成 そのディレクトリの中に同じ名前で新しいファイルが作成 される % ls fileA testdir % cp fileA fileB % ls testdir fileA fileB % cp fileA testdir % ls testdir fileA オペレーティングシステム2014 138 ファイルの移動・ファイル名の変更 • mv(moveの略) ( 略) コマンド ド – ファイルを移動する場合は,mv の後に移動したいファイ ルの名前,移動先のパス(相対パスか絶対パス)を空白 で区切って指定する – ファイル名を変更する場合は,mv の後に変更したいファ フ イル名を変更する場合は の後に変更したいフ イルの名前,新しいファイル名を空白で区切って指定する % ls fileA testdir % mv fileA testdir % cd testdir % ls fileA % mv fileA fileB % ls fileB ※ファイル名の変更の際, 変更先のファイル名が既 に存在するものであった 存在するも あ た 場合,そのファイルに上 書きされ元の内容は消え てしまうので注意 オペレーティングシステム2014 139 ファイルの削除 • rm(removeの略) 略 コマンド ド – 削除したいファイル名を引数として指定 削除した ァイル名を引数 し 指定 – 空白で区切って複数のファイル名を指定できる % ls fileA fileB % rm fileA % ls fileB オペレーティングシステム2014 140 ディレクトリの削除 • rmdir(remove directoryの略)コマンド ( 略) ド – 削除したいディレクトリ名を引数として指定 – 空白で区切って複数のディレクトリ名を指定できる – ディレクトリの下にファイルがある場合,削除できない – ディレクトリの下にあるファイルを全て削除するか移動す るかした後,ディレクトリを削除する % ls testdir fileA fileB % rmdir testdir % ls fileA fileB オペレーティングシステム2014 141 アクセス権と保護モード オペレーティングシステム2014 142 アクセス権と保護モード • CNSの他のユーザのファイル(メールの内容等)を勝手に閲 他 ザ イ (メ 内容等)を勝手に閲 覧されては困るため,適切なアクセス権を設定する必要があ る • ファイルやディレクトリごとに,他のユーザからのアクセスを 許可したり 禁止したりする保護モードを設定する機能があ 許可したり,禁止したりする保護モ ドを設定する機能があ る • 保護モードは「誰が」と「どうする」という組み合わせ(3×3)に 保護 ドは 誰が」と どうする」と う組み合わせ( ) 対して,許可か禁止かを決めたもの 誰が 1. ファイルの持ち主のユーザ自身(user) 2. グループのメンバ(group) × ※ 学生はす 学生はすべて同じグループに属する て同じグル プに属する 3. その他(other) オペレーティングシステム2014 どうする 1. 読み出し(read) 2. 書き込み(write) 3 実行(execute) 3. 143 保護モードの確認 • ls l ‐lで保護モードの確認ができる lで保護モ ドの確認ができる % ls -l -rw-r--r-- 1 t10472ms student 153 Apr 20 15:30 fileA 種別 ディレクトリならd ファイルなら- d rwx rwx rwx d rwx rwx rwx userに関する設定 groupに関する設定 otherに関する設定 「r(readの略)」,「w(writeの略)」,「x(executeの略)」それぞれの許可 「-」は禁止を示す • 新しく作ったファイルは rw rw‐r‐‐r‐‐になる r r になる • ディレクトリは rwxr‐xr‐x になる • メールを保存するディレクトリ(Mail)はrwx‐‐‐‐‐‐ オペレーティングシステム2014 144 保護モードの変更 • 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 -rw------- 1 t10472ms student 153 Apr 20 15:30 fileA オペレーティングシステム2014 145 保護モードを設定するときの注意点 • 保護 保護モードを設定するときに注意が必要な ドを設定するとき 注意が必要な ディレクトリがある • 以下のディレクトリは保護モードを変更しない 方 安 方が安全 – ホームディレクトリ • userに対してexecute権限が必要 • ログインできなくなる – Maildir(メールのデータ) Maildir(メ ルのデ タ) • userに対してexecute権限が必要 • メールが閲覧できなくなる オペレーティングシステム2014 146 ディレクトリ構造を作ってみよう あなたの ホームディレク トリ public_htm l command index.html main.css contents file.html other.html pipe.htm pipe htm l user html user.html img オペレーティングシステム2014 bullet.pn p g 147 exclamation.png 更にRaidを学習したい人へ • http://www.atmarkit.co.jp/fpc/special/raidglossary/raidglossa // / / / / ry01.html • http://pc.nikkeibp.co.jp/article/NPC/20061225/257746/?rt=n htt // ikk ib j / ti l /NPC/20061225/257746/? t ocnt • http://www.raid‐119.com/raid.html http://www raid 119 com/raid html • http://www.data‐sos.com/raid/raid03.html オペレーティングシステム2014 148 MTTF(故障までの平均時間) • htt http://www8.plala.or.jp/ap2/shinraisei/shinraisei3.htm // 8 l l j / 2/ hi i i/ hi i i3 ht l#mttf • 有名な計算式 – MTTFraid1 = (MTTF x MTTF)/(2 x MTTR) • MTTF:平均故障時間 平均故障時間 • MTTR:平均修理時間 • ディスクの故障は独立事象か? – 同一機種、同一動作 – (偶発+環境+使用)×個体差 • 故障確率は一定ではない オペレーティングシステム2014 確率 • 故障の要因 時間 149