Toon posts:

UnixV7 Filesystem (max. files)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een opdracht moet ik de werking van het UNIXv7 FS uitzoeken. Hiervoor heb ik o.a. het boek van Tannenbaum geraadpleegd. Op pagina 445 staat het volgende stuk:
"A UNIX directory entry contains one entry for each file in that directory.
Each entry is extremely simple because UNIX uses the i-node scheme illustrated
in Fig. 6-0. A directory entry contains only two fields: the file name (14 bytes)
and the number of the i-node for that file (2 bytes), as shown in Fig. 6-9. These
parameters limit the number of files per file system to 64K."
Over die laatste zin heb ik een vraag. Wordt hier niet het max. aantal files / directory bedoeld? Met een eenvoudige berekening kom ik dan aan 64.5M.

code:
1
2
3
Directory entry = 2 + 14 bytes
Max filesize = 2^9 * (10 + 2^7 + 2^14 + 2^21) = 1.082.201.088 bytes
Max entries = Max filesize / Directory entry = 67.637.568 = 64,5M


PS. De inode tabel zou het maximum aantal files niet mogen/kunnen beperken. Deze wordt bij het aanmaken van het filesystem bepaald. Het geraadpleegde hoofdstuk is ook hier te lezen: http://www.cs.vu.nl/~ast/books/mos2/sample-6.pdf

[ Voor 6% gewijzigd door Verwijderd op 22-03-2004 19:54 ]


Verwijderd

Topicstarter
Hmm.. laat maar, 'k heb 'm al.
Max. aantal inodes = 2^16 (16-bits inode nummer) = 64K

  • Wilke
  • Registratie: December 2000
  • Laatst online: 00:03
Het antwoord staat letterlijk in de tekst zoals je zelf al aangeeft, en nee, ik denk niet dat het verkeerd is. Je moet er wel aan denken dat dit tig jaar oud is, en dat 64000 files best veel is als de harde schijven misschien een keer 20 MB groot zijn (if that).

offtopic:
Die beste man heet trouwens Tanenbaum - het is geen dennenboom ofzo ;)
Ik begrijp niet wat er zo moeilijk is aan die naam dat iedereen hem verkeerd spelt

Verwijderd

Het is ook per filesysteem. En 64k files op een filesysteem is best veel. Zelfs als je de directories meetelt (dat zijn tenslotte ook files). En je kan altijd meer filesystems (partities) mounten.

Verwijderd

Topicstarter
64K lijkt mij inderdaad ook genoeg ja. De naam zal ik van nu af aan goed schrijven :) We zijn hier UNIXv7 aan het vergelijken met FAT16. Best mooi om de verschillen te zien en vooral de onhandigheden in FAT16

  • Wilke
  • Registratie: December 2000
  • Laatst online: 00:03
Hmm, ik weet eigenlijk nauwelijk hoe FAT16 in elkaar zit..wat zijn daar de grootste beperkingen?

64k is nu trouwens absoluut niet meer genoeg, als je bijvoorbeeld een mail-server hebt met mail in maildir formaat hoef je bv. maar Bugtraq of een vergelijkbare mailinglist te volgen en je hebt na een jaar zo 20.000 mails, dus files.

Verwijderd

Topicstarter
Met name dit is erg onhandig
"The directory entry also contains the date and time the file was created or lastmodified. The time is accurate only to ±2 sec because it is stored in a 2-byte field, which can store only 65,536 unique values (a day contains 86,400 unique seconds). The time field is subdivided into seconds (5 bits), minutes (6 bits), and hours (5 bits). The date counts in days using three subfields: day (5 bits), month (4 bits), and ear−1980 (7 bits). With a 7-bit number for the year and time beginningin 1980, the highest expressible year is 2107. Thus MS-DOS has a built-in Y2108 problem. To avoid catastrophe, MS-DOS users should begin with Y2108 compliance as early as possible. If MS-DOS had used the combined date and time fields as a 32-bit seconds counter, it could have represented every second exactly and delayed the catastrophe until 2116."
Het is niet eerlijk om te zeggen dat het design fouten zijn. De onhandigheden zitten erin omdat FAT16 backwards compatible moest zijn met FAT12. De bekendste beperkingen zijn denk ik: 8+3 bytes voor filenames, 2GB als max. size en geen user veld bij files.

[ Voor 3% gewijzigd door Verwijderd op 22-03-2004 21:34 ]


Verwijderd

Wilke schreef op 22 maart 2004 @ 21:23:
64k is nu trouwens absoluut niet meer genoeg, als je bijvoorbeeld een mail-server hebt met mail in maildir formaat hoef je bv. maar Bugtraq of een vergelijkbare mailinglist te volgen en je hebt na een jaar zo 20.000 mails, dus files.
Dan kun je dus voor ong. drieenenhalf jaar mailtjes opslaan, en dan denk ik dat je 120MB disk toch eigenlijk wel een heel eind vol begint te raken.

Een Unix V7 filesysteem is ontworpen voor een PDP-11, en toen waren 120MB disks wel heel duur.
Pagina: 1