アプリとプロセス
49
アプリとその実行
• アプリケーションは普段はファイルとして格納され ている.
• そのアプリを実行して処理が行なわれている.
• 動作しているアプリはプロセス(タスク)と呼ばれて いる.
• アプリとプロセスの違いを理解しよう.
50
例 電卓
51
52
プロセス ( タスク )
• 処理中のアプリケーション.
• アプリのインスタンス.
• タスクとも呼ばれる.
• 次頁の「メモリに読み込まれたプログラムとデー タ」に対応する概念.
• 1つのアプリをもとに複数のプロセスが発生するた め,アプリとは概念的に区別される.
• 以下の対比でイメージを得て!
書き物 実行
ソフトウェア アプリケーション プロセス
音楽 譜面 演奏
ゲーム ルール(ブック) 実際のプレイ
53
アプリの処理の流れ
• アプリがメモリに読み込ま れる.
• 計算に必要なメモリも確保 される.(変数等のため)
• CPUがアプリを順に読んで,
計算をする.
• 必要ならば,デバイス(ファ
イル等)にアクセスする. メモリ
ファイル等 CPU
プログラム変数等
オマケの難解な話題
54
ディスク等とファイルシステム
• 実際のHDやUSBキーは,物理的には単なるデー タの配列に過ぎない.
• そのようなデータ配列を「木構造」のファイルシステ ムに見せるための仕組みを解説する.
• 木構造に見せるための規則は複数種類あり,いわ ゆる「論理フォーマット」と呼ばれる.
55
56
ディスクの物理構造
57
フォーマット
• 通常,隣接したシリ ンダ何枚かをグ
ループ化し,それを パーティションとする.
• ディスク丸ごと1パー ティションとしてもさ しつかえない.
参考 ディスクからファイルシステム
• SSD,USBメモリ,ハードディスク自体は,単なる データの列を順番に保存するだけの機械である.
• 中にファイルやフォルダの木構造が最初からある わけではない.
• 各OS(Windows等)が,SSD等の中に,わざわざ ファイルシステムを構築している.
• ファイルシステムの種類自体は,100近く存在する.
• メジャーなもの
• FAT, NTFS widwosで使われる.
• UFS, EXT4, XFS UNIX, Linuxで使われる.
• APFS, HFS+ マックで使われているらしい.
58
59
参考 : FAT の内部形式
• 連続した2n個のセクタをグループ化してクラスタと する.
• とはいえディスクの先頭部分は例外
• ファイルは1個以上のクラスタに分割して配置され ている.
• ファイルがどこにあるかの情報はFATとディレクトリ エントリという情報で管理されている.
60
参考 : FAT の内部構造
ブートセクタ MBR
この辺はファイルの情報とは関係無し
FAT
予備
ルートディレクトリ エントリ クラスタ1 クラスタ2 クラスタ3
クラスタn
・・・
あるパーティション(論理ディスク)
ここのクラスタ毎に,
ファイルの中身や,
ディレクトリエントリ(サブディレクトリ内のファイルの情報) なんかが入っている.
FATテーブル
下にあるクラスタの中身どのようにグルーピング されているかを管理.値としては,
•未使用
•EOF
•続くクラスタの番号 のどれか.
61
例 ¥temp¥foo.txt を探す
ブートセクタ MBR
FAT
予備
ルートディレクトリ エントリ クラスタ1
・・・
temp 2 home 14 etc 22
クラスタ2 クラスタ3 クラスタ4 クラスタ5
クラスタn クラスタ6
0 1
EOF
2 3
6
4 5
7 6
EOF 7
0 n
foo.txt 4 main.tex 15 sony.mp3 30
クラスタ7
データ データ
データ
¥temp¥foo.txt の中身