Xref: utzoo comp.sys.mac:27527 comp.sys.mac.programmer:4809 Path: utzoo!attcan!uunet!lll-winken!ames!pasteur!ucbvax!hplabs!well!brecher From: brecher@well.UUCP (Steve Brecher) Newsgroups: comp.sys.mac,comp.sys.mac.programmer Subject: Re: Changing max. no. of files open at one time under Mac OS Message-ID: <10849@well.UUCP> Date: 28 Feb 89 00:07:10 GMT References: <2054@pembina.UUCP> <8219@polyslo.CalPoly.EDU> <331@lloyd.camex.uucp> <1329@ccnysci.UUCP> Reply-To: brecher@well.UUCP (Steve Brecher) Organization: Software Supply, Sunnyvale, CA Lines: 30 In article <1329@ccnysci.UUCP>, alexis@ccnysci.UUCP (Alexis Rosen) writes: > Something *VERY* screwy is going on here. I just looked at the boot blocks on > my two and they unquestionably say, ten open files. Well, that's a little > weird. See, I'm running MultiFinder. And when I work, I usually have the > Finder, Word, FoxBase, and sometimes ResEdit and LSP all open at once. In > Foxbase alone I can have twenty or thirty files open at once. The number in the boot blocks is multiplied by 4 prior to use, so you have 40 FCBs. The quadrupling is for historical reasons; on 128K Macs, the number was used verbatim. Other posts have asked about the cost of increasing the number in the boot blocks. The RAM cost is currently 94 bytes per FCB. The FCB table is allocated in the system heap by ROM startup code. The maximum number of FCBs that is currently possible is 348 (boot blocks value of 87), since the size of the FCB table must be less than 32K. > That does bring up another question though- what does the file system do > about open data forks? Does it just allocate the buffer (if you don't > allocate your own) and other stuff on the system heap? What gives? Data and resource forks are more or less the same to the file system. No buffers are allocated upon opening a file; if the caller doesnUt specify his own buffer, the volumeUs buffer is used for file I/O. The volume buffer is allocated in the system heap when the volume is mounted. -- brecher@well.UUCP (Steve Brecher)