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の子孫でも利用可能である。

参考文献

外部リンク

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
ファイルシステム
ディスク Advanced Disc Filing System(英語版) AdvFS(英語版APFS Bcachefs Be File System(英語版Btrfs CrossDOS(英語版) Disc Filing System(英語版) Episode(英語版EFS HPFS ext ext2 ext3 ext3cow ext4 FAT FAT12 FAT16 FAT32 exFAT Files-11 HAMMER HFS HFS Plus IBM General Parallel File System JFS Macintosh File System(英語版MINIX NetWare File System(英語版NILFS Novell Storage Service NTFS QFS QNX4FS ReFS ReiserFS Reiser4 SpadFS(英語版UBIFS UFS VERITAS File System Write Anywhere File Layout(英語版XFS Xsan ZFS 光ディスク / 磁気テープ HSF ISO 9660 ISO 13490 UDF LTFS Flashメモリ / SSD APFS FAT exFAT CHFS TFAT EROFS FFS2 F2FS JFFS JFFS2 LogFS NILFS NVFS YAFFS UBIFS 分散ファイルシステム Coda CXFS(英語版) GFS2 GlusterFS Google File System OCFS2 QFS Xsan
ネットワーク型 AFS OpenAFS AFP DFS GPFS GlusterFS Google File System Lustre NCP NFS POHMELFS Hadoop Plan 9 FS SMB (CIFS) SSHFS
特殊用途 cramfs Dokan EROFS FUSE SquashFS UMSDOS UnionFS aufs initrd 疑似・仮想 configfs devfs procfs specfs sysfs tmpfs WinFS 暗号化 EncFS EFS ZFS UFS2
その他 ファイルシステムの比較(英語版
カテゴリ