|
306 | 306 | %%%%% |
307 | 307 |
|
308 | 308 | \begin{slide} |
309 | | -\sltitle{Vylep¹ení systému souborù} |
| 309 | +\sltitle{File system enhancements} |
310 | 310 | \begin{itemize} |
311 | | -\item cíl: sní¾ení fragmentace souborù, omezení pohybu hlav disku umístìním |
312 | | -i-uzlù a datových blokù blí¾ k sobì |
313 | | -\item UFS (Unix File System), pùvodnì Berkeley FFS (Fast File System) |
314 | | -\item èle{}nìní na skupiny cylindrù, ka¾dá skupina obsahuje |
| 311 | +\item the goal: lower file fragmentation, reduce head moves by storing i-nodes |
| 312 | +and data blocks closer |
| 313 | +\item UFS (Unix File System), originally Berkeley FFS (Fast File System) |
| 314 | +\item divided into cylinder groups, each contains: |
315 | 315 | \begin{itemize} |
316 | | - \item kopii superbloku |
317 | | - \item øídicí blok skupiny |
318 | | - \item tabulku i-uzlù |
319 | | - \item bitmapy volných i-uzlù a datových blokù |
320 | | - \item datové bloky |
| 316 | + \item superblock copy |
| 317 | + \item cylinder group header |
| 318 | + \item i-node table |
| 319 | + \item bitmaps for free i-nodes and data blocks |
| 320 | + \item data blocks |
321 | 321 | \end{itemize} |
322 | | -\item bloky velikosti 4 a¾ 8 kB, men¹í èásti do fragmentù blokù |
323 | | -\item jména dlouhá 255 znakù |
| 322 | +\item bloks of size 4 to ¾ 8 kB, smaller parts stored into block fragments |
| 323 | +\item file names up to 255 characters |
324 | 324 | \end{itemize} |
325 | 325 | \end{slide} |
326 | 326 |
|
327 | 327 | \begin{itemize} |
328 | | -\item superblok v ka¾dé cylinder skupinì posunut tak, aby superbloky nebyly na |
329 | | -stejné plotnì. |
330 | | -\item dal¹í typy filesystémù: UFS2, Ext3, ReiserFS, XFS, ZFS aj. |
331 | | -\item v \url{http://mff.devnull.cz/pvu/common/docs/filesystems.ps} je |
332 | | -po\-rov\-ná\-ní osmi rùzných filesystémù podle rùzných implementaèních |
333 | | -kritérií; nezahrnuje v sobì ale vývoj posledních let. |
334 | | -\item UFS byl stále 32-bitový, co¾ se odrá¾elo na maximální délce souboru i na |
335 | | -maximální velikosti filesystému. (Oznaèení file systému jako 32-bitového |
336 | | -znamená, ¾e èísla i-uzlù jsou reprezentována jako 32-bitová. To pak dává |
337 | | -teoretický limit pro velikost filesystému.) |
338 | | -\item ¾urnálování (XFS, Ext3, ReiserFS) -- snaha o zmen¹ení nebezpeèí ztráty |
339 | | -dat v pøípadì havárie, urychlení zotavení po havárii |
340 | | -\item ZFS -- moderní 128-bitový filesystém vyvinutý v Sun Microsystems, od |
341 | | -Solarisu 10, teï ji¾ také v FreeBSD 7. |
| 328 | +\item The superblock in each cylinder group was shifted so that superblocks do |
| 329 | +not share the same platter. |
| 330 | +\item more file systems: UFS2, Ext3, ReiserFS, XFS, ZFS etc. |
| 331 | +\item UFS was still 32-bit, that reflected on maximum file length and maximum |
| 332 | +file system size. The 32-bit notation means that i-node numbers are represented |
| 333 | +as 32 bit integers. This gives the theoretical filesystem limits. |
| 334 | +\item journalling (XFS, Ext3, ReiserFS) -- an effort to reduce the risk of data |
| 335 | +loss in case of crash and also to speed up the recovery after crash. |
| 336 | +\item ZFS -- modern 128-bit file system developed in Sun Microsystems, since |
| 337 | +Solarisu 10; also present in FreeBSD since version 7. |
342 | 338 | \end{itemize} |
343 | 339 |
|
344 | | - |
345 | 340 | %%%%% |
346 | 341 |
|
347 | 342 | \begin{slide} |
348 | | -\sltitle{Vývoj ve správì adresáøových polo¾ek} |
| 343 | +\sltitle{The development in directory entry management} |
349 | 344 | \begin{itemize} |
350 | | -\item maximální délka jména souboru 14 znakù nebyla dostaèující |
351 | | -\item FFS -- délka a¾ 255; ka¾dá polo¾ka zároveò obsahuje i její délku |
352 | | -\item nové filesystémy pou¾ívají pro vnitøní strukturu adresáøù rùzné varianty |
353 | | -B-stromù |
| 345 | +\item maximum file name length of 14 characters was not enough |
| 346 | +\item FFS -- up to 255 characters; each entry also contains its length |
| 347 | +\item new file systems use B-trees for internal directory structure |
| 348 | +representation |
354 | 349 | \begin{itemize} |
355 | | - \item výraznì zrychluje práci s adresáøi obsahující velké |
356 | | - mno¾ství souborù |
| 350 | + \item considerably speeds up the work with directories that contain huge |
| 351 | + number of files |
357 | 352 | \item XFS, JFS, ReiserFS, \dots |
358 | 353 | \end{itemize} |
359 | | -\item UFS2 zavádí zpìtnì kompatibilní tzv. \emph{dirhash} pro zrychlení |
360 | | -pøístupu k adresáøùm s velkým poètem souborù |
| 354 | +\item UFS2 introduced backward compatible \emph{dirhash} for speeding up |
| 355 | +the access to directories with lots of files |
361 | 356 | \end{itemize} |
362 | 357 | \end{slide} |
363 | 358 |
|
364 | 359 | \begin{itemize} |
365 | | -\item \emph{dirhash} pracuje tak, ¾e pøi prvním pøeètení adresáøe se vytvoøí v |
366 | | -pamìti hash struktura, následné pøístupy do adresáøe jsou pak srovnatelné se |
367 | | -systémy pou¾ívající B-stromy. Tímto zpùsobem je dosa¾eno zlep¹ení bez toho, |
368 | | -aby se mìnila struktura filesystému na disku. Taková vylep¹ení ale nelze |
369 | | -v implementaci filesysému dìlat do nekoneèna, nakonec je typicky nutná |
370 | | -zmìna on-disk formátu pro adaptaci na výkonostní po¾adavky (nebo pøechod |
371 | | -na jiný filesystém). |
372 | | -\item malé soubory se èasto ukládají v i-nodech, èím¾ se u¹etøí dal¹í pøístupy |
373 | | -na disk |
| 360 | +\item The principle of \emph{dirhash} is that after first read of a directory a |
| 361 | +hash structure is created in memory. Subsequent directory accesses are then |
| 362 | +comparable to the implementations using B-trees. This way an enhancement is made |
| 363 | +without changing on-disk layout of the file system. Such enhancements cannot be |
| 364 | +made forever, eventually on-disk format has to change or transition to another |
| 365 | +file system is necessary. |
| 366 | +\item small files are often stored in i-nodes, which saves disk I/O |
374 | 367 | \end{itemize} |
375 | 368 |
|
376 | 369 | %%%%% |
|
0 commit comments