Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: Lynn Wheeler Newsgroups: alt.folklore.computers Subject: Re: CMS, Self-hosting and the 6502 Date: Mon, 06 Apr 2026 07:39:18 -1000 Organization: Wheeler&Wheeler Lines: 45 Message-ID: <875x64ugxl.fsf@localhost> References: <10qehuo$2nu4m$1@dont-email.me> <87h5pqwd5j.fsf@localhost> <10qs7og$129km$4@dont-email.me> <10qt6h6$19mab$1@dont-email.me> <10qucqd$cs9$2@gal.iecc.com> <10qv31u$1l5fk$3@paganini.bofh.team> <10qv7t7$1re07$2@dont-email.me> <10qvlrb$1uf62$2@dont-email.me> <10r0g2r$25l0l$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Mon, 06 Apr 2026 17:39:21 +0000 (UTC) Injection-Info: dont-email.me; posting-host="5a5b7f1cc9e89257f9f881ec8e8a482f"; logging-data="2400310"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18QJkePJgEhuG2MlqpPVVp5zWQKkrhSuoo=" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:n5qcjBjdE2GvnT6kLq6Cj06P6Ig= sha1:YH2Z77Q64Gw1U4f+w6M4+SNZuvw= Xref: csiph.com alt.folklore.computers:234632 Peter Flass writes: > 360 was all position-independent. In theory there were no absolute > addresses, everything was base-displacement. Change the base register > and Bob's your uncle. Unfortunately there were a couple of gotchas, > address constants being the worst. Also the small range of addresses > available from a single base became limiting as programs got larger. OS/360, etc ... large programs required addresses ... on disk the addresses were relative to position within the program ... but loaders were required to modify the addresses to fixed real addresses in real storage. tss/360 and support for multiple virtual memory address spaces and shared segments wanted the image in memory be exactly the same as the image on disk ... w/o requiring all addresses to be modified as the whole program was swapped into real memory ... but allowing for demand paged in w/o requiring for executable images to be preloaded (and addresses modified for their loaded position). Also not requiring for shared segments to have the same addresses in different virtual addresses spaces. OS/360 MVT in transition to VS2/MVS kept the OS/360 preloading/swapping in executable image and changing location addresses (making the affected pages of the executing image changed). TSS/360 just mapped portions of the virtual address space to the executable image on disk ... and in case of shared segments could just change segment table pointer to that of same shared segment concurrently in use by multiple other virtual address spaces. W/o location independence and requiring executable image to be otherwise preloaded to have address constants to be modified to their executing position ... would have required every executing program image to have unique address across the whole system (or have restricted only have certain executables to be concurrently mapped into the same address space). That is what got me providing page-mapped filesystem for CMS ... and CMS was using OS/360 compilers and assemblers which assumed address constants had to be modified as executables were loaded (had to fiddle the programs so the executables images on disk were identical to the same as executable images mapped to virtual address spaces). -- virtualization experience starting Jan1968, online at home since Mar1970