...

本当の代替メディアプレーヤー

by user

on
Category: Documents
23

views

Report

Comments

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
Fly UP