Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!qantel!ihnp4!inuxc!pur-ee!uiucdcs!uiucuxc!hamilton From: hamilton@uiucuxc.CSO.UIUC.EDU Newsgroups: net.micro.amiga Subject: Re: ASDG recoverable ramdisk (review of Message-ID: <148600142@uiucuxc> Date: Thu, 18-Sep-86 15:24:00 EDT Article-I.D.: uiucuxc.148600142 Posted: Thu Sep 18 15:24:00 1986 Date-Received: Sat, 20-Sep-86 23:51:27 EDT References: <167@picuxa.UUCP> Lines: 32 Nf-ID: #R:picuxa.UUCP:167:uiucuxc:148600142:000:1652 Nf-From: uiucuxc.CSO.UIUC.EDU!hamilton Sep 18 14:24:00 1986 >Wait a second...it DOESN'T use AllocMem()? Then it CANT be compatible. compatible with what? it sounds like it uses Allocate() (which is what AllocMem() uses). >Consider what happens if an interrupt routine wants to write to a file, >and writes out to this ram disk. THERE IS NO GUARANTEE THAT AllocMem()'s >DATA WILL BE CONSISTENT. The Ram disk looks at inconsistent data, grabs >memory that may be returned by AllocMem, presto! hey, that's not unique to ASDG's ramdisk driver. the AmigaDos ram-handler would be just as susceptible. >This obviously means that the Ram: disk cannot work during interrupts, >but it has no way to tell if its caller was working from an interrupt >routine or not. And there is no problem with writting to disk files >during an interrupt routine. have you actually tried doing disk i/o in an interrupt routine?! i wouldn't... even if it were "safe", other interrupts could get fouled up while you're waiting for such a slow process to complete. you're concerned that the memory list may be in an unstable state when the interrupt occurrs; suppose the disk device's message list is likewise unstable at the time you send an i/o request? if i wanted to do i/o from an interrupt, i'd use a second, "soft" interrupt routine, and have the hardware interrupt Cause() the soft one. the soft interrupt would live in normal tasking space. wayne hamilton U of Il and US Army Corps of Engineers CERL UUCP: {ihnp4,pur-ee,convex}!uiucdcs!uiucuxc!hamilton ARPA: hamilton%uiucuxc@a.cs.uiuc.edu USMail: Box 476, Urbana, IL 61801 CSNET: hamilton%uiucuxc@uiuc.csnet Phone: (217)333-8703 CIS: [73047,544] PLink: w hamilton