計算機理論入門 7
      2012 年度後期
        垂水共之
tarumi@ems.okayama-u.ac.jp
         OS とは
計算機の利用形態
• Single User   Single Task
   – 一台の計算機を一人で使い、一つの仕事だけを行う

• Single User   Multi Task
   – 一台の計算機を一人で使い、複数の仕事を平行して行う

• Multi User   Multi Task
   – 一台の計算機を複数人で使う。(当然、複数の仕事を平行して
     )


• Multi CPU / Parallel computing
   – 複数の計算機を平行に処理させる


• Grid Computing
   – ネットワークを通じて複数の計算機を結び付けた仮想的なコン
     ピュータシステム
処理形態
• バッチ処理
  – ひとまとまりの仕事 (job) をまとめて処理する
• 時分割処理( TSS : Time Sharing System)
  – 一台の計算機に複数の仕事 (task) に同時に割り振り、細かい時
    間間隔で各 task の処理を切り替えて実行することにより、各利
    用者はあたかもその計算機を占有した感覚で使える処理形式
• 実時間処理 (Real Time System)
  – 銀行の ATM や JR 等の予約システムのように、 task の処理・応
    答時間に厳しい制限を付けて、一定時間内に応答するようにし
    たもの
• 並列処理 (Parallel Computing)
  – 一つの仕事を複数の計算機 (CPU) で処理を同時・並行的に行う
     • Multi-processor, multi-core
• 分散処理
  – 一つの仕事を複数の計算機に分割し、処理する形式
     • Clustering / Grid
OS (オー・エス)とは
• OS   Operating System
   – Job 管理
       • Task 管理
   – Data 管理
       • File 管理
       • Memory 管理
   – User 管理
OS の例
• Microsoft Windows      • Linux

• Mac OS                 • Unix

• iOS                    • Multics

• Android                • 個別計算用の独自 OS

• Tron

• MS-DOS
• CP/M
OS 以前 (1)
• 一台の計算機を一人の利用者が占有して、一つの仕事し
  かさせない時代
 – その計算機に繋がっているすべての機器(デバイス、ペリフェ
   ラル)もそのユーザーの管理のもとにあり、そのユーザーの責
   任のもとに利用する

 – 逆に、すべてのソフトを作る(書く)必要もあった。


• 多くのソフトは
 – 何らかのデータを入力し、
 – 何らかの処理(計算、テキスト処理)をして、
 – 結果を出力する
• ことから成り立っている。
OS 以前 (2)
• どのソフトでも共通に使えるものがある
 – データの入力       入出力機器デバイスの
 – 結果の出力        ハードウェア制御  utility


• 入出力は計算等に比べると、非常に時間がかかる
• その間、計算機は何もせずに待っている!

• この遊んでいる時間を有効活用して、別の仕事をさせよ
  う!
 – マルチタスクへ
       このプリンタを使っているのは
      誰? どのタスク?


            管理が必要!
Job 管理
• Job : 利用者から見たあるまとまった仕事
  – 例:  C 言語で書いたプログラムのコンパイル・実行
     • Compile
     • Link
     • Execute
• Task, Job step : 計算機から見た一つの仕事

• Job スケジューリング
  – Job の処理優先度
  – 資源(周辺機器、メモリ)の割り当て
  – 入出力 :  スプールファイル (spool file)
      • HDD へデータ・結果を格納
割り込み
• 外部割込み           • 内部割込み
 –   ハードウェア異常      –   オーバーフロー
 –   電源・電圧・温度異常    –   ゼロ割
 –   経過時間          –   記憶保護違反
 –   入出力           –   入出力要求
 –   外部信号          –   タスク切り替え
 –   オペレータ         –   ページフォールト
ハードディスクドライブ (HDD)
• Disk 管理 , Volume 管理(物理的な領域管理)
   – FAT(File Available Table) 、 FAT32 、 NTFS : 
             使用・未使用領域の管理テーブル
   – VTOC(Volume Table of Contents)

   – Disk
      • Cylinder              シーク時間
          – Track
                                            http://ja.wikipedia.org/wiki/

          – Sector        回転待ち時間            %E3%83%95%E3%82%A1%E3%82%A4
                                            %E3%83%AB:Cylinder_2_%28PSF
                                            %29.png




   – アクセス時間=シーク時間+回転待ち時間+転送時間


• HDD(Hard Disk Drive) から
  SSD(Solid State Drive) へ

                                                                       http://ja.wikipedia.org/wiki/
                                                                       %E3%83%95%E3%82%A1%E3%82
                                                                       %A4%E3%83%AB:Disk-
