SlideShare a Scribd company logo
12章 仮想ファイルシステム
この章では、Linux において他のシステム(Windows など)と共存するために必要不可欠
である仮想ファイルシステム(VFS:Virtual File System)について述べられている。
12.1:VFS の役割
VFS は、仮想ファイルシステムスイッチともいわれるカーネル上のソフトウェア(レイ
ヤ)、である。要は、カーネル上にある便利な自動翻訳ソフトのようなもの。
・対応するファイルシステム
- ディスクベースのファイルシステム(Ext2 以外にも)
- ネットワークファイルシステム(ネット上のファイル)
- 特殊ファイルシステム(カーネルを見るとき)
12.1.1:VFS の中身
共通ファイルモデル=UNIX のファイルモデルを反映
一方で、UNIX 系ファイルでないと再構成される。(特に、FAT→ディレクトリが多い)
*オブジェクト=データ+メソッド(操作)と定義するとオブジェクト指向型であると考
えられる。C++は効率的でない。
・構成要素
- スーパーブロックオブジェクト(一個のファイルシステムに対して1つ)
それぞれのファイルシステムのメタデータを示す。ファイルシステムに対する情報が格納
される。
- i ノードオブジェクト
ファイルの位置やディスクの情報などを含む。
- ファイルオブジェクト
ファイルとメモリ間のやりとりした情報を保存。
- d エントリオブジェクト
・仕組み
(一例)
プロセス→ファイルオブジェクト→d エントリオブジェクト→i ノードオブジェクト→スーパ
ブロックオブジェクト+i ノード→ディスクファイル
15 章 通常ファイルへのアクセス
15.1  read()と write()を用いた通常ファイルへアクセスする方法
15.2 メモリマッピング
15.1
・通常ファイルの読み取りは、ページを基本として行われる。
→カーネルでは常に一度にページのデータ全体を転送
15.2 メモリマッピング
メモリマッピング=先頭リニアアドレス、サイズ、アクセス権を示すメモリリージョンの 
         ページ内のバイトへのアクセスが、通常ファイルの対応するバイトで
         の操作に変換されること(カーネル)
” ” ” ”          共有 と プライベート の 2 種類の方法がある。
共有:メモリリージョンが行う全ての操作は、ディス上のファイルを変更。
プライベート:読み取り専用ファイルで適応される。
・メモリマッピングのデータ構造
=ファイルの i ノード+メモリマッピング用ディスクリプタ+メモリリージョンに割り当
てられた各ページのページディスクリプタ+ファイルオブジェクト
・メモリマッピング
メモリの構造は、
17章 Ext2 ファイルシステム
主に、i ノードブロックのディスク領域の確保とデータブロックのディスク領域の確保につ
いてのお話。
17.1 Ext2 の紹介
17.2 ディスク上に保存されるデータ構造(by Ext2)
17.3 17.2 で示された構造がどのようにしてメモリ内にコピーされるのか。
17.4 Ext2 をディスクパーティション内に作成する方法。
17.1 Ext2 の紹介
歴史:Minix ファイルシステム→Ext FS→Ext2(→Ext3)
主な効率化の要因・特色
・ファイルの長さに応じたブロックサイズの選択
ディスクブロック内の使用率の問題が解決。
→たとえファイルサイズが 1 バイトでも、1 ブロック分を消費するので小さいファイルがた
くさんあるときはブロックサイズを小さくすればディスクの容量を効率的に使用できる。
+ブロックのフラグメント化(他のファイルに割り当てる)
【フラグメント:本来連続した情報であるファイル・空ブロックがディスク内で分断され
た状態。現在はディスクが情報を探す時間の延長を引き起こす原因の一つ】
・1 つのディスクブロック内にあるファイルに短時間でアクセス可能
ディスクブロック⇒複数のグループ と分割されている。
(グループ=スーパブロック+グループディスクリプタ+・・+i ノード+データブロッ
ク:データと i ノードが隣接)
・ファイルの断片化の防止
ファイルサイズが増加しても、先行割り当て(先行予約)によって、ファイルの隣接した位
置のブロックを予約することになっているので問題ない。
・不変ファイルと追記専用ファイルの実装
スーパーユーザーも従わせる。
・・・etc
17.2 ディスク上に保存されるデータ構造(by Ext2)
Ext2 パーティションはブートブロックと、いくつものブロックグループによって構成され
ている。同じファイルに属すデータブロックは、できるだけ同じブロックグループ内に入れ
るようにカーネルがはたらくので、ファイルの断片化はおこりにくくなる。
【ブロックグループの構成】
スーパブロック(コピー)←管理情報
ブロックグループディスクリプタ(コピー)←グループ内の要約(目次)
データブロックビットマップ←データブロックが使用中(1)or 空き(0)を示す
i ノードビットマップ←i ノードが使用中(1)or 空き(0)を示す
一個以上の i ノードの集合(テーブル)
データブロック
<ファイルの種類>
・通常ファイル
 ほとんどが該当する普通のファイル。
 作成時は空であり、データブロックは必要としない。
