Operating System
Operating System
2
2
情報メディア学科 情報メディア学科 岩 将 岩井将行 1 OS TDU FI iwai class前回課題 本日9:20まで
前回課題 本日9:20まで
演習 演習 をオンラインで堤出すること • 演習2,演習3をオンラインで堤出すること • https://goo.gl/l4DekMp g g オンラインで堤出できなかった人は紙を印刷 • オンラインで堤出できなかった人は紙を印刷 して堤出 演習 演習 を ペ ジ以上に印刷して次回 – 演習2,演習3をA4 1ページ以上に印刷して次回 堤出すること 学籍番号 大学メ ド 氏名を記載する – 学籍番号、大学メールアドレス、氏名を記載する こと。【演習2】 PCのスペックを調べてみよう 自分 ある を プ • 自分のあるPCのスペックを調べて、テンプ レートをうめてください – メーカー,名前 HDD/SSD(容量) CPU(種類・周波数) メモリ(容 – HDD/SSD(容量),CPU(種類・周波数),メモリ(容 量),OS 重量 画面(大きさ 解像度) ドライブ(タイプ 規 – 重量,画面(大きさ・解像度),ドライブ(タイプ・規 格),バッテリー接続時間 – 幅×高さ×奥行き 3 OS TDU FI iwai class
【演習3】
出力装置をできるだけ多く記載してみよう。
• できるだけ面白そうな出力デバイスを探して みよう。
資料ダウンロ ド先
資料ダウンロード先
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.jpTA・SA・副手
TA・SA・副手
中 • 野中 • naoki[atmark]cps.im.dendai.ac.jpnaoki[atmark]cps.im.dendai.ac.jp • 実空間コンピューティング研究室 • 東京電機大学大学院 未来科学研究科情報メディア学専攻 未来科学研究科情報 ディア学専攻 • M1 7 OS TDU FI iwai classメッセージ
メッセージ
• 良く遊び
• よく学び
• 社会を知る
社会を知る
• 新しいことに挑戦する。
新しいことに挑戦する。
OS概論
OS概論
オペレ テ ングシステム( • オペレーティングシステム(Operating System、 OS)はCPUやメモリ、周辺機器であるキーボー ド デ プ などを管 ザ ドやディスプレイなどを管理して、ユーザにそ れらデバイスへのインタフェースを提供してい ます ます。 • OSの基礎を理解し、コンピュータやの基礎を理解し、 ン タや SmartPhoneの基本動作原理を理解ことを目 標とします。さらにサーバ管理やVMについて 標とします。さらにサ 管理やVMについて 学びます。 9 OS 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第1回
第1回
ドウ • ハードウエアとOS • CPUとデバイス、割り込み、記憶装置、ハードCPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ ドとプ セ メ リ ド 空間 • スレッドとプロセス、メモリアドレス空間、ファ イルシステム、NIC、ソケット、カーネル 11 OS TDU FI iwai class第2回
第2回
• CUI • タイピング ログイン コマンド操作 マニュアタイピング,ログイン,コマンド操作,マニュア ル, シェル フ イル操作 デ タ • ファイル操作,エディタ第3回
第3回
プ ジ ブ • プロセス,ジョブ • プロセス管理 時分割処理とプロセス切り替プロセス管理、時分割処理とプロセス切り替 え、スケジューリング、プロセス表 13 OS TDU FI iwai class第4回
第4回
憶装 • 記憶装置 • メモリ階層 キャッシュ アドレス空間 物理アメモリ階層、キャッシュ、アドレス空間、物理ア ドレスと論理アドレス、ページング、チェックポ インティン インティン • グ、効率的な自動メモリ管理、GC、フラッシュ メモリ、HDD、SSD第5回
第5回
権 • シェルとアクセス権 • 標準入出力 フィルタコマンド シェルスクリプ標準入出力、フィルタコマンド、シェルスクリプ ト、ファイルのバックアップ、アクセス権、ドライ ブ ディレク ブ、ディレク • トリ、ファイル、open/read/write • ファイルのメモリへのマッピング、アクセス制 御 権限 空き領域管理 御、権限、空き領域管理 15 OS TDU FI iwai class第6回
第6回
ネ • ネットワークとOS • ethernet,ping,socket,tcp/udp,rpc,apach,http,sethernet,ping,socket,tcp/udp,rpc,apach,http,s sh,ftp,remotewindow 最新の 事情 • 最新のOS事情第7回&第8回
第7回&第8回
備 試験 • 予備日&試験 17 OS TDU FI iwai class採点方法
採点方法
学
意欲
• 学習意欲
20点満点
• 隔週のミニテストかレポート平均
25点
• 隔週のミニテストかレポート平均
25点
満点
(無い週もある)
• 中間
25点(+ 5点)
• 中間
25点(+‐5点)
• 最終学力考査
最終学力考査 40点( 5点)
40点(+‐5点)
出席ですが
出席ですが
ド使う ゲ も通す • カード使うこと(2Fのゲートでも通すこと) • 10分前から開始までにタッチ行うこと。10分前から開始までにタッチ行うこと。 • 代替タッチを防ぐために副手が人数カウント します します。 19 OS TDU FI iwai class第1回
第1回
ドウ • ハードウエアとOS • CPUとデバイス、割り込み、記憶装置、ハードCPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ ドとプ セ メ リ ド 空間 • スレッドとプロセス、メモリアドレス空間、ファ イルシステム、NIC、ソケット、カーネル前回の復習
ハードウェアとOSについて
21 オペレーティングシステム2015
ハードウェアの機能と構成
ハードウェアの機能と構成
• コンピュータは,制御・演算・記憶・入力・出力 の機能を持つ • 以下のユニットで構成される 中央処理装置(CPU) 制御装置 制御情報 制御情報 入力装置 演算装置 出力装置 制御情報 主記憶装置 (メモリ) 補助記憶 (メモリ) 補助記憶 装置ハードウェアの概観と機能 CPU2 クロ ク • クロック – CPUの各部分の基本動作のタイミングを合わせるために, 一定の時間間隔で発生している信号 一定の時間間隔で発生している信号 – CPUが行う様々な処理はクロック信号にタイミングを合わ せて行うて行う – クロック信号が発生する間隔が短ければ短いほど,CPU の動作が高速 • クロック周波数(Hz) – クロック信号が1秒間に何回発生するかを示す数値 – 一般にその周波数が高ければCPUの動作速度が速い 23 オペレーティングシステム2015
ハードウェアの概観と機能 主記憶装置 • データの読み込み速度・書き込み速度が(補 助記憶装置と比べて)速い装 • 電源を切ると記憶されていたデータは消えて しまう しまう メモリスロット メモリの本体 メモリスロット メモリの本体
ハードウェアの概観と機能 補助記憶装置1 ドデ ク • ハードディスク – 回転する円盤に磁気を帯びさせる事で,情報を保存 連の情報は同心円状に配置されたトラック(円周)に記録される – 一連の情報は同心円状に配置されたトラック(円周)に記録される – ヘッド(銀色の三角形の形をした突起の先)が円盤の上を移動するこ とで情報を読み書きするトラックを変える ハードディスク ハードディスク 内部 概観 内部 25 オペレーティングシステム2015
ソリッドステートドライブの利点と欠点
ソリッドステートドライブの利点と欠点
• 利点 – シークタイムがないためランダムアクセス性能に優れる – 物理的な稼動箇所がないため省電力、動作音がしないの で静か – 同じ理由でHDDよりはるかに振動・衝撃に強い • 欠点 – 容量単位の価格がHDDより高い(2012年現在、HDDが1GB あたり5~10円に比べSSDは100円前後) – 書き換える度にトンネル酸化膜が確実に劣化するため、24 時間常時書き込みを行うような用途の場合HDDより寿命が 短くなる場合がある 短くなる場合があるハードウェアの概観と機能 補助記憶装置2 他 補助 憶装 • その他の補助記憶装置 – フロッピーディスクッ ディ ク(もうな )(もうない) – USBフラッシュメモリ SDメモリ CD ROM / CD R / CD RW – CD‐ROM / CD‐R / CD‐RW – Blu‐ray Disc/DVD‐R DVDドライブ DVDドライブ 27 オペレーティングシステム2015
ハードウェアの概観と機能 入力装置 人間の意図をコンピ タに伝える • 人間の意図をコンピュータに伝える • データをコンピュータに伝える • キーボード ポインティングデバイス • ポインティングデバイス – マウス – タッチパッドタッチパッド • タブレット • スキャナスキャナ • マイク 等
ハードウェアの概観と機能 出力装置 ピ タ 処 結 を表 する • コンピュータの処理の結果を表示する • ディスプレイ – 液晶 – ブラウン管(CRT) • プリンタ スピ カ 等 • スピーカ 等 29 オペレーティングシステム2015
ソフトウェア
ソフトウェア
ソフトウェア(プログラム)
ソフトウェア(プログラム)
ドウ アだけでは ンピ タは動作しない( ンピ • ハードウェアだけではコンピュータは動作しない(コンピュー タ,ソフトなければただの箱) • コンピュータに実行させたい仕事の手順をコンピュータが理 • コンピュ タに実行させたい仕事の手順をコンピュ タが理 解できる形式で記述したものをプログラムという • プログラムを入れ替えることで様々な情報を様々な方法で処 理ができる 31 OS TDU FI iwai class電卓とコンピュータは何が違うか
電卓とコンピュータは何が違うか
計算をする機械という意味では同じ • 計算をする機械という意味では同じ 電卓 • 電卓 – プログラムとデータは人間の頭の中にある 人間がデ タとプログラム(演算の手順)を入力 – 人間がデータとプログラム(演算の手順)を入力 – 人間の入力速度は低速 • コンピュータ(=電卓コンピュ タ( 電卓+メモリ)+メモリ) – プログラム内蔵方式(ノイマン型コンピュータといわれる) – プログラムとデータを本体内部にある記憶装置に取り込む – 取り込んだプログラムに従って,CPUで演算処理を行う – 高速に演算が行える基本ソフトウェアと応用ソフトウェア
基本ソフトウェアと応用ソフトウェア
応用ソフトウ ア • 応用ソフトウェア – アプリケーションとも呼ばれる 特定の作業や業務を行う為に使用される – 特定の作業や業務を行う為に使用される – ワープロソフト,表計算ソフト(スプレッドシート),メールソ フト等 フト等 • 基本ソフトウェア • 基本ソフトウェア – オペレーティングシステム(OS) • 応用ソフトウェアを円滑に動かすためにコンピュータを管理する応用ソフトウェアを円滑に動かすためにコンピュ タを管理する – 言語プロセッサ(コンパイラ) • プログラムを作る機能を提供する 33 OS 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)
OSの役割
OSの役割
が
ピ
•
OSの役割は,人間がコンピュータを
使いやすくすること
使いやすくすること
• 「アプリケーションソフトとハードウェ
「アプリケ ションソフトとハ ドウェ
アの仲介」
• 「ユーザインタフェースの提供」
「資
管
• 「資源の管理」
という3つの役割がある
• という
3つの役割がある
35 OS TDU FI iwai classアプリケーションとハードウェアの仲介2
アプリケーションとハードウェアの仲介2
ユーザインターフェースの提供
ユーザインターフェースの提供
ザが ンピ タとやり取りを行う部分の • ユーザがコンピュータとやり取りを行う部分の 総称がユーザインタフェース(UI) UIは ザに対する情報の表示形式や • UIは,ユーザに対する情報の表示形式や ユーザのデータ入力方式を規定する 応用ソフトウ アごとに が異な ては 使い • 応用ソフトウェアごとにUIが異なっては,使い 勝手が悪い イ 保存ダイ グは 色 な プリケ – ファイルの保存ダイアログは,色々なアプリケー ションで共通している 現在ではアイコンなどを利用したGUI • 現在ではアイコンなどを利用したGUI (Graphical User Interface)が主流 37 OS TDU FI iwai class資源の管理
資源の管理
• 資源 • 資源 – 1つのコンピュータで利用者(プログラムやユーザ)が使用 するもの • CPU • 二次記憶装置や主記憶装置の記憶領域 • ディスプレイ の管理 • CPUの管理 – 数多くの仕事をこなす場合,OSはそれらを分割して,CPU が処理する内容を割り振る振 – 処理の切り替えは高速に行われている • 主記憶装置(メモリ)や補助記憶装置の管理 ハ ドディスクやメモリのどこにどんなデ タが記録され – ハードディスクやメモリのどこにどんなデータが記録され ているかを管理(クリックするだけで中身が閲覧できる)【演習2‐1】 プロセスを観察してみよう 在実行され るプ グ • OSによって現在実行されているプログラム (アプリケーション)をプロセスという • アクティビティモニター を起動して 観察してみよう を起動して,観察してみよう WindowsはCTL+ALT+DEL 39 OS TDU FI iwai class
ファイルとディレクトリ
ファイルとディレクトリ
ファイル
ファイル
• 様々なソフトウェアと,それらを使って作成・編集した データを扱う単位 – ソフトウェア(プログラム)の本体もファイルとして扱われる Microsoft Wordのプログラムファイル 版 版 – ソフトウェアを使って作成・編集したデータもファイルとして 扱われる Windows版 Mac版 扱われる Microsoft Word形式のデータファイル Windows版 Mac版OS TDU FI iwai class 41ディレクトリ(フォルダ)
ディレクトリ(フォルダ)
• ファイルをグループ化して管理するための入 れ物のこと • 授業では,ディレクトリという名称を使う Wi d やM ではフォルダという名称が使われ – WindowsやMacではフォルダという名称が使われ ている う デ が 般的 – UnixというOSではディレクトリと呼ぶのが一般的 Windowsのフォルダ Macのフォルダファイルとディレクトリのツリー構造 path デ ク 中 デ ク を れる とが きる • ディレクトリの中にディレクトリを入れることができる • 図に描くと,枝分かれした(逆さまの)木のような構 造(ツリー構造)になる ディレクトリAをディレクトリB の親ディレクトリ デ レクトリBをデ レクトリA ディレクトリ ディレクトリBをディレクトリA の子ディレクトリ,サブディレ クトリと呼ぶ ディレクトリ A ファイルC ディレクトリ B ファイルAファイルBOS TDU FI iwai class 43
ディレクトリによるファイル管理
ディレクトリによるファイル管理
• ファイル数が増えても,ファイルをグループ化 して整理すれば,ファイルの管理(検索・コ整 すれ , ァイ 管 (検索 ピー・移動等)が楽になる 整理前 整理後第1回
第1回
ドウ • ハードウエアとOS • CPUとデバイスCPUとデバイス、割り込み、記憶装置、、割り込み、記憶装置、ハードハ ド ディスク装置、RAID、パリティ ドとプ セ メ リ ド 空間 • スレッドとプロセス、メモリアドレス空間、ファ イルシステム、NIC、ソケット、カーネル 45 OS TDU FI iwai classOSの役割
OSの役割
ビ 計算機 抽象 1. コンビニとしてのOS: 計算機の抽象化+サー ビスの提供 – OSがない状態よりも,プログラミングを「易しく」 「機械非依存に」する 「機械非依存に」する 2. 警察としてのOS: 保護, 安全性, 資源管理 – 複数のプログラム,複数のユーザがいる環境で, 計算機の「独占を防ぐ」,ユーザ間での「データの 保護 保護」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
47 OS 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.OSがいるおかげで
出来ていることの例
• 自分のプログラムはひたすら自分の計算だけ をしているのに 複数・大量のプログラムが同時 をしているのに, 複数・大量のプログラムが同時 に起動・実行できる • プログラムが暴走してもCtrl Cで除去できる • プログラムが暴走してもCtrl‐Cで除去できる • 他のプログラムとメモリ内に同居しているのに, メモリのどの部分を使えばいいのか悩まなくて メモリのどの部分を使えばいいのか悩まなくて よい だろうと だろうと だろうと同じよ • HDDだろうとCD‐ROMだろうとUSBだろうと同じよ うにopen/read/writeで読み書きできる 49 OS TDU FI iwai class計算機の抽象化+サービスの提供
• 「生のハードウェア(OSなしの計算機)」で, 「音楽を聞きながらネ トサ が きる 「音楽を聞きながらネットサーフィンができる」 プログラムを書いたら? 1. CPU : 複数のプログラムの同時(交互)実行 2. メモリ : 物理メモリの割り当て 3. I/O : プロセッサ外部(ディスク,ネットワーク)と の通信複数のプログラムの交互実行(1)
複数のプログラムの交互実行(1)
な 交 実行を保証するた プ グ • (OSなしで)交互実行を保証するためにプログ ラムはどのように書かねばならないか? 音楽 ネット 時刻 51 OS 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の回答 : スレッド,プロセスOSの歴史
53 オペレーティングシステム2014
OSの始まり
OSの始まり
• 一番最初のコンピュータ(番最初の ンピ タ(1950年代 )1950年代~) – パンチ(穴)カードを使って磁気テープに読み込む 読み込まれたデータの実行が主な仕事 – 読み込まれたデ タの実行が主な仕事 – プロセス状態の管理 コンピ タの機種ごとに 専用のOS – コンピュータの機種ごとに、専用のOS • 1960年代前半のOS: – 1950年代の機能 + α (いろいろ:略) • 1960年代後半: 大型コンピュータ1960年代後半 大型 ンピ タ – 様々な機種が発売された – それら多くの機種に 1つのOSで対応した↑ IBM System/360 (1964) – それら多くの機種に、1つのOSで対応した文字の世界
文字の世界
• 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.0
少しずつ グラフィカルに
少しずつ、グラフィカルに
昔の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)Windows8/8 1 Modern UI
• http://windows.microsoft.com/ja‐jp/windows‐8/meet
Windows8/8.1 Modern UI
Windows10
Windows10
• ActionCenter
• Cortana
Windows10
Windows10
新ブ ウザ「 • 新ブラウザ「Spartan」 • Cortanaとも統合されるため、ユーザーの個人Cortanaとも統合されるため、ユ ザ の個人 ストレージにあるデータを使って、適切に検索 できる できる • Microsoft Hololens OS TDU FI iwai class 61Surface Hub
Surface Hub
multiplatfrom
multiplatfrom
• windows10 macbook
• Windows10 raspberry pi2Windows10 raspberry pi2
– Microsoft、「Windows 10 for Raspberry Pi 2」を無
償提供へ 償提供へ
Bash+ Windows10
Hololens
https://www.youtube.com/watch?v=qym11JnF QBM
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 lion
Mac OS X mountain lion
MacOS X mavericks
MacOS X mavericks
• http://www.apple.com/jp/osx/whats‐new/p // pp /jp/ / /
67 オペレーティングシステム2014
MacOS X mavericks
MacOS X mavericks
タイマ コアレッシング • タイマーコアレッシング – 低負荷のプロセスをまとめて処理してアイドル時間を増やすこ とにより、CPUの電力消費を抑える。 • App Nap 他のウインドウの背面に隠れているアプリの処理 速度を低下させることにより、電力消費を抑える。 • 圧縮メモリ 非アクティブのアプリのメモリを自動的に圧縮 • 圧縮メモリ 非アクティブのアプリのメモリを自動的に圧縮 するようになる。 • iBooks – る。 マ プ • マップ – iOS 6で追加されたアプリ。MacOS X Yosemite
MacOS X Yosemite
• Instant hotspot • messengersmessengers
iOS連動
iOS連動
l di i • seemless editing • iOS 7ライクなルック&フィールiOS 7ライクなルック&フィ ル • Homekitクラウド連動の時代へ
クラウド連動の時代へ
連動
• iClould連動 & photos
El Caiptan新機能
El Caiptan新機能
OS の進化で出来るようになった事(一部)
OS の進化で出来るようになった事(
部)
• 新しいハードウェアのサポート新しい ドウ アのサポ ト – Windows 95 では、USBは使えない • ファイル名の文字数 • ファイル名の文字数 – Windows 1.0~3.1: 8文字、95~Me: 32文字、 2000 256文字 M OS 9 31文字 t 2000~: 256文字、Mac OS ~9: 31文字、etc… • ユーザインタフェース: – メニュー、見た目、操作性、etc… • 様々な機能の統合様 な機能 統合 – ブラウザの統合、メディアプレーヤー、ムービー メーカー、システムの復元、アップデート機能、カ 、シ テ の復元、アップデ ト機能、 セキュリティ向上機能、デスクトップ検索、etc… 73 オペレーティングシステム2014出来るようになった事 vs 変わらない事
出来るようになった事 vs. 変わらない事
さて OSの進化と共に色々な機能が増加 • さて、OSの進化と共に色々な機能が増加。 • では昔から今までのOSで、共通している事は? の の仕事 – OSの3つの仕事: • ハードウェアの抽象化 • ユーザインタフェースの提供ユ ザインタフェ スの提供 • 資源の管理 – 新しいデバイスが使えるようになったり、インタ フ スとして新しく変更された所は色々ある フェースとして新しく変更された所は色々ある。 – 最近の流行: セキュリティ対策、分かり易いGUI でも OSの仕事は OSが変わっても根本的には – でも、OSの仕事は、OSが変わっても根本的には 同じ。OSの役割
OSの役割
役割 が ピ タを使 す • OSの役割は,人間がコンピュータを使いやす くすること • 「アプリケーションソフトとハードウェアの仲 介」「ユ ザインタフェ スの提供」「資源の管 介」「ユーザインタフェースの提供」「資源の管 理」という3つの役割がある 75 オペレーティングシステム2014ユーザインターフェースの提供
ユーザインターフェースの提供
ザが ンピ タとやり取りを行う部分の • ユーザがコンピュータとやり取りを行う部分の 総称がユーザインタフェース(UI) UIは ザに対する情報の表示形式や • UIは,ユーザに対する情報の表示形式や ユーザのデータ入力方式を規定する 応用ソフトウ アごとに が異な ては 使い • 応用ソフトウェアごとにUIが異なっては,使い 勝手が悪い イ 保存ダイ グは 色 な プリケ – ファイルの保存ダイアログは,色々なアプリケー ションで共通している 現在ではアイコンなどを利用したGUI • 現在ではアイコンなどを利用したGUI (Graphical User Interface)が主流OSの役割
OSの役割
計算機 抽象 ビ 提供 1. 計算機の抽象化+サービスの提供 – OSがない状態よりも,プログラミングを「易しく」な 状態よりも, グラ ングを 易しく」 「機械非依存に」する 2 保護 安全性 資源管理 2. 保護, 安全性, 資源管理 – 複数のプログラム,複数のユーザがいる環境で, 計算機の「独占を防ぐ ザ間での「デ タの 計算機の「独占を防ぐ」,ユーザ間での「データの 保護」 77 オペレーティングシステム2014OSがいるおかげで出来ていることの例
OSがいるおかげで出来ていることの例
• 自分のプログラムはひたすら自分の計算だけ をしているのに 複数・大量のプログラムが同時 をしているのに, 複数・大量のプログラムが同時 に起動・実行できる • プログラムが暴走してもCtrl Cで除去できる • プログラムが暴走してもCtrl‐Cで除去できる • 他のプログラムとメモリ内に同居しているのに, メモリのどの部分を使えばいいのか悩まなくて メモリのどの部分を使えばいいのか悩まなくて よい だろうと だろうと だろうと同じよ • HDDだろうとCD‐ROMだろうとUSBだろうと同じよ うにopen/read/writeで読み書きできる計算機の抽象化+サ ビスの提供
計算機の抽象化+サービスの提供
• 「生のハードウェア(OSなしの計算機)」で, 「音楽を聞きながらネ トサ が きる 「音楽を聞きながらネットサーフィンができる」 プログラムを書いたら? 1. CPU : 複数のプログラムの同時(交互)実行 2. メモリ : 物理メモリの割り当て 3. I/O : プロセッサ外部(ディスク,ネットワーク)と の通信 79 オペレーティングシステム2014複数のプログラムの交互実行(1)
複数のプログラムの交互実行(1)
な 交 実行を保証するた プ グ • (OSなしで)交互実行を保証するためにプログ ラムはどのように書かねばならないか? 音楽 ネット 時刻複数のプログラムの交互実行(2)
複数のプログラムの交互実行(2)
こんなことをいたる所で • こんなことをいたる所で… draw_page() { /* ページを描画 */ for ( ) { for (…) { do_some_drawing(); /* ちょっと描画 */ if (t > 100 ms) { /* MP3Playerのために */ if (t > 100 ms) { / MP3Playerのために / yield_CPU_to_MP3Player(); } } } } } } • 実際には他にワープロ,ゲーム,etc.も走っているか も… • OSの回答 : スレッド,プロセス 81 オペレーティングシステム2014メモリ管理(1)
メモリ管理(1)
有限 た ば プ グ • 有限(たとえば256MB)のメモリに,プログラム (命令列),データを重ならないように配置する ( ) ブラウザの命令列 番地: 0 命令 メールの命令列 ブラウザのデータ ブラウザのデ タ メ ルのデ タ 番地: 256M メールのデータメモリ管理(2)
メモリ管理(2)
• ひとつしかプログラムがなくてもすでに複雑だ が,その上複数プログラムがあると, – どのプログラムがどの部分を使うの? その割り当ては立ち上げるたびに違うの? – その割り当ては立ち上げるたびに違うの? – メモリが足りなくなったらどうするの? – etc. • OSの回答 : 仮想記憶,論理アドレス空間OSの回答 : 仮想記憶,論理アドレス空間 83 オペレーティングシステム2014複雑な入出力(1)
複雑な入出力(1)
例 ネ ジをダウ ド
• 例 : ネットワークからページをダウンロード • download page() {download_page() {
send_request_to_server();
receive from server(); > 100ms receive_from_server(); } d i … > 100ms … send… receive… 時間 時間
複雑な入出力(2)
複雑な入出力(2)
入力待ちの間(より 般には「することがない • 入力待ちの間(より一般には「することがない 間」)は, – 自分はCPUを使わない= 他のプログラムにCPUを 譲る(yield)必要がある • やがて入力が来たら, – CPUはそれに「気づく」必要があるCPUはそれに 気づく」必要がある • ポーリング(定期的な検査) • ハードウェア割り込み(IRQ)( ) 85 オペレーティングシステム2014ハードウェア割り込み
ハードウェア割り込み
外部装置から 送られる信号 • 外部装置からCPUへ送られる信号 – CPUの制御(プログラムカウンタ)を強制的に,指 定された番地 割 ド 移行 定された番地(割り込みハンドラ)に移行 • 外部装置がイベントの通知に用いる装 – 入力データready – 出力可出力可 IRQ Line – 時間経過 – …割り込みを用いた入力処理
割り込みを用いた入力処理
うな割 ド 定 • 以下のような割り込みハンドラ設定
– receive from network () {_ _ () {
write_data_to_browser_memory(); yield to browser(); y _ _ (); } 87 オペレーティングシステム2014
ディスク入出力
ディスク入出力
• ディスクの構造や容量に基づいたアドレスディスクの構造や容量に基 いたアドレス (e.g., (シリンダ番号,トラック番号,セクタ番 号))を用いてアクセス 号))を用いてアクセス • メモリと類似の,空き領域管理 • 必要な情報の格納位置を得るための情報 • ネットワーク同様の割り込み処理 • ネットワーク同様の割り込み処理「計算機の抽象化+サービスの提供」
まとめ
次 憶 が 生 • CPU, メモリ,入出力IF,2次記憶 etc. が,生の ハードウェアそのままでは使いづらい – 複数のプログラムが同時進行しているときに顕著 • OSが「よりシンプルな」プログラミングインタ • OSが「よりシンプルな」プログラミングインタ フェース(API)を提供(“抽象化”) • 「お役立ち道具集」としてのOS 89 オペレーティングシステム2014保護 安全性 資源管理
保護, 安全性, 資源管理
OSの「真の」存在理由 資源を管理し 実行中のプ • OSの「真の」存在理由: 資源を管理し, 実行中のプ ログラムを保護 – 1つのプログラムがCPUを独占利用1つのプログラムがCPUを独占利用できないできない – 1つのプログラムが他の走行中のプログラムのメモリを破 壊することはできない あるプ グ が受 る き ジを他 プ グ – あるプログラムが受け取るべきメッセージを他のプログラ ムが横取りすることはできない – 本来権利のない人が計算機をつかうことは本来権利のない人が計算機をつかうことはできないできない – 本来権利のない人が他人のファイルを読み書きすること はできない 間違え も または悪意があ も きな ように • 間違えても,または悪意があっても,できないように する第2回の講義内容
第2回の講義内容
ドウ • ハードウエアとOS • CPUとデバイス、割り込み、記憶装置、ハードCPUとデバイス、割り込み、記憶装置、ハ ド ディスク装置、RAID、パリティ ドとプ セ メ リ ド 空間 • スレッドとプロセス、メモリアドレス空間、ファ イルシステム、NIC、ソケット、カーネル 91 オペレーティングシステム2014d
Raid
目的
目的
ドデ 信頼性が • ハードディスクの信頼性が問題 – →1個が壊れてもデータは安全にしたい。→ 個 壊れ もデ タは安 した 。 連続運転の為にはホ ト プが必要 • 連続運転の為にはホットスワップが必要 93 オペレーティングシステム2014Raid技術の誕生
Raid技術の誕生
• “A Case for Redundant Arrays of Inexpensive Disks(RAID)” David A Patterson et al., 1988( ) ,
– カリフォルニア大学バークレー校のDavid
A Patterson氏、Garth Gibson氏、Randy Katz氏の A.Patterson氏、Garth Gibson氏、Randy Katz氏の 共同論文「安価なドライブを組み合わせることで 冗長性を持たせる仕組み」による 冗長性を持たせる仕組み」による – 安価なディスクをたくさん使う いかRAIDと略される – いかRAIDと略される
ソフトウ ア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重分散パリティ
磁気ディスクの構造
磁気ディスクの構造
く読 書き 時 が る • とにかく読み書きに時間がかかる。 • 全部のディスクが同時に回る。全部のディスクが同時に回る。 • メモリの探索速度はディスクの10万倍~100万倍高速。 • メモリの転送速度もディスクのざっと100倍高速 • メモリの転送速度もディスクのざっと100倍高速。 97 オペレーティングシステム2014Raid0
Raid0
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 オペレーティングシステム2014Raid1 ミラーリング
Raid1 ミラーリング
ベ 中 も単純な • RAID 1は、RAIDレベルの中で、最も単純な手 法でディスクの耐障害性を高めている。その 法 ディ ク 耐障害性を高 る。そ 手法とは、同一のデータを複数のディスクに 書き込み 一方のディスクが故障しても 他 書き込み、 方のディスクが故障しても、他 方で処理を続行できるようにする。Raid1ミラーリング
Raid1ミラーリング
101 オペレーティングシステム2014
Raid1 稼働率
Raid1 稼働率
では 同 のデ タを 台以上のデ スク • RAID 1では、同一のデータを2台以上のディスク に書き込むため、ディスク容量の利用効率は 50%以下にな てしまうというデメリ トがある(2 50%以下になってしまうというデメリットがある(2 台のディスクの 容量が異なると、利用効率は 50%よりさらに下がる) 50%よりさらに下がる)。 • 利用効率=保存可能データ量/利用ディスク 100% /2 50% =100%n/2n=50% • 例えば1Tbytesのデータを記録するには、 分 容量 デ クが必 1Tbytes×2=2Tbytes分の容量のディ スクが必 要になる。Raid5
Raid5
耐障害性 向 高速 大容量 • RAID 5は、耐障害性の向上と高速化、大容量 化のすべてを実現できるRAID技術。 • 分散データ・ガーディングとも呼ばれる。 では デ スクの故障時に記録デ タ • RAID 5では、ディスクの故障時に記録データ を修復するために「パリティ」と呼ばれる冗長 コードを、全ディスクに分散して保存するの 103 オペレーティングシステム2014Raid5
Raid5
RAID 5の動作原理
RAID 5の動作原理
• データを分割して各ディスクに格納するという 原理はRAID 0(ストライピング)と同じだ。異な るのは、データ・ブロックの組(上図でいえば1 /2や3/4 5/6)ごとにパリティが生成され /2や3/4、5/6)ごとにパリティが生成され る点である。たとえ1 台のディスクが壊れても、 残りのディスクに格納されたデ タとパリティ 残りのディスクに格納されたデータとパリティ から、失われたデータを復活させることができ る る。 105 オペレーティングシステム2014Raid5の利用効率
Raid5の利用効率
パ 保存 必要な は 全デ ク台 • パリティの保存に必要なのは、全ディスク台 数に関係なくディスク1台分の容量である。 従 デ 台数が多 ど容 効 従ってディスク台数が多いほど容量の利用効 率も向上する。RAID 1(ミラーリング)と比較し た場合 利 効率 高さが た場合、この利用効率の高さがRAID 5のメ リットの1つとされる。 • ディスク容量の利用効率 • ディスク容量の利用効率 – 100 *(n‐1)/n %Raid10 Raid1+0
Raid10 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台以上にしなければならない。台以 しなければならな 。その他(覚えなくて良い)
その他(覚えなくて良い)
• RAID 3 デ タ ドを加 複数 デ ク 録 – 元のデータに冗長コードを加えて複数のディスクに記録。 – 冗長コードには、RAID 5と同じパリティを採用する。 – RAID 5と大きく異なるのは 各ディスクにデータを配分する際の単位 – RAID 5と大きく異なるのは、各ディスクにデ タを配分する際の単位 サイズが、ブロック(セクタ)単位ではなくbitまたはbyte単位 – パリティが特定のディスクに保存される(全ディスクには分散されな ) い) – 高速化のためには、複数のディスクをまったく同時に読み書きするた めの同期機能が必要 めの同期機能が必要 • RAID 4 – RAID 4は、RAID 5と同様に、元のデータからパリティを生成して、ブ ロック単位で複数のディスクに記録する、という点でよく似ている。異 なるのは、パリティを全ディスクに 分散するのではなく、 なるのは、 リティを全ディスクに 分散するのではなく、 – 特定のディスクだけに格納する点だ。 • 元のデータとパリティそれぞれを格納するディスクが別々に分かれているオペレーティングシステム2014 109その他(覚えなくてよい)
その他(覚えなくてよい)
RAID 6 • RAID 6 – RAID 6は、RAID 5の改良版といえる技術 1つのデ タ ブロックにつき2つのパリティを生成 – 1つのデータ・ブロックにつき2つのパリティを生成 – 同時に2台のハードディスクが故障しても、元のデー タを修復可能 タを修復可能 – パリティが増えた分、その計算や書き込みのオーパリティが増えた分、その計算や書き込みのオ バーヘッドも増加する – 特に書き込みの性能は高くない。 パ 台分 デ ク容量を必 とするため – パリティ用に2台分のディスク容量を必要とするため、 ディスクの利用効率はRAID 5より下がる。パス名(絶対・相対パス)
パス名(絶対・相対パス)
111 オペレーティングシステム2014
パス名(絶対パスと相対パス)
パス名(絶対パスと相対パス)
フ イルやデ レクトリにアクセスするために フ イ • ファイルやディレクトリにアクセスするために,ファイ ルやディレクトリの位置(パス名)を示す必要がある • パス名の指定方法は以下の2種類 • パス名の指定方法は以下の2種類 • 絶対パス • 絶対パス – ルートディレクトリを基点として絶対的な位置を指定する – 例:住所は絶対パス「東京都足立区千住旭町例 住所 絶対 東京都足 千住 町 」5」 • 相対パス – あるディレクトリを基点にした相対的な位置を指定する – 場合によっては,絶対パスより短いパス名で指定できる – 例:田中君の家は「私の家の右隣」絶対パス
絶対パス
絶対パ • fileAの絶対パス ▪ 日本語だと“ルートディレクトリの中の,“ルートディレクトリの中の,homehomeディレクトリディレクトリ 中 中 デデ クク 中中 の中の の中のt10472mst10472msディレクトリの中のディレクトリの中のfileAfileA”” ▪ 区切りを「/(スラッシュ)」で繋げて, “/h/h /t10472/t10472 //fil Afil A””“/home/t10472ms//home/t10472ms/fileAfileA””
h / home t10472ms s10021sa fileA fileB 113 オペレーティングシステム2014
相対パス1
相対パス1
を基点 た時 相対パ • t10472msを基点にした時のfileBの相対パス ▪▪ ““fileBfileB”” • homeを基点にした時のfileBの相対パス ▪▪ ““t10472ms/t10472ms/fileB//fileB”” / home t10472ms s10021sa t10472ms s10021sa fileA fileB相対パス2(
重要
)
相対パス2(
重要
)
基点から見た親デ ク を指定する は “ (ピ • 基点から見た親ディレクトリを指定するには,“..(ピ リオド2つ)”の記号を使う • t10472msを基点にした時のhomeの相対パス ▪▪ ““....””(親ディレクトリは1つだけなので,1つに定まる) • s10021saを基点にした時のfileBの相対パス ▪▪ ““../t10472ms/../t10472ms/fileBfileB”” / ../t10472ms/ ../t10472ms/fileBfileB home t10472ms s10021sa fileA fileB 115 オペレーティングシステム2014相対パス3
相対パス3
基点 デ ク を す は “ (ピ オド )” • 基点のディレクトリを示すには,“.(ピリオド1つ)”の 記号を使う • t10472msを基点にした時のfileAの相対パス ▪▪ ““././fileAfileA” ” (基点ディレクトリを明示した場合) ▪▪ ““fileAfileA””(基点ディレクトリを省略した場合) • 基点ディレクトリを明示すると, / 基点ディレクトリを明示すると, 相対パスによる指定であることが分かる • パス名が読みやすくなる場合がある home • パス名が読みやすくなる場合がある t10472ms s10021saファイルとディレクトリ
の操作
117 オペレーティングシステム2014
ファイルの操作方法1
ファイルマネージャーを使う
WindowsのExplorer
118 オペレーティングシステム2014
ファイルの操作方法2
コマンド操作でファイルを管理する
Macのターミナル Windowsのコマンドプロンプト
119 オペレーティングシステム2014
GUIとCUI
GUIとCUI
• Graphical User Interface(GUI) • Graphical User Interface(GUI) – 画面表示にアイコンやメニューを用い,操作の大半をマウ スなどのポインティングデバイスによって行なう ( )や ( )は を備えた イ – Finder(Mac)やExplorer(Windows)はGUIを備えたファイ ルマネージャ(ファイル管理機能をもつソフトウェア) – 直感的に操作ができる • Character User Interface(CUI) すべての操作をキ ボ ドから ンドと呼ばれる命令を – すべての操作をキーボードからコマンドと呼ばれる命令を 用いて行なう – ターミナル(Mac)やコマンドプロンプト(Windows)を使うと CUIを使 てコンピ タを操作できる CUIを使ってコンピュータを操作できる – 効率よく命令を記述でき,慣れれば素早く操作を行える
ターミナル
ド操作を行うためには タ ミナ と うプターミナル
• コマンド操作を行うためには,ターミナルというプロ グラムを使う • 起動方法 – 初期設定ではDockに登録されている – Dockにない場合 Fi d を起動する • Finderを起動する • サイドバーのアプリケーションを選択する • ユーティリティフォルダ中の,ターミナルをクリック 121 オペレーティングシステム2014コマンド
コマンド
ピ タに与える命令 と • コンピュータに与える命令のこと • CUIのターミナルでは(マウスによるボタン操作ではなく),文 字で命令を伝える 字で命令を伝える 例 フ イルの移動 • 例:ファイルの移動 Finder(GUI)だとマウスで命令 ターミナル(CUI)だと文字で命令 % mv 第2回情報基礎課題.doc /Users/ ユーザ名/Documents/プロンプト
プロンプト
• ターミナルを起動すると,タ ミナルを起動すると,%マークが現れるクが現れる • これをプロンプトと呼び,コンピュータがコマン ドによる指示を待っている印(しるし) ドによる指示を待っている印(しるし) • コマンドを入力したら,エンターキーを押すと 命令が実行される % コマンド このスライドではエンターキーを押すタイミングを で表現しています 123 オペレーティングシステム2014コマンドプロンプト
cmd.exe
なぜコマンド操作を学習するか
なぜコマンド操作を学習するか
サ バはコマンドで操作することが多い • サーバはコマンドで操作することが多い ▪ プロバイダから提供されているWebサーバを設定する ▪ 所属する研究室・会社のサーバの管理をする所属する研究室 会社のサ の管理をする • 効率よくコンピュータに仕事を指示することができる ▪ シェルスクリプト ▪ ワイルドカード ▪ マウスばっかりを使うひとってなんか素人っぽ い。。。と思われてしまうかもしれない。 い。。。と思われてしまうかもしれない。 ▪ タタタタターッン!キーボード乱れ打ちドヤ顔が カコイイ カ イイ 125 オペレーティングシステム2014日付とカレンダーの表示
日付とカレンダーの表示
表 ド • 日付の表示:dateコマンド % d t % date 2010年04月02日 (金) 10時49分52秒 JST • カレンダーの表示:calコマンド % l % cal 2010年 4月 日 月 火 水 木 金 土 1 2 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 18 19 20 21 22 23 24 25 26 27 28 29 30ファイル・ディレクトリの操作の コマンド一覧 d → カレントデ レクトリの絶対パスを表示 • pwd → カレントディレクトリの絶対パスを表示 • ls → ディレクトリの内容を見る • cd → カレントディレクトリの移動 • less → ファイルの内容を見る • mkdir → 新しいディレクトリを作る • cpcp → ファイルのコピーを作る→ ファイルの ピ を作る • mv → ファイルの移動・ファイル名の変更 • rm → ファイルの削除 • rm → ファイルの削除 • rmdir → ディレクトリの削除 127 オペレーティングシステム2014
カレントディレクトリ
カレントディレクトリ
ド よ イ やデ クト を操作 • コマンドによってファイルやディレクトリを操作 する場合,相対パスでファイルやディレクトリ を指定する方が便利 を指定する方が便利 • 現在の作業ディレクトリのことをカレントディレ現在の作業ディレクトリの とをカレントディレ クトリ(ワーキングディレクトリ)という • カレントディレクトリからの相対パスでファイル • カレントディレクトリからの相対パスでファイル を指定することができる タ ミナルを起動した直後のカレントディレク • ターミナルを起動した直後のカレントディレク トリは「ホームディレクトリ/CNSiMac」になるカレントディレクトリの表示
カレントディレクトリの表示
略 ド • pwd(print working directoryの略) コマンド – カレントディレクトリの絶対パスを表示するカ ン ディ ク リ 絶対 を表示する % pwd /a/fs0102a/t10472ms ファイルサーバは何台かのコンピュータで分担してホームディレクトリを保管してい ファイルサ バは何台かのコンピュ タで分担してホ ムディレクトリを保管してい るので,本当のホームディレクトリの絶対パス名は /a/fs0102a/t10472msのように ファイルサーバの番号とログイン名を組み合わせたものになっています 誰のホームディレクトリがどのファイルサーバにあるかを覚えるのは大変なので 誰のホ ムディレクトリがどのファイルサ バにあるかを覚えるのは大変なので, /a/fs0102a/の部分をまとめて,'/home' と表わします 129 オペレーティングシステム2014ディレクトリの内容を見る1
ディレクトリの内容を見る1
略 ド • ls(listの略) コマンド – カレントディレクトリにあるファイルとディレクトリのカレントディレクトリにあるファイルとディレクトリの 一覧を表示する % lsDesktop Maildir XPAppCNS Wnn XPDataCNS
ディレクトリの内容を見る2
ディレクトリの内容を見る2
オプシ • ‐a オプション – .emacsのように先頭がドットで始まるファイルは,ソフトの 設定 使う イ な 普通は表 されな 設定に使うファイルなので普通は表示されない – ls コマンドに –a オプションを付けると表示できる プ – ls のあとに1つ空白をあけてからオプションを入力する – オプションをつけることで,コマンドの機能を拡張できる % ls -a . .gnome2 .w3m .. .gnome2_private .winman.ICEauthority .gstreamer-0.8 .xsession-errors .cshrc .gtkrc-1.2-gnome2 Desktop
.emacs .metacity Maildir emacs d mh profile Wnn .emacs.d .mh_profile Wnn
.folders .mozilla XPAppCNS
ディレクトリの内容を見る3
ディレクトリの内容を見る3
デ ク パ 名を 数( きすう)と 指定 • ディレクトリのパス名を引数(ひきすう)として指定 – カレントディレクトリ以外のディレクトリを見たいときは,そ デ ク パ 名を 後 ける のディレクトリのパス名を ls の後につける – コマンドの後に1つ空白をあけてから付け加えるものをこ のコマンドの引数(ひきすう)と言う のコマンドの引数(ひきすう)と言う % l M ildi % ls Maildir courierimaphieracl courierimapuiddb tmp courierimapkeywords cur courierimapsubscribed newp【演習linux,mac ls】 ls コマンドを極めよう 自分のホ ムデ レクトリにある イルのうち最も新しい • 自分のホームディレクトリにあるファイルのうち最も新しい ファイルを見つけてみよう – ファイルを新しい順に表示するオプションはファイルを新しい順に表示するオプションは t ‐t • 実験してみよう – ls の引数に存在しないディレクトリ名を指定してみる – ls ‐l の引数にディレクトリでは無く,ファイルを指定してみる • ls コマンドのその他の機能について調べてみよう
– コマンドのマニュアルを表示するにはコマンドのマニュアルを表示するには,man コマンドを使う(manの引man コマンドを使う(manの引 数に調べたいコマンド名を指定する)
% l % man ls
133 オペレーティングシステム2014