Live data from Hacker News

640k Really Is Enough for Anyone

blog.sourcerer.io

61–70 of 100 posts

Re: 640k Really Is Enough for Anyone

#61

Earlier quoted context omitted.

> How old are you? Let me just guess; not old enough to have experienced living/working in tech while Bill was doing his thing Please no ad hominem attacks, focus on what I said, not how old I am. But if it matters to you, I wrote my first lines of code in 1979 on an Apple ][ and I've lived through the exact same times you did. I find little point in speculating on what could have happened that didn't, I focus on rea…

It wasn't an attack (heck, wtf, I was just asking your age, maybe stop over-dramatizing?); I was trying to find out if you had some sort of personal experience or was just parroting the newer reddit hivemind.

What you did is the text book definition of an ad hominem attack: undermining someone's argument by attacking their character instead of addressing what they said.

Re: 640k Really Is Enough for Anyone

#62
post #51

Earlier quoted context omitted.

Guess: it was perpetuated because lots of tech people hated him and what he did to the industry and to computing progress in general. He has since gotten way, way better PR handling though. Just look at the way Reddit absolutely adores him nowadays (he's done lots of very carefully managed AMAs). Heck, even on HN there's enough young people who have no idea how much this one individual repressed computing progress ov…

I’m a child of the eighties, I grew up in the nineties, I remember waiting in line for my boxed copy of Windows 95 one August night in 1995, I remember ruling at Microsoft’s antitrust case (as related in WIRED), I remember how Slashdot featured an icon of Bill Gates with Borg add-one, but... I absolutely love the guy now and wish he would run for President (I am not American, just terrified).

Do you at all remember any market abuse, or do you only remember the good stuff?

(Is this an attack? I can't tell any longer.)

Re: 640k Really Is Enough for Anyone

#63
post #4

Great article about using FreeDOS. However, the title is misleading because the article is not really addressing that specific claim.

Sure - but I think the title is referencing the fact that 640K is the minimum required for a basic DOS system to run. Using that system you can write code for fun that would by definition fit in 640K.

The minimum memory that IBM offered in the original PC was the 16KB my first PC came with. I upgraded it to 64K right away, but DOS certainly ran in the 16K configuration.

Re: 640k Really Is Enough for Anyone

#64
post #5

DOS is only "real time" if you don't do disk I/O. Disk I/O is synchronous. There's something to be said for using FreeDOS simply as a loader for a real-time control program. It's not doing anything in the background. There's no networking stack. There's no way to attack it without physical access.

Disk I/O being synchronous doesn't disqualify it from being real time. Disk I/O not having a bounded execution time would make it not real time.

Filesystem IO through DOS APIs does not have bounded execution time by design (it can even cause user interaction, ie. the infamous "Abort, Retry, Ignore?"). On the other hand the timing is pretty consistent in non-error situations.

Also synchronous (and also often non-preemptible) disk/FS IO was for the long time the only way it was done. For example the reason that on Linux process that got stuck accessing NFS or removable drive that got removed was unkillable (in 'D' state) was to preserve illusion of such semantics to user processes (ie. that IO to filesystem and block devices will never fail with EINTR). And I would not be surprised if many deeply-embedded RTOSes do the same to this day.

Re: 640k Really Is Enough for Anyone

#65
post #19
post #12

Bill Gates never said "640k ought to be enough for anybody." https://www.computerworld.com/article/2534312/operating-syst...

Why does this myth keep getting pushed - by tech people no less? Bill Gates emphatically denied ever saying it and no one has ever come forward with a scrap of evidence he actually said it.

I don't think the (most charitable use of the) quote depends on whether Bill Gates specifically said it. The point is, variously:

- To emphasize that the definition of "a lot of [computational resource X]" changes over time.

- That people previously had to do a lot of similar computational tasks with a lot less (which this article is making use of).

With that said, I agree that he shouldn't be asserted as the author of the quote like it's a fact, but that just means you should quote it as "attributed to Bill Gates".

Re: 640k Really Is Enough for Anyone

#66
post #9

If you are looking for a truly minimalist OS for your PC, DOS is for you. I have a warm feeling when I try to imagine an HPC compute node running DOS instead of a fat OS with all the overhead that comes with it. I know, it sounds like a pipe dream, but wouldn't it be nice if there was something like DOS that is natively 64-bit and also supports multiprocessing and multithreading - basically, something that turns a ma…

One problem in these days is drivers.

There was a glorious period of the DOS days, when:

* all sound cards had a mode compatible with SoundBlaster or at least AdLib cards;

* all Ethernet cards had a mode compatible with NE2000 cards;

* all video cards had EGA/VGA/VESA compatibles modes.

So that defined an informal standard for PC/DOS. Your programs just needed to support these and you could get a working system (even if you didn't have specific driver to use the full power of the specific card).

Nowadays, if you try installing DOS on a current machine, you won't be able to get your games to play sound, nor to connect to your LAN. Video cards still seem to honour VESA standards (however only old ones, with old resolution, there was no VESA update to support modern resolutions), but for how long?

I hit that reality when I tried to install DOS on two machines a few months ago. Then you fetch old Ethernet or sound cards from dusty boxes in the attic and... there is no ISA (or even PCI) slot on your motherboard, damned!

And modern chips have ditched the compatibility layer with older chips :-(

And of course, it has been a while since manufacturer stopped providing DOS drivers for their specific chips.

Re: 640k Really Is Enough for Anyone

#67

Earlier quoted context omitted.

It wasn't an attack (heck, wtf, I was just asking your age, maybe stop over-dramatizing?); I was trying to find out if you had some sort of personal experience or was just parroting the newer reddit hivemind.

What you did is the text book definition of an ad hominem attack: undermining someone's argument by attacking their character instead of addressing what they said.

Today I learned: Asking someone their age is equivalent to doing an ad hominem attack.

Re: 640k Really Is Enough for Anyone

#68

I love the idea that there's still an active community developing for old hardware. Specially on videogames since many times they apply modern design ideas in very old hardware. As a dumb example I saw a platformer for the ZX spectrum not long ago, where the falling speed was not linear but accelerated, which may seem trivial now but back then was something really unusual and I didn't realized how big was the differe…

For the Amstrad CPC too. There are a number of production and events every year.

The article mentions coding in C++ (which, except for the 64kB is enough to run non trivial programs written in modern C.

(Disclosure: I wrote it:) A cross-development environment with a thin and clean C API to the original assembly-level firmware interface of the Amstrad CPC.

https://github.com/cpcitor/cpc-dev-tool-chain and a puzzle game to exercise the whole thing https://github.com/cpcitor/color-flood-for-amstrad-cpc

Do git clone ; configure ; make run and it runs.

Re: 640k Really Is Enough for Anyone

#69
post #16
post #4

Earlier quoted context omitted.

Sure - but I think the title is referencing the fact that 640K is the minimum required for a basic DOS system to run. Using that system you can write code for fun that would by definition fit in 640K.

Probably not this. 640k was actually the maximum amount of memory available for a user's DOS applications on an IBM PC or clone. There were many PC's sold that had only 64k of use-accessible RAM. It was only in later years, as memory got cheaper (and apps "ballooned") that machines maxed out at the 640k limit. With the 16-bit system the actual CPU-addressable limit was 1024kb (or 1MB), but the difference was reserved…

640k is not maximum available to applications, but the maximum amount of RAM that would fit into PC, restof the 1MB address space was reserved for ROMs and memory mapped IO.

No dos commands were normally part of ROM. In fact even command.com was designed such that large part of it could be thrown away if additional memory was required and then reloaded from disk when user program terminated (this was implemented by relocating the "transient" part onto the end of usable address space and detecting whether it was overwritten by user programs). Larger DOS file managers usually use similar approach, but simpler: the UI is implemented by separate binary that simply records what the user wants to run somewhere and then exits passing control to small stubbinary that starts requested program and restarts the UI when the program ends.

Edit: MS-DOS 2.0's command.com detects that the transient part was overwritten by means of single byte checksum. The reason why it is done in this somewhat hackish way is that DOS allocates all of the available memory for most MZ EXE programs regardless of how many they actually use (MZ header specifies minimum and maximum amount of unitialized memory needed, with no maximum being the default).

Re: 640k Really Is Enough for Anyone

#70
post #5

DOS is only "real time" if you don't do disk I/O. Disk I/O is synchronous. There's something to be said for using FreeDOS simply as a loader for a real-time control program. It's not doing anything in the background. There's no networking stack. There's no way to attack it without physical access.

I've searched a while for an IBM-compatible RTOS that gives your application direct access to the hardware. There are better alternatives than FreeDOS.

A glaring omission is access to long mode. There's no DPMI for long mode. You can knock the PC into long mode, but DOS calls are no longer accessible in any fashion.

Post reply on HN