・ディレクトリ
 ☆Ext2 では、ディレクトリもファイル(ディレクトリエントリ)として扱われる。
 構成は ディレクトリエントリ=
i ノード番号+ディレクトリエントリ自身の長さ+ファイル名の長さ+ファイルの種類
+ファイル名(常に 4 の倍数になるよう null 文字/0 で調節)
*ディレクトリを消す動作の内訳
1.i ノード番号が 1→0
2.ひとつ前のディレクトリエントリの中のディレクトリエントリ自身の長さに  
      消すディレクトリエントリの長さを加算。
・シンボリックリンク
パス名が 60 バイト以内→データブロック不必要(i ノードに記載されている)
パス名が 60 バイト超え→1 つデータブロック必要
・データファイルを要求しないファイル(デバイスファイル・パイプ・ソケット)
→i ノードに記載
    
17.3 17.2 で示された構造がどのようにしてメモリ内にコピーされるのか。
ほとんどの情報は、ファイルシステムのマウント時に RAM へとコピーされる。
非常に頻繁に更新されるデータ(スーパブロックやグループディスクリプタ)はバッファ
キャッシュ内にある。
キャッシュのモードとしては、常にキャッシュ・一定量キャッシュ・動的にキャッシュ・
キャッシュされない、がある。(一定量:特定の数のみ、動的:メモリが不足すると順次開
放、キャッシュされない:空きブロック)
17.4 Ext2 をディスクパーティション内に作成する方法。
ディスクパーティションやディスクのフォーマットファイルシステム
≠ファイルシステムの作成
フォーマット=ブロックの読み書きができるようになる
ファイルシステムの作成=以前説明されたデータ構造を準備
17.5 Ext2 関数(VFS メソッドに対応した)
Ext2 スーパブロック操作
Ext2 i ノード操作
Ext2 ファイル操作
17.6 ディスク領域の管理
ファイルシステムはアクセス時間を向上させるために、ブロックをなるべく連続して保存
しようと試みるが、ブロックはディスクのいろいろなところに散在していることがある。
→ファイルの断片化の防止
・i ノードの作成【ext2_new_inode()】
成功→i ノードオブジェクトのアドレス
失敗→null(/0)を出力
(i ノードの削減は ext2_free_inode())
17.4 Ext2 をディスクパーティション内に作成する方法。
ディスクパーティションやディスクのフォーマットファイルシステム
≠ファイルシステムの作成
フォーマット=ブロックの読み書きができるようになる
ファイルシステムの作成=以前説明されたデータ構造を準備
17.5 Ext2 関数(VFS メソッドに対応した)
Ext2 スーパブロック操作
Ext2 i ノード操作
Ext2 ファイル操作
17.6 ディスク領域の管理
ファイルシステムはアクセス時間を向上させるために、ブロックをなるべく連続して保存
しようと試みるが、ブロックはディスクのいろいろなところに散在していることがある。
→ファイルの断片化の防止
・i ノードの作成【ext2_new_inode()】
成功→i ノードオブジェクトのアドレス
失敗→null(/0)を出力
(i ノードの削減は ext2_free_inode())

