home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / disk / misc / pfs / plaindoc / readme.doc < prev    next >
Text File  |  1995-02-27  |  17KB  |  452 lines

  1.  
  2.             Professional File System (c) 1993/94 by Michiel Pelt
  3.                                                                
  4.  
  5.  
  6.  
  7.                      Version 9.5 10-10-1994
  8.  
  9.  
  10.  
  11. 1. Distribution Conditions
  12.  
  13.   This program is copyright (c) 1994 by Michiel Pelt.  It may be
  14. distributed freely under the condition that no profit is gained from
  15. its distribution, nor from any other program distributed in the same
  16. package.
  17.  
  18.   Permission is granted to distribute this package by Bulletin Board
  19. systems or network sites, under the condition that no fee is charged
  20. on downloading it.
  21.     
  22.   All files that are part of this package have to be distributed
  23. together and none of them may be changed in any way other than
  24. archiving or crunching.  The only exception to this rule are the
  25. icons, including the tooltypes, which may be changed to accommodate
  26. them to the rest of the disk it is distributed on.
  27.  
  28.   This program is distibuted as shareware.  If you like this product
  29. you should register.
  30.  
  31.  
  32.  
  33. Disclaimer
  34.  
  35.   These programs are provided "as is" without warranty of any kind.
  36. All risks involved using these programs are entirely yours.  The
  37. author assumes no responsibility or liability whatsoever for any
  38. damage or dataloss caused by using this package.  Although everything
  39. has been done to make sure the program is fully functional, the author
  40. cannot guarantee this for a 100%.
  41.  
  42.  
  43.  
  44. 2. Introduction
  45.  
  46.   The standard AmigaDos filesystem (OFS) is not very fast.  Commodore
  47. has tried to improve the performance of their filesystem a number of
  48. times.  Workbench 2.0 added the fast file system (FFS), and now, with
  49. Workbench 3.0, we have the fast file system with directory caching
  50. (FFS-DC).  This makes directoryscan faster but writing to disk and
  51. directory-operations like delete and rename are slower than ever.
  52.  
  53.   This made me decide to write a filesystem that does better.  I used
  54. all the knowledge I gained from my computer science study to make it
  55. as good as possible.  The professional file system (PFS) has the
  56. following features:
  57.  
  58. High performance
  59. - write: 3-5 times faster
  60. - read: 50% faster
  61. - directoryscan: 10-20 times FFS, 3 times FFS-DC 
  62. - delete/rename/protect etc: 10-20 times faster
  63.  
  64. Other features
  65. - full AmigaDos compatibility
  66. - upto 10% more data on a disk
  67. - better faulttolerance
  68. - parralel access almost without performance loss
  69. - disks NEVER get invalidated
  70.  
  71.   Both double density and high density floppy disks are supported.
  72. This version of the filesystem also supports small harddisk
  73. partitions.  Partitions up to 31MB are supported.  A version for
  74. larger partitions is under development and will be available to
  75. registered users only.
  76.  
  77.  
  78.  
  79. System requirements
  80.  
  81.   PFS will work on any Amiga with kickstart 2.0 or higher.  It accepts
  82. both double- and highdensity diskdrives and RDB (Ridgit Disk Block)
  83. harddisks.  The amount of memory PFS uses depends on the contents of
  84. the disks present.  It will vary between 30 and 60K per floppy-drive
  85. and up to 300K for a harddisk partition.
  86.  
  87.  
  88.  
  89. 3. Installation
  90.  
  91.  
  92. Quick start
  93.  
  94.   If you want to try PFS first, just doubleclick on the "PF0" icon.
  95. "PF0:" now refers to PFS disks in drive 0.  Now proceed to chapter 4
  96. about formatting and using PFS disks.
  97.  
  98.  
  99. Installation on Workbench 2.0
  100.  
  101.   First you have to boot from your standard systemdisk or harddisk.
  102. Now execute the "install2.0" script by calling it from the shell or
  103. doubleclicking its icon.  This script will copy the filesystem to the
  104. l: directory of your systemdisk and add two entries to your
  105. mountlist, PF0:  and PF1:. 
  106.  
  107. To use the filesystem you have to mount it using the mount command:
  108.  
  109.     MOUNT pf0:
  110.     MOUNT pf1:
  111.  
  112. "PF0:" and "PF1:" now refer to PFS disks in drive 0 and 1. If you want
  113. to have PFS mounted on startup you should add these commands to your
  114. startup-sequence.
  115.  
  116.  
  117. Installation on Workbench 2.1/3.0
  118.  
  119.   First you have to boot from your standard systemdisk or harddisk.
  120. Now execute the "install3.0" script by calling it from the shell or
  121. doubleclicking its icon.  This script will copy the filesystem to the
  122. l:  directory of your systemdisk and put two files in your
  123. SYS:Storage/DOSDrivers directory called PF0 and PF1.  Doubleclicking
  124. their icons will mount the filesystem on the corresponding drive.
  125. "PF0:" and "PF1:" then refer to PFS disks in drive 0 and 1.  If you
  126. want to have PFS automaticly mounted on startup you can move the PF0
  127. and PF1 files to your Devs:DOSDrivers directory.
  128.  
  129.  
  130. Turbo users
  131.  
  132.   If you are the proud owner of a 68020+ machine you can, after
  133. installing the filesystem normally, replace the 68000 version in the
  134. l:  directory with the 68020+ version (you can find this in the l
  135. drawer). Make sure the name of the filesystem is the same as stated in
  136. the mountlist.  You can do that by renaming the filesystem in
  137. "ProfFileSystem" or by changing the mountlist.
  138.  
  139.  
  140. Making and changing mountlistentries
  141.  
  142.   If you have more than two drives, or you don't like the default
  143. devicenames, you can change the mountlistentries to suit your needs.
  144. Note that the "Buffers" keyword has no meaning with this version of
  145. the filesystem. Its merely added for future compatibility. Make sure
  146. that you set the "Unit" right. Please refer to the DOS manual for more
  147. details.
  148.  
  149.  
  150. Installing PFS on a harddisk partition
  151.  
  152.   Now you can install PFS on a harddisk partition.  Make sure you
  153. backup the partitions you're going to change!  The size of the
  154. partition should not exceed 32MB.  You can make such a partition with
  155. Commodere's HDToolbox, which is supplied with the Workbench software.
  156. With the same tool we can install PFS on the partition.
  157.  
  158.   Select 'advanced options' in the in the partitioning window.  A
  159. number of extra buttons appear among which 'add/update...' with which
  160. you have to add PFS.  Set the dostype field to '0x50465300' , version
  161. 9.5 and select ok.  After you have done that you can install PFS on
  162. the desired partition with the 'change...' button.  Use all the
  163. default options:  automount on, block size 512 (other sizes are not
  164. supported), 2 reservered blocks.  Now select ok and the partioning
  165. menu will appear again.  Go back to the main screen and save the
  166. changes.
  167.  
  168.   PFS should be installed on the partition now.  After formatting it's
  169. available for use.  If you've done something wrong and the computer
  170. doesn't startup properly you can prevent mounting with the boot menu.
  171.  
  172. Notes:
  173. -  PFS partitions are not bootable, so don't select 'bootable' in
  174.    HDToolBox.
  175. -  Every PFS device (including floppies) will use the version of PFS you
  176.    have installed in the RDB now.  So if there is an update, changing
  177.    l:proffilesystem is not enough, you have to update the RDB version too.
  178.    This can be done with HDToolBox too.
  179. -  A version for larger partitions is being worked on.
  180.  
  181.  
  182.  
  183. 4. Using PFS disks
  184.  
  185.  
  186. Formatting disks
  187.  
  188.   After mounting you can format floppies in PFS format by using the
  189. standard c:format command. To format a disk named "hello" type:
  190.  
  191. format drive pf0: name hello
  192.  
  193. If the disk has been formatted before, you can use the quick option,
  194. even if the previous format was FFS or OFS (this works the other way
  195. around too).
  196.  
  197. format drive pf0: name hello quick
  198.  
  199.  
  200. Accessing disks
  201.  
  202. Shell use:
  203.  
  204.   PFS disks can be referenced to by diskname (e.g.  "hello:") or by
  205. mountname (e.g.  pf0:  or pf1:).  Almost all cli-commands work on PFS
  206. disks like on any other disk, only faster.
  207.  
  208. Workbench use:
  209.  
  210.   When a PFS disk is inserted in drive 0 two icons will appear on your
  211. workbench:  one with label "DF0:PFS" and one with the diskname as
  212. label.  The first comes from the standard filesystem, the second from
  213. the PFS filesystem.  You can access the disk through the latter icon.
  214. It will behave just like df0:, only faster.
  215.  
  216.  
  217. Differences with FFS/OFS
  218.  
  219.   When you use the c:list command the 'blocks used' information will
  220. be to high.  The list command assumes every file consumes a block of
  221. free space to use as headerblock.  This filesystem uses blocks much
  222. more efficient, however.  As a rule of thumb you can say that the real
  223. number of blocks used is the given amount minus the number of files
  224. listed.  You can check this with the "info" command, which does give
  225. the correct amount.  Directory tools like Directory Opus have the same
  226. problem with their spaceleft figure during a copy session.  You'll
  227. notice that after copying is finished the figure will go up, back to
  228. the correct figure.
  229.  
  230.   You'll probably understand now that there generally goes more on a
  231. PFS disk than on a FFS disk. PFS uses a larger part of the blocks for
  232. actual data storage.
  233.  
  234.   Programs asking the filesystem information about a pfs disk will be
  235. fooled into believing the disk is a FFS disk.  I do this to prevent
  236. those programs from saying it's not a dos disk without giving the
  237. information requested to the user (e.g.  the "info" command).
  238.  
  239.   The "c:AddBuffers" command used on pfs devices won't have any
  240. effect on the cache, nor on memoryusage. PFS uses a dynamic directory-
  241. and allocationblock caching algorithm, without any cachelimits. This
  242. won't take too much memory (max about 30K), because the number of
  243. directoryblocks on a floppydisk is limited.
  244.  
  245.  
  246.  
  247. 5. AmigaDos compatibility
  248.  
  249.   All Amiga-Dos features are implemented except hardlinks, filechange
  250. notification and recordlocks which are not used much anyway.  All
  251. these features may be implemented in a future version, though.  A PFS
  252. disk currently cannot be made bootable, so a PFS disk cannot be
  253. "installed".
  254.  
  255.  
  256.  
  257. 6. Restrictions
  258.  
  259. PFS has the standard Amigados restrictions on file and disk naming:
  260.  
  261. - maximum disknamelength 32
  262. - maximum filenamelength 108
  263. - maximum commentlength 80
  264. - almost unrestricted characteruse in filenames
  265.  
  266. These restrictions are forced by AmigaDos, they are not inherent to
  267. the filesystem. The number of files in a directory or on a disk is
  268. restricted by available diskspace only.
  269.  
  270.  
  271.  
  272. 7. Faulttolerance
  273.  
  274.   If you reset or crash your machine during a write operation a
  275. standard AmigaDos disk gets 'invalidated'.  When you insert that disk
  276. later the disk will be revalidated automaticly.  After this the
  277. directory is back in the state it was before the writeoperation.  This
  278. actually is a neat feature, but it has two drawbacks:  revalidating
  279. takes time and, if you were overwriting a file at the time of the
  280. crash, you lose both the original and the new version, since the file
  281. has been half overwritten.  The directory states falsely that nothing
  282. happened, however.
  283.  
  284.   With PFS the directory is correct at all times.  This means that
  285. whenever you remove the disk ¹), reset or crash the system, all the
  286. objects (files and directories) listed in the directory will be there
  287. as stated in that directory, including the filesize and date.  In
  288. other words:  a PFS disk NEVER gets invalidated.  This does not mean
  289. you cannot lose any data, however.
  290.  
  291.   This is how it works:  when you operate on the disk (creating files
  292. and directories, deleting files etc) the filesystem keeps track of
  293. all changes to the directory but doesn't write these changes to the
  294. disk until the operation is completed.  It does write the data but
  295. only to clean areas, that is, diskspace that wasn't in use the last
  296. time the directory was updated.  If that's not possible anymore, or
  297. you stop writing to the disk for half a second, the directory is
  298. updated so that the area occupied by deleted files can be reused
  299. without invalidating the disk.  So if the machine brakes down at a
  300. nasty moment you will probably find the disk in the state it was
  301. before you started your writing session.  This includes overwritten
  302. files:  they'll be back in their old state, unless the free diskspace
  303. didn't allow it (only in that case both versions could be gone ²).
  304.  
  305.   The directory and allocationtables themselves are also updated in
  306. such a way that the disk cannot become invalidated.  So even a crash
  307. during the update won't invalidate the disk.
  308.  
  309.   An extra advantage of this procedure is that files that are
  310. overwritten by a larger version are not fragmented, as in most
  311. filesystems.  The file will be fragmented only when there is no large
  312. enough continuous free segment available.  A fragmented file is even
  313. defragmented if possible.
  314.  
  315.   Disadvantages are that the freespace on the disk gets more
  316. fragmented than strictly necessary and that the directory has to be
  317. updated more often.  PFS does everything it can to limit
  318. freespace-fragmentation as much as possible.
  319.  
  320.   A PFS disk normally cannot get invalidated but it can get corrupted.
  321. Nothing can be done against bad tracks on a disk or external programs
  322. (like virusses or diskeditors) that mess with the disk.  A read or
  323. write error makes a disk invalid.  There currently is no utility
  324. available to recover corrupted disks.
  325.  
  326.  
  327.   ¹) You should not remove the disk during an operation on purpose.
  328. If you do, you'll probably get a read/write error and a "You MUST
  329. insert volume xxx" request.  After this a "Not a dos disk" system
  330. request will appear.  Simply select retry and the operation will be
  331. continued.
  332.  
  333.   ²) If you want to make sure you can't lose a file by overwriting
  334. it you should keep in mind that the filesystem can only guarantee that
  335. if the free diskspace is more than the size of the old version + the
  336. size of the new version + 5K.  Then the directory will be updated
  337. after the new version has been written and not between deleting the
  338. old and writing the new version.
  339.  
  340.  
  341. Virus damage and viruskillers
  342.  
  343.   Bootblock virusses destroy the bootblock of the disk.  For this
  344. reason the filesystem doesn't store unrecoverable data in those
  345. blocks.  It does use the bootblock to recognize a disk as being a PFS
  346. disk, so if the bootblock is destroyed, the disk in question won't be
  347. recognized anymore.  To repair such a disk you simple have to write a
  348. PFS bootblock back to it.  You can do that by copying a bootblock of
  349. an uninfected disk to the disk in question.  Most viruskillers have
  350. functions to do that.  Remember not to change any blocks other than
  351. the bootblocks (block 0 and 1).
  352.  
  353.   Most viruskillers have no problem with PFS disks.  You should check
  354. if your viruskiller accepts uninfected pfsdisks as normal, however.
  355.  
  356.  
  357.  
  358. 8. Tools included
  359.  
  360. You can find some tools that can come handy with PFS in the tools
  361. directory.
  362.  
  363.  
  364.  
  365. 9. Programmers info
  366.  
  367. The file 'programmersinfo' contains information about the
  368. diskstructure of PFS. I encourage everyone who is interested to
  369. implement tools for PFS. I am quite occupied updating PFS itself, I
  370. don't have time left to spent implementing things like optimizers and
  371. recover tools. I will fully support any programming attemps. You can
  372. contact me anytime if there are any open questions or problems.
  373.  
  374.  
  375.  
  376. 10. Bugs
  377.  
  378. If you find something that doesn't function properly please let me know.
  379.  
  380.  
  381.  
  382. 11. Credits
  383.  
  384. Here I would like to thank everyone for their help and support.
  385.  
  386. Rougier Sylvian and Pierre Carrette for their numerous ideas and
  387. support from the very start.
  388.  
  389. Holger Kruse for his in depth Amiga knowledge.
  390.  
  391. Pavel Troller for helping develop a multiuser version (not yet
  392. finished).
  393.  
  394. Nicola Salmoria for his extensive betatesting and accurate
  395. suggestions. And for allowing me to include his excellent tool MFS
  396. in the PFS package.
  397.  
  398. Klaus Deppisch for helping bring his diskspare.device and PFS
  399. together.
  400.  
  401. Andreas Baum for translating the docs to German.
  402.  
  403. And all registered users for their support.
  404.  
  405.  
  406.  
  407. 12. Author
  408.  
  409. You can reach me at the following address:
  410.  
  411. Post: Michiel Pelt
  412.       Waalstraat 328
  413.       7523 RS Enschede
  414.       the Netherlands
  415.  
  416. E-Mail: pelt@cs.utwente.nl
  417.  
  418. Tel: (0031)-53-337227
  419.  
  420.  
  421.  
  422. 13. Registration
  423.  
  424.   If you like this product you should register. You will be the first
  425. to get the next major update.
  426.  
  427.   If you wish to make utilities for PFS, like undelete, optimize or
  428. repair, let me know if you need any help. I support all PFS related
  429. projects.
  430.  
  431.   The registration fee is as follows:
  432.  
  433.     cash: f30 Dutch Guilders, US $20, DM 30, £15, FF 100 or the equivalent
  434.           in another currency.
  435.     eurocheque: f30 Dutch Guilders. No other currencies.
  436.     money order: f50 Dutch Guilders. No other currencies.
  437.  
  438.   Please sent the completed registration form, which you can find in
  439. this directory, to:
  440.  
  441.         Michiel Pelt
  442.         Waalstraat 328
  443.         7523 RS Enschede
  444.         The Netherlands
  445.  
  446.   E-Mail address: pelt@cs.utwente.nl
  447.  
  448.   All registered users will get the PFS version 10 as soon as its
  449. ready. I expect this to be before the end of 1994. If there are any
  450. minor updates, they will be published on Aminet.
  451.  
  452.