If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
|
Thread Tools | Rate Thread | Display Modes |
#16
|
|||
|
|||
Windows in Decline
On 4/1/2018 3:07 PM, Paul wrote:
mike wrote: Change the keyboard. Does it still work? Change the display. Does it still work? Change the ram quantity and format. Does it still work? Change the CD hardware. Does it still work? Load the CD into a PC with a CPU by a different vendor. Does it still work? See a pattern here? Looks like modular and standardized to me. I concede that memtest86+ is a program that actually tests the memory and reports the results thru the "OS" onto the display. If you unplug the BIOS chip, the memory doesn't get tested. No pattern of bits on the CD will fix that. If I had a JIT compiler, to generate a "program" for your set of hardware, I could cover off those variations. When I wrote code for the computer I built, do you think there were any "drivers" ? There was no ring0 and ring3 (processor didn't support it). All I had to do was go to certain magic addresses and write to registers to make things happen. That's because everything I did on the machine, was a monolithic program containing all of the knowledge needed to make it work. Video cards have a "config ROM" on them, it's executable code, and it brings the card into alignment with a VESA standard (a frame buffer at a known address, or with address pointers stored in a standard place). That's an example of distributing the "program" design, such that the code I'd need to write on my end, simply makes a call to whatever the VESA code had set up. The VESA standard has no BITBLT, no 2D or 3D acceleration, and gives just enough capability so you can draw on a screen. THe CRT5027 in my system, was very similar to that. No acceleration, Just a frame buffer. And when writing to it, all the locations needed were fixed for the duration of any code running at the time. When I did an Ethernet card at work, it was an "intelligent" card and had its own processor. Well, how much of an OS did that have ? None at all. It had 3KB of code, a polling loop (looked for the command flag incoming), and it had one level of interrupts. If a packet showed up on the network, the processor would take a FIRQ and the incoming packet could then be handled. You can build fixed-function things without a lot of fuss. And they can actually be made to do useful things. You certainly can. The nit being picked is whether executing memtest86+ off a CD on a PC is done without an OS. I claim that there IS an OS involved, no matter how crude. Modular and Standardized by your definition. Without that OS, there's no path for the bits on the CD to get to the processor for execution. There's nothing that you can write in that program on CD to make it happen. The OS presents whatever is on the CD in the correct format to the processor for execution. I doubt that memtest86+ has any capability to directly write a frame buffer, or turn on the display backlight or scan the keyboard on a USB-connected keyboard. It relies on standardized modular functions built into the OS. Paul |
Ads |
|
Thread Tools | |
Display Modes | Rate This Thread |
|
|