More Related Content

What's hot

詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
Takaya Kotohata
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」Toshiharu Harada, Ph.D
 
Linuxの基本コマンド
Linuxの基本コマンドLinuxの基本コマンド
Linuxの基本コマンド
晋 小沼
 
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
Yu Nobara
 
pkgsrcに関する何か - 何かって何?
pkgsrcに関する何か - 何かって何?pkgsrcに関する何か - 何かって何?
pkgsrcに関する何か - 何かって何?
Akio OBATA
 
Linuxとファイル
LinuxとファイルLinuxとファイル
Linuxとファイル
Jun Ishitsuka
 
Next-L Enju 開発ワークショップ #50
Next-L Enju 開発ワークショップ #50Next-L Enju 開発ワークショップ #50
Next-L Enju 開発ワークショップ #50
Kosuke Tanabe
 
勉強会資料 LT会 zfsで遊んでみた_公開版
勉強会資料 LT会 zfsで遊んでみた_公開版勉強会資料 LT会 zfsで遊んでみた_公開版
勉強会資料 LT会 zfsで遊んでみた_公開版
Ryoma Fujiwara
 

What's hot (8)

詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ詳解UNIXプログラミング 第4章 ファイルとディレクトリ
詳解UNIXプログラミング 第4章 ファイルとディレクトリ
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
 
Linuxの基本コマンド
Linuxの基本コマンドLinuxの基本コマンド
Linuxの基本コマンド
 
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
Oftec Lightning Talk 第7回 最近触ったLinuxディストリビューションの紹介
 
pkgsrcに関する何か - 何かって何?
pkgsrcに関する何か - 何かって何?pkgsrcに関する何か - 何かって何?
pkgsrcに関する何か - 何かって何?
 
Linuxとファイル
LinuxとファイルLinuxとファイル
Linuxとファイル
 
Next-L Enju 開発ワークショップ #50
Next-L Enju 開発ワークショップ #50Next-L Enju 開発ワークショップ #50
Next-L Enju 開発ワークショップ #50
 
勉強会資料 LT会 zfsで遊んでみた_公開版
勉強会資料 LT会 zfsで遊んでみた_公開版勉強会資料 LT会 zfsで遊んでみた_公開版
勉強会資料 LT会 zfsで遊んでみた_公開版
 

Viewers also liked

05 後期勉強会一年の部【菅原】
05 後期勉強会一年の部【菅原】05 後期勉強会一年の部【菅原】
05 後期勉強会一年の部【菅原】
yu-Linux
 
01 後期勉強会一年の部【前澤】
01 後期勉強会一年の部【前澤】01 後期勉強会一年の部【前澤】
01 後期勉強会一年の部【前澤】
yu-Linux
 
03 後期勉強会一年の部【川合】
03 後期勉強会一年の部【川合】03 後期勉強会一年の部【川合】
03 後期勉強会一年の部【川合】
yu-Linux
 
Dauerbrenner Frozen wieder zurück auf Platz 1
Dauerbrenner Frozen wieder zurück auf Platz 1Dauerbrenner Frozen wieder zurück auf Platz 1
Dauerbrenner Frozen wieder zurück auf Platz 1
SchimmelMartina
 
Christmas in spain
Christmas in spainChristmas in spain
Christmas in spain
Teresa Hoz Cobo
 
程式教育的本質
程式教育的本質程式教育的本質
程式教育的本質
NCTU
 
