Soft_updatesとは - わかりやすく解説 Weblio辞書 (original) (raw)
| 出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 記事の信頼性向上にご協力をお願いいたします。(2015年12月) |
|---|
Soft updatesとは非同期書き込み中に不意に計算機が止まった場合でもファイルシステムの一貫性を保つための技術である。
概要
Soft updates(Soft dependenciesとも言われる)とは、非同期書き込みを行っている際に突然電源切断が起きても、ファイルシステムの一貫性を保つための技術である。ジャーナリングファイルシステムと同様、ファイルシステムの一貫性を保証する技術であり、データの喪失が起きないようにする技術ではない。
ファイルシステムの一貫性を保証するために、Soft updatesではハードディスクへのデータ書き込みの順序に制限を設けている。一言でまとめると、ハードディスクのハードウェア的に可能ないかなるタイミングでそれ以降の書き込みが中断されても、一貫性が保たれるような順序で書き込みを行う、という方式がsoft updatesである。ジャーナリングと異なり、メタデータなどを保存する別の領域を必要としない。
Soft updatesによってファイルシステムのinodeなどのメタデータと実際のデータの一貫性が常に保証されるので、突然の電源切断が起きた場合にもfsckなしにmountすることができる。しかし、実際には未使用なのに使用されているとマークされているページができることがある。これは、Soft updatesでは利用している領域を未使用領域と誤認する状況を避けるようハードディスクへの書き込み制御をするからである。このような誤って使用中と認識された領域を掃除するためにbackground fsckを行う。
問題点として、近年の大容量化したディスクでは、一旦問題が発生するとbackground fsckに長時間が必要となってしまう。FreeBSD 9ではジャーナリングによりこれを解決したJournaled Soft Updatesが導入された。
Soft updatesは最初FreeBSD用にマーシャル・カーク・マキュージック(Marshall Kirk McKusick)が開発したものだったが、他のいくつかのBSDの子孫でも利用可能である。
参考文献
- McKusick, M. (2002). Running "fsck" in the Background." Proceedings of the BSDCon 2002. 55-64.
- McKusick, M. and Ganger, G. (1999). "Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem." USENIX Annual Technical Conference. 1-18.
- Seltzer, M. et al. (2000). "Journaling Versus Soft Updates: Asynchronous Meta-data Protection in File Systems." USENIX Annual Technical Conference. 71-84.
外部リンク
| 表 話 編 歴 FreeBSDプロジェクト | |
|---|---|
| FreeBSD | FreeBSD Core Team(英語版) FreeBSD Documentation License FreeBSD Foundation(英語版) FreeBSD Ports(英語版) 歴史(英語版) |
| サブシステム | busdma(英語版) GEOM ipfw FreeBSD jail Netgraph(英語版) OpenPAM(英語版) OpenBSM(英語版) pf Soft updates ULE scheduler(英語版) bhyve Highly Available STorage(英語版) portsnap(英語版) kqueue(英語版) geom raid5(英語版) geli(英語版) moused(英語版) Vinum volume manager(英語版) |
| 人物 | ジョーダン・ハバード ポール・ヘニング・カンプ(英語版) マイケル・カレルズ(英語版) ベン・ローリー(英語版) サム・レフラー(英語版) マーシャル・カーク・マキュージック ディオミディス・スピネリス ロバート・ワトソン(英語版) ドルー・ラヴィーン(英語版) |
| 派生(英語版) | オープンソース XNU Darwin DesktopBSD DragonFly BSD FreeSBIE GhostBSD 麒麟操作系統(英語版) MidnightBSD(英語版) m0n0wall(英語版) OPNsense(英語版) pfSense TrueNAS TrueOS GNU/kFreeBSD Gentoo/FreeBSD(英語版) プロプライエタリ Darwin Junos macOS, iOS, iPadOS, watchOS, tvOS, audioOS, bridgeOS, visionOS Nintendo Switch OS OpenServer 10 PlayStation 3 OS PlayStation 4 OS PlayStation Vita OS |
| カテゴリ |
| 表 話 編 歴 DragonFly BSDプロジェクト | |
|---|---|
| オペレーティングシステム | DragonFly BSD 軽量カーネルスレッド LWKTシリアル化トークン(英語版) Kernel Normal Form(英語版) |
| OSレベル仮想化(英語版) | chroot jail vkernel(英語版) |
| ファイルシステムとストレージ | AHCI NCQ(英語版) autofs(英語版) devfs disklabel(英語版) fdisk(英語版) HAMMER HAMMER2(英語版) LVM2(英語版) NFS NTFS NVMe procfs PUFFS tmpfs UFS soft updates Vinum(英語版) VFS |
| ファイアウォールとコンピュータネットワーク | 802.11 drivers(英語版) ALTQ Bluetooth(英語版) BPF CARP ipfw NDIS netgraph(英語版) PF |
| サブシステム | busdma(英語版) DPorts ioctl kqueue(英語版) moused(英語版) OpenPAM(英語版) sysctl(英語版) hw.sensors(英語版) systat(英語版) SMBus(英語版) |
| 人物 | マシュー・ディロン(英語版) |
| 表 話 編 歴 OpenBSDプロジェクト | |
|---|---|
| オペレーティングシステム | OpenBSD バージョン履歴(英語版) セキュリティ(英語版) |
| 関連プロジェクト | CARP LibreSSL OpenSSH OpenBGPD(英語版) OpenIKED(英語版) OpenOSPFD(英語版) OpenNTPD OpenSMTPD(英語版) PF sndio(英語版) spamd(英語版) Systrace(英語版) tmux Xenocara(英語版) cwm W^X(英語版) |
| 人物 | テオ・デ・ラート Niels Provos OpenBSD Foundation Plaid Tongued Devils |
| リソース | OpenBSD Journal |