Path: utzoo!utgpu!water!watmath!clyde!bellcore!rutgers!rochester!pt.cs.cmu.edu!b.gp.cs.cmu.edu!Ralf.Brown@B.GP.CS.CMU.EDU From: Ralf.Brown@B.GP.CS.CMU.EDU Newsgroups: comp.lang.c Subject: Re: No fork() in MSC5.0, help... Message-ID: <22e9c44a@ralf> Date: 24 Jul 88 11:04:42 GMT Sender: netnews@pt.cs.cmu.edu Lines: 19 In-Reply-To: <1112@nusdhub.UUCP> In article <1112@nusdhub.UUCP>, rwhite@nusdhub.UUCP (Robert C. White Jr.) writes: }I think you are missing one small point here. "COMMAND.COM" is the }MS-DOS shell. If you write something to replace it, you must }*include* a loader of you own in the text of your shell. If you }look up the dos function call which loads programs, you will find }that it invokes the shell (e.g. command.com) to do the loading. That is only true of DOS 1.x and PC-DOS 2.x. MS-DOS 2.x and MS/PC-DOS 3.x have the loader in the kernel. PC-DOS 2.x doesn't invoke COMMAND.COM, it just happens that COMMAND.COM intercepts INT 21h and branches to a second transient portion containing the 1K or so of code to do the loading. That's why PC-DOS 2.x requires COMMAND.COM to be present, as the loader code may have to be read in from the COMMAND.COM file on disk. -- UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf -=-=-=- Voice: (412) 268-3053 (school) ARPA: ralf@cs.cmu.edu BIT: ralf%cs.cmu.edu@CMUCCVMA FIDO: Ralf Brown 1:129/31 Disclaimer? I |Ducharm's Axiom: If you view your problem closely enough claimed something?| you will recognize yourself as part of the problem.