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