Ezekiel 2 commentary
Ezekiel 2 commentaryEzekiel 2 commentary
Ezekiel 2 commentary
GLENN PEASE
 
Precedent study sep 2016
Precedent study sep 2016Precedent study sep 2016
Precedent study sep 2016
jerryycc
 
Guía+para..
Guía+para..Guía+para..
Guía+para..MaryVG
 
Papa francisco
Papa franciscoPapa francisco
Papa francisco
enmy verneiulle
 
Jayers_Portfolio
Jayers_PortfolioJayers_Portfolio
Jayers_PortfolioJim Ayers
 
História da África e Afro-Brasileira - Capítulo 9
História da África e Afro-Brasileira - Capítulo 9História da África e Afro-Brasileira - Capítulo 9
História da África e Afro-Brasileira - Capítulo 9NaniFulber
 
використання личинок озерної жаби Rana ridibunda
використання личинок озерної жаби Rana ridibunda використання личинок озерної жаби Rana ridibunda
використання личинок озерної жаби Rana ridibunda
school67dp
 
Ativ1 4 anailzamxf
Ativ1 4 anailzamxfAtiv1 4 anailzamxf
Ativ1 4 anailzamxfanailzamxf
 

Viewers also liked (16)

05 後期勉強会一年の部【菅原】
05 後期勉強会一年の部【菅原】05 後期勉強会一年の部【菅原】
05 後期勉強会一年の部【菅原】
 
01 後期勉強会一年の部【前澤】
01 後期勉強会一年の部【前澤】01 後期勉強会一年の部【前澤】
01 後期勉強会一年の部【前澤】
 
03 後期勉強会一年の部【川合】
03 後期勉強会一年の部【川合】03 後期勉強会一年の部【川合】
03 後期勉強会一年の部【川合】
 
Dauerbrenner Frozen wieder zurück auf Platz 1
Dauerbrenner Frozen wieder zurück auf Platz 1Dauerbrenner Frozen wieder zurück auf Platz 1
Dauerbrenner Frozen wieder zurück auf Platz 1
 
Christmas in spain
Christmas in spainChristmas in spain
Christmas in spain
 
程式教育的本質
程式教育的本質程式教育的本質
程式教育的本質
 
BS
BSBS
BS
 
Ezekiel 2 commentary
Ezekiel 2 commentaryEzekiel 2 commentary
Ezekiel 2 commentary
 
Precedent study sep 2016
Precedent study sep 2016Precedent study sep 2016
Precedent study sep 2016
 
Guía+para..
Guía+para..Guía+para..
Guía+para..
 
Papa francisco
Papa franciscoPapa francisco
Papa francisco
 
Jayers_Portfolio
Jayers_PortfolioJayers_Portfolio
Jayers_Portfolio
 
História da África e Afro-Brasileira - Capítulo 9
História da África e Afro-Brasileira - Capítulo 9História da África e Afro-Brasileira - Capítulo 9
História da África e Afro-Brasileira - Capítulo 9
 
використання личинок озерної жаби Rana ridibunda
використання личинок озерної жаби Rana ridibunda використання личинок озерної жаби Rana ridibunda
використання личинок озерної жаби Rana ridibunda
 
Ativ1 4 anailzamxf
Ativ1 4 anailzamxfAtiv1 4 anailzamxf
Ativ1 4 anailzamxf
 
Las tic’s
Las tic’sLas tic’s
Las tic’s
 

Recently uploaded

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 

Recently uploaded (15)

【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 

