4 ms·
didn't go too deep on the code spelunking, but v7 Unix (and 2BSD) used 'swapping' rather than paging, where the whole process was moved in/out of RAM, 32V (32bi
by cat199 6y ago
didn't go too deep on the code spelunking, but v7 Unix (and 2BSD) used 'swapping' rather than paging, where the whole process was moved in/out of RAM, 32V (32bit v7 for the vax by AT&T) kept this, 3BSD (32V++ in a way) added paged memory, and this was reworked in 4.3BSD (see 44doc newvm), Mach VM, etc.
can confirm SEGV is in v7 signal.h from 1979:
https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/signal.h https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/si...
where it is happily #defined as 11, and continues as such to this day:
https://github.com/freebsd/freebsd/blob/master/sys/sys/signal.h https://github.com/freebsd/freebsd/blob/master/sys/sys/signa...
(etc, in the other BSD-derived systems)
if anyone wants to dig further.
- necovek 6y agoWhen I played with IA32 in assembly, I think it was possible to swap segments in and out as well (you could order actual printed IA32 books from Intel for free, which was great for a high-school student in Serbia in late 1990s ;)). It was a long time ago, so maybe I am misremembering things. Thus, I always considered "paging" a shorthand for "swapping of memory pages".
- kazinator 6y agoThe term "swapping" originally comes from the multiprogramming technique of exchanging an entire program in memory, and its data, for another program and its data (without any virtual memory support).