Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!apple!mips!excelan!sjsumcs!33014-18 From: 33014-18@sjsumcs.sjsu.edu (Eduardo Horvath) Newsgroups: comp.sys.amiga.tech Subject: Re: DMA in VM Message-ID: <1989Dec4.154624.22658@sjsumcs.sjsu.edu> Date: 4 Dec 89 15:46:24 GMT References: <14059@grebyn.com> <839@tardis.Tymnet.COM> Reply-To: 33014-18@sjsumcs.SJSU.EDU (Eduardo Horvath) Organization: San Jose State University Lines: 49 In article <839@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes: >In article <14059@grebyn.com> ckp@grebyn.UUCP (Checkpoint Technologies) writes: >> Oh, and it would be a dirty shame if programs weren't able to >>allocate virtual memory for their disk buffers, IMHO. It would make >>virtual memory less useful. My turn to put in my $.02. What do you need virtual disk buffers for? I thought that the whole idea of DMA was to read data directly where it was needed and do byt twiddling there, instead of reading into buffers and copying it, like non-dma. Swapping disk buffers in and out of RAM is a waste of bandwidth. You need buffers to read and write the buffers from! [...] >On a good implementation of VM, the OS provides support so that program can >be fully aware of paging to and from the disk. In this case, programs do >not allocate virtual memory for disk buffers. Instead, they allocate virtual >pages to be mapped to disk pages. Nice idea, but wouldn't it be a little complicated? Wouldn't you need to design your OS from scratch in such a way as to make files and virtual RAM identical? [...] >Summary: A good implementation of VM makes the concept of "disk buffers" >obsolete. I heartily agree. >Existing programs still work, but don't get the same performance >as programs that have been rewritten to take advantage of the VM system. I think the OS should be handling this mess. The language you are writing in should not need to deal with buffers at all, or if the language needs buffers, like the stdio library, they should be allocated from mappable memory. But I don't think that the stdio library should be part of the language. The OS has the best knowledge about how to optimize disk IO, so it should handle the buffering. > >-- >Joe Smith (408)922-6220 | SMTP: JMS@F74.TYMNET.COM or jms@gemini.tymnet.com >BT Tymnet Net Tech Serv | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms >PO Box 49019, MS-D21 | PDP-10 support: My car's license plate is "POPJ P," >San Jose, CA 95161-9019 | humorous dislaimer: "My Amiga speaks for me." Try: 33014-18@sjsumcs.SJSU.EDU | Disclaimer: Eduardo Horvath | I have no idea what I'm talking about