Data 管理/ File 管理
• File 管理
   – 同じファイルに複数のタスクから同時に書き込むと?


• File System
   – Disk 管理

   – フォルダー folder /ディレクトリー directory 構造
      • 階層的ファイルシステム hierarchical file system
      • 絶対パス
      • 相対パス
   – ファイル編成
      • 順編成      sequential access method
      • 直接編成     direct access method
      • 索引順編成 indexed sequential access method (ISAM)
      • 区分編成     partitioned access method
ファイル file
• ファイルのタイプ
 – テキスト・ファイル
 – バイナリ・ファイル
• 拡張子
 – MS-Windows でのファイル名の一部
   piriodo の後ろ prog1.c report.doc
 – ファイルの内容(種類)を簡潔に
• アクセス権
 – ファルイル
    • 読み込み、書き込み、実行、
      変更(削除)
 – フォルダ
    • 読み込み、書き込み、実行、変更
 – 誰に
    • 自分( owner )、仲間( group )、その他一般( public )
    • 特定のユーザーへ
Memory 管理
• ソフトは主記憶(実メモリ)上に置かれ、順に実行され
  る。
  必要なデータも主記憶に展開され、利用される。
• マルチタスク処理では実メモリに複数のプログラムが置
  かれている。
 – 自分のタスクの領域以外をアクセスしないように
                 
                       
                                   task A1
                          task A
    task A   task A
                       
                       
                                   task B1
                       
                       
             task B                task A2
                          task B
    未使用
                       
                                   未使用
             未使用          未使用
                                   task B2




 – プログラムは近傍で動くことが多い。
    • 必要となったとき、メモリに持ってくる
 –
仮想記憶
• 実メモリと仮想メモリ (virtual memory)
  – 実メモリサイズを超えたプログラムの処理
                            実メモリ      Program C

  – 必要になった時に、メモリへ
  – 不要になったものと交換  swapping   task C1      C1

    補助記憶( HDD )へ追い出す
                            task C3      C2




                            task C2      C3



                                         C4
User 管理
• 利用者管理
 – 利用が許可された者か?
    • ID user ID, login ID
    • パスワード
        – 大文字、小文字、数字、特殊文字
        – ×  電話番号、誕生日、英単語(辞書総当たり)
        – パスワードの強度チェック
            » https://www.microsoft.com/ja-jp/security/pc-security/password-check
    • パスワードを記録するな!



    • 記録してもよいから、定期的に変更を!
    • 記録してもよいから、サイトごとに別のパスワードを!