06 後期勉強会一年の部【加藤】

  • 1. 12章 仮想ファイルシステム この章では、Linux において他のシステム(Windows など)と共存するために必要不可欠 である仮想ファイルシステム(VFS:Virtual File System)について述べられている。 12.1:VFS の役割 VFS は、仮想ファイルシステムスイッチともいわれるカーネル上のソフトウェア(レイ ヤ)、である。要は、カーネル上にある便利な自動翻訳ソフトのようなもの。 ・対応するファイルシステム - ディスクベースのファイルシステム(Ext2 以外にも) - ネットワークファイルシステム(ネット上のファイル) - 特殊ファイルシステム(カーネルを見るとき) 12.1.1:VFS の中身 共通ファイルモデル=UNIX のファイルモデルを反映 一方で、UNIX 系ファイルでないと再構成される。(特に、FAT→ディレクトリが多い) *オブジェクト=データ+メソッド(操作)と定義するとオブジェクト指向型であると考 えられる。C++は効率的でない。 ・構成要素 - スーパーブロックオブジェクト(一個のファイルシステムに対して1つ) それぞれのファイルシステムのメタデータを示す。ファイルシステムに対する情報が格納 される。 - i ノードオブジェクト ファイルの位置やディスクの情報などを含む。 - ファイルオブジェクト ファイルとメモリ間のやりとりした情報を保存。 - d エントリオブジェクト ・仕組み (一例) プロセス→ファイルオブジェクト→d エントリオブジェクト→i ノードオブジェクト→スーパ ブロックオブジェクト+i ノード→ディスクファイル
  • 2. 15 章 通常ファイルへのアクセス 15.1  read()と write()を用いた通常ファイルへアクセスする方法 15.2 メモリマッピング 15.1 ・通常ファイルの読み取りは、ページを基本として行われる。 →カーネルでは常に一度にページのデータ全体を転送 15.2 メモリマッピング メモリマッピング=先頭リニアアドレス、サイズ、アクセス権を示すメモリリージョンの           ページ内のバイトへのアクセスが、通常ファイルの対応するバイトで          の操作に変換されること(カーネル) ” ” ” ”          共有 と プライベート の 2 種類の方法がある。 共有:メモリリージョンが行う全ての操作は、ディス上のファイルを変更。 プライベート:読み取り専用ファイルで適応される。 ・メモリマッピングのデータ構造 =ファイルの i ノード+メモリマッピング用ディスクリプタ+メモリリージョンに割り当 てられた各ページのページディスクリプタ+ファイルオブジェクト ・メモリマッピング メモリの構造は、
  • 3. 17章 Ext2 ファイルシステム 主に、i ノードブロックのディスク領域の確保とデータブロックのディスク領域の確保につ いてのお話。 17.1 Ext2 の紹介 17.2 ディスク上に保存されるデータ構造(by Ext2) 17.3 17.2 で示された構造がどのようにしてメモリ内にコピーされるのか。 17.4 Ext2 をディスクパーティション内に作成する方法。 17.1 Ext2 の紹介 歴史:Minix ファイルシステム→Ext FS→Ext2(→Ext3) 主な効率化の要因・特色 ・ファイルの長さに応じたブロックサイズの選択 ディスクブロック内の使用率の問題が解決。 →たとえファイルサイズが 1 バイトでも、1 ブロック分を消費するので小さいファイルがた くさんあるときはブロックサイズを小さくすればディスクの容量を効率的に使用できる。 +ブロックのフラグメント化(他のファイルに割り当てる) 【フラグメント:本来連続した情報であるファイル・空ブロックがディスク内で分断され た状態。現在はディスクが情報を探す時間の延長を引き起こす原因の一つ】 ・1 つのディスクブロック内にあるファイルに短時間でアクセス可能 ディスクブロック⇒複数のグループ と分割されている。 (グループ=スーパブロック+グループディスクリプタ+・・+i ノード+データブロッ ク:データと i ノードが隣接) ・ファイルの断片化の防止 ファイルサイズが増加しても、先行割り当て(先行予約)によって、ファイルの隣接した位 置のブロックを予約することになっているので問題ない。 ・不変ファイルと追記専用ファイルの実装 スーパーユーザーも従わせる。 ・・・etc 17.2 ディスク上に保存されるデータ構造(by Ext2) Ext2 パーティションはブートブロックと、いくつものブロックグループによって構成され ている。同じファイルに属すデータブロックは、できるだけ同じブロックグループ内に入れ るようにカーネルがはたらくので、ファイルの断片化はおこりにくくなる。 【ブロックグループの構成】 スーパブロック(コピー)←管理情報 ブロックグループディスクリプタ(コピー)←グループ内の要約(目次)
  • 4. データブロックビットマップ←データブロックが使用中(1)or 空き(0)を示す i ノードビットマップ←i ノードが使用中(1)or 空き(0)を示す 一個以上の i ノードの集合(テーブル) データブロック <ファイルの種類> ・通常ファイル  ほとんどが該当する普通のファイル。  作成時は空であり、データブロックは必要としない。 ・ディレクトリ  ☆Ext2 では、ディレクトリもファイル(ディレクトリエントリ)として扱われる。  構成は ディレクトリエントリ= i ノード番号+ディレクトリエントリ自身の長さ+ファイル名の長さ+ファイルの種類 +ファイル名(常に 4 の倍数になるよう null 文字/0 で調節) *ディレクトリを消す動作の内訳 1.i ノード番号が 1→0 2.ひとつ前のディレクトリエントリの中のディレクトリエントリ自身の長さに         消すディレクトリエントリの長さを加算。 ・シンボリックリンク パス名が 60 バイト以内→データブロック不必要(i ノードに記載されている) パス名が 60 バイト超え→1 つデータブロック必要 ・データファイルを要求しないファイル(デバイスファイル・パイプ・ソケット) →i ノードに記載      17.3 17.2 で示された構造がどのようにしてメモリ内にコピーされるのか。 ほとんどの情報は、ファイルシステムのマウント時に RAM へとコピーされる。 非常に頻繁に更新されるデータ(スーパブロックやグループディスクリプタ)はバッファ キャッシュ内にある。 キャッシュのモードとしては、常にキャッシュ・一定量キャッシュ・動的にキャッシュ・ キャッシュされない、がある。(一定量:特定の数のみ、動的:メモリが不足すると順次開 放、キャッシュされない:空きブロック)
  • 5. 17.4 Ext2 をディスクパーティション内に作成する方法。 ディスクパーティションやディスクのフォーマットファイルシステム ≠ファイルシステムの作成 フォーマット=ブロックの読み書きができるようになる ファイルシステムの作成=以前説明されたデータ構造を準備 17.5 Ext2 関数(VFS メソッドに対応した) Ext2 スーパブロック操作 Ext2 i ノード操作 Ext2 ファイル操作 17.6 ディスク領域の管理 ファイルシステムはアクセス時間を向上させるために、ブロックをなるべく連続して保存 しようと試みるが、ブロックはディスクのいろいろなところに散在していることがある。 →ファイルの断片化の防止 ・i ノードの作成【ext2_new_inode()】 成功→i ノードオブジェクトのアドレス 失敗→null(/0)を出力 (i ノードの削減は ext2_free_inode())
  • 6. 17.4 Ext2 をディスクパーティション内に作成する方法。 ディスクパーティションやディスクのフォーマットファイルシステム ≠ファイルシステムの作成 フォーマット=ブロックの読み書きができるようになる ファイルシステムの作成=以前説明されたデータ構造を準備 17.5 Ext2 関数(VFS メソッドに対応した) Ext2 スーパブロック操作 Ext2 i ノード操作 Ext2 ファイル操作 17.6 ディスク領域の管理 ファイルシステムはアクセス時間を向上させるために、ブロックをなるべく連続して保存 しようと試みるが、ブロックはディスクのいろいろなところに散在していることがある。 →ファイルの断片化の防止 ・i ノードの作成【ext2_new_inode()】 成功→i ノードオブジェクトのアドレス 失敗→null(/0)を出力 (i ノードの削減は ext2_free_inode())