Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: bart Newsgroups: comp.lang.c Subject: Re: [OSDev] How to switch to long mode in x86 CPUs? Date: Tue, 4 Mar 2025 20:27:43 +0000 Organization: A noiseless patient Spider Lines: 50 Message-ID: References: <871pvje5yq.fsf@onesoftnet.eu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 04 Mar 2025 21:27:42 +0100 (CET) Injection-Info: dont-email.me; posting-host="3a66dca0b51e8281c40f90343694f6ac"; logging-data="2129258"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Xh2GkPvHFxYCiFhGL3guZ" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:NtRCpnHsHDSfpSsm3i75VKdvZGo= In-Reply-To: Content-Language: en-GB Bytes: 3153 On 04/03/2025 18:31, Paul Edwards wrote: > "bart" wrote in message news:vq208q$re74$1@dont-email.me... >> On 02/03/2025 08:22, Paul Edwards wrote: >>> "Scott Lurndal" wrote in message >>> news:JdFwP.46247$SZca.36276@fx13.iad... >>>> "Paul Edwards" writes: >>>>> "David Brown" wrote in message >>>>> news:vprtt6$3jah9$1@dont-email.me... >>>>>> On 27/02/2025 16:57, Ar Rakin wrote: >>>>> >>>> >>>>> Do you consider the concept of a BIOS (as seen as the IBM PC), >>>>> "legitimate to use" >>>> >>>> In the abstract, possibly. But the last half century has >>>> shown that BIOS as an I/O abstraction layer was a bad idea >>>> from the start. >>>> >>>>> and do you consider MSDOS (which uses that >>>>> BIOS) to be an operating system? >>>> >>>> No, MSDOS was, is, will always be a simple program loader. >>> >>> Plus manages memory. >> >> How does it do that? I seem to recall that you got 640KB minus whatever >> the resident parts of the OS needed. > > Yes - and? Then you need to manage that memory, so you > need a memory manager, which MSDOS provides. It's not > trivial to write/debug one of those either. > > I'm not sure what your question is exactly, so I'll include code > to call the interrupt (21H AH=48H) you need to obtain memory. I was questioning whether MSDOS provided means to manage memory, since I don't recall anything like that. My programs handled their own memory as they did most other things. This 0x48/48H syscall is new to me. (But it also looks like something it wouldn't use anyway, since it appears to work like malloc in storing the allocated size. That's something I would never need, and would be wasteful with the limited memory available. Because I will either know the fixed size of the object I want to freed, or would need to keep a record of it anyway if it's more dynamic.)