計算機理論入門07

  • 1.
    計算機理論入門 7 2012 年度後期 垂水共之 tarumi@ems.okayama-u.ac.jp OS とは
  • 2.
    計算機の利用形態 • Single User  Single Task – 一台の計算機を一人で使い、一つの仕事だけを行う • Single User   Multi Task – 一台の計算機を一人で使い、複数の仕事を平行して行う • Multi User   Multi Task – 一台の計算機を複数人で使う。(当然、複数の仕事を平行して ) • Multi CPU / Parallel computing – 複数の計算機を平行に処理させる • Grid Computing – ネットワークを通じて複数の計算機を結び付けた仮想的なコン ピュータシステム
  • 3.
    処理形態 • バッチ処理 – ひとまとまりの仕事 (job) をまとめて処理する • 時分割処理( TSS : Time Sharing System) – 一台の計算機に複数の仕事 (task) に同時に割り振り、細かい時 間間隔で各 task の処理を切り替えて実行することにより、各利 用者はあたかもその計算機を占有した感覚で使える処理形式 • 実時間処理 (Real Time System) – 銀行の ATM や JR 等の予約システムのように、 task の処理・応 答時間に厳しい制限を付けて、一定時間内に応答するようにし たもの • 並列処理 (Parallel Computing) – 一つの仕事を複数の計算機 (CPU) で処理を同時・並行的に行う • Multi-processor, multi-core • 分散処理 – 一つの仕事を複数の計算機に分割し、処理する形式 • Clustering / Grid
  • 4.
    OS (オー・エス)とは • OS  Operating System – Job 管理 • Task 管理 – Data 管理 • File 管理 • Memory 管理 – User 管理
  • 5.
    OS の例 • MicrosoftWindows • Linux • Mac OS • Unix • iOS • Multics • Android • 個別計算用の独自 OS • Tron • MS-DOS • CP/M
  • 6.
    OS 以前 (1) •一台の計算機を一人の利用者が占有して、一つの仕事し かさせない時代 – その計算機に繋がっているすべての機器(デバイス、ペリフェ ラル)もそのユーザーの管理のもとにあり、そのユーザーの責 任のもとに利用する – 逆に、すべてのソフトを作る(書く)必要もあった。 • 多くのソフトは – 何らかのデータを入力し、 – 何らかの処理(計算、テキスト処理)をして、 – 結果を出力する • ことから成り立っている。
  • 7.
    OS 以前 (2) •どのソフトでも共通に使えるものがある – データの入力 入出力機器デバイスの – 結果の出力 ハードウェア制御  utility • 入出力は計算等に比べると、非常に時間がかかる • その間、計算機は何もせずに待っている! • この遊んでいる時間を有効活用して、別の仕事をさせよ う! – マルチタスクへ このプリンタを使っているのは 誰? どのタスク? 管理が必要!
  • 8.
    Job 管理 • Job: 利用者から見たあるまとまった仕事 – 例:  C 言語で書いたプログラムのコンパイル・実行 • Compile • Link • Execute • Task, Job step : 計算機から見た一つの仕事 • Job スケジューリング – Job の処理優先度 – 資源(周辺機器、メモリ)の割り当て – 入出力 :  スプールファイル (spool file) • HDD へデータ・結果を格納
  • 9.
    割り込み • 外部割込み • 内部割込み – ハードウェア異常 – オーバーフロー – 電源・電圧・温度異常 – ゼロ割 – 経過時間 – 記憶保護違反 – 入出力 – 入出力要求 – 外部信号 – タスク切り替え – オペレータ – ページフォールト
  • 10.
    ハードディスクドライブ (HDD) • Disk管理 , Volume 管理(物理的な領域管理) – FAT(File Available Table) 、 FAT32 、 NTFS :  使用・未使用領域の管理テーブル – VTOC(Volume Table of Contents) – Disk • Cylinder   シーク時間 – Track http://ja.wikipedia.org/wiki/ – Sector 回転待ち時間 %E3%83%95%E3%82%A1%E3%82%A4 %E3%83%AB:Cylinder_2_%28PSF %29.png – アクセス時間=シーク時間+回転待ち時間+転送時間 • HDD(Hard Disk Drive) から SSD(Solid State Drive) へ http://ja.wikipedia.org/wiki/ %E3%83%95%E3%82%A1%E3%82 %A4%E3%83%AB:Disk-
  • 11.
    Data 管理/ File管理 • File 管理 – 同じファイルに複数のタスクから同時に書き込むと? • File System – Disk 管理 – フォルダー folder /ディレクトリー directory 構造 • 階層的ファイルシステム hierarchical file system • 絶対パス • 相対パス – ファイル編成 • 順編成 sequential access method • 直接編成 direct access method • 索引順編成 indexed sequential access method (ISAM) • 区分編成 partitioned access method
  • 12.
    ファイル file • ファイルのタイプ – テキスト・ファイル – バイナリ・ファイル • 拡張子 – MS-Windows でのファイル名の一部 piriodo の後ろ prog1.c report.doc – ファイルの内容(種類)を簡潔に • アクセス権 – ファルイル • 読み込み、書き込み、実行、 変更(削除) – フォルダ • 読み込み、書き込み、実行、変更 – 誰に • 自分( owner )、仲間( group )、その他一般( public ) • 特定のユーザーへ
  • 13.
    Memory 管理 • ソフトは主記憶(実メモリ)上に置かれ、順に実行され る。 必要なデータも主記憶に展開され、利用される。 • マルチタスク処理では実メモリに複数のプログラムが置 かれている。 – 自分のタスクの領域以外をアクセスしないように     task A1 task A task A task A       task B1     task B task A2 task B 未使用   未使用 未使用 未使用 task B2 – プログラムは近傍で動くことが多い。 • 必要となったとき、メモリに持ってくる –
  • 14.
    仮想記憶 • 実メモリと仮想メモリ (virtualmemory) – 実メモリサイズを超えたプログラムの処理 実メモリ Program C – 必要になった時に、メモリへ – 不要になったものと交換  swapping task C1 C1 補助記憶( HDD )へ追い出す task C3 C2 task C2 C3 C4
  • 15.
    User 管理 • 利用者管理 – 利用が許可された者か? • ID user ID, login ID • パスワード – 大文字、小文字、数字、特殊文字 – ×  電話番号、誕生日、英単語(辞書総当たり) – パスワードの強度チェック » https://www.microsoft.com/ja-jp/security/pc-security/password-check • パスワードを記録するな! • 記録してもよいから、定期的に変更を! • 記録してもよいから、サイトごとに別のパスワードを!