An End to High Memory?
lwn.net
lwn.net
Somehow they had no idea, git certainly did though.
Every developer knew this though, as no editor handled this out of the box. (Vim has a simple setting to enable this, but for some reason it is not on by default)
I've encountered some very old files using LFCR instead of the more modern CRLF.
LF CR did surface briefly in the early days of PC’s, I can’t remember where, but before the days of “glass teletypes” you learned very quickly not to do that. Adding a couple of NULs to let the print head settle down was sometimes necessary if you really wanted clean print.
And I mean, why are any code editors on Windows saving with ^M endings?!
Because otherwise, when you open the file on Notepad, it shows up as a single long line (other text editors tend to be smarter and understand both kinds of line endings).
https://devblogs.microsoft.com/commandline/extended-eol-in-n...
https://devblogs.microsoft.com/commandline/extended-eol-in-n...
I feel like every now again I still open some file with ^M characters in it.
Yep. Never owned a typewriter and I never understood why CR/LF was a "newline" until I saw a youtube video showing the "CR" and "LF" of a typewriter. Then it all made sense.
Also, the fact that unix uses LF and windows uses CR/LF added to the confusion as well.
And old Macs used CR. And some very rare old OSes used LF/CR!
And then there's the practice on Unix of treating page feed as a scroll pause in pagers — I don't believe that I've seen that elsewhere.
So much for a standard code for information interchange! Don't even get me started about the file, group, record & unit (i.e., field) separators …
I have no idea if overtyping (ie a CR without a LF) was ever used but surely the terminal line replacement use of CR didn’t exist when Unix was created
Even for young architecture such as RISC-V, it is obvious that 64 bit dominates. But rv64gc is much larger than rv32gc in terms of gate count. Maybe it will be a battle between not-yet-exist rv64e and rv32*?
Many or all of those features are not present in the published design wins for RISC-V.
This is indeed a great write-up. Some old lessons I had forgotten:
Physical memory needs to be mapped by a kernel data structure. As typical DRAM configurations grew, this map itself necessarily became large enough to limit the 1GB dedicated to kernel on 32-bit systems. So a subset was directly mapped, and the rest -- the "high memory" -- was mapped by a secondary structure.
If I'm reading this right.