Relocation (computing): Difference between revisions

Content deleted Content added
m avoid unnec redirect
Further reading: improved ref
Line 74:
* {{cite magazine |title=Relocatable Object Code Formats |author-first1=Carol Anne |author-last1=Ogdin |author-first2=Neil |author-last2=Colvin |author-first3=Tom |author-last3=Pittman |author-first4=Philip |author-last4=Tubb |series=Technical Forum |magazine=[[BYTE]] - the small systems journal |publisher=[[Byte Publications, Inc.]] |publication-place=Peterborough, New Hampshire, USA |volume=2 |number=11 |date=November 1977 |id=ark:/13960/t59c88b4h, ark:/13960/t3kw76j24 |pages=198–205 |url=https://archive.org/details/byte-magazine-1977-11-rescan/page/n199/mode/1up |access-date=2021-12-06}} (8 pages) (NB. Describes a [[Technical Design Labs Relocable Object Module Format|relocatable hex format]] by [[Technical Design Labs|TDL]].)
* {{cite journal |author-first=Gary Arlen |author-last=Kildall |author-link=Gary Arlen Kildall |title=A simple technique for static relocation of absolute machine code |journal=[[Dr. Dobb's Journal of Computer Calisthenics & Orthodontia]] |publisher=[[People's Computer Company]] |volume=3 |issue=2 |id=#22<!-- |number=22 --> ark:/13960/t8hf1g21p |date=February 1978 |orig-date=<!-- November -->1976 |pages=10–13<!-- in the issue --> (66–69<!-- in the volume -->) |isbn=0-8104-5490-4<!-- of the volume --> |url=https://archive.org/details/dr_dobbs_journal_vol_03/page/n67/mode/1up |access-date=2017-08-19}} [https://web.archive.org/web/20170819141800/http://www.retrotechnology.com/dri/d_dri_refs.html][https://web.archive.org/web/20170819173516/http://archive.computerhistory.org/resources/access/text/2016/12/102762506-05-01-acc.pdf][https://archive.today/20170909091943/https://groups.google.com/forum/%23!msg/comp.os.cpm/TLHgIi16yTo/gupNB1ai8UQJ#!topic/comp.os.cpm/TLHgIi16yTo]. Originally presented at: {{cite conference |title=Conference Record: Tenth Annual Asilomar Conference on Circuits, Systems and Computers: Papers Presented November 22–24, 1976 |editor-first=Harold A. |editor-last=Titus |chapter=A Simple Technique for Static Relocation of Absolute Machine Code |author-first=Gary Arlen |author-last=Kildall |journal=Asilomar Conference on Signals, Systems & Computers |author-link=Gary Arlen Kildall |<!-- written-at -->___location=[[Naval Postgraduate School]], Monterey, California, USA |publisher=Western Periodicals Company |publication-place=Asilomar Hotel and Conference Grounds, Pacific Grove, California, USA |date=1977 |orig-date=22–24 November 1976 |issn=1058-6393 |pages=420–424 |url=https://books.google.com/books?id=cyBGAQAAIAAJ&q=relocation |access-date=2021-12-06}} (609 pages). (This "resize" method, named ''page boundary relocation'', could be applied statically to a [[CP/M-80]] disk image using {{ill|MOVCPM|pl|MOVCPM (CP/M)}} in order to maximize the [[Transient Program Area|TPA]] for programs to run. It was also utilized dynamically by the CP/M debugger [[Dynamic Debugging Tool]] (DDT) to [[self-relocation|relocate itself]] into higher memory. The same approach was independently developed by [[Bruce H. Van Natta]] of [[IMS Associates]] to produce relocatable [[PL/M]] code. As ''paragraph boundary relocation'', [[Self-relocation#Ref-Paul-2002-Drivers|another variant]] of this method was later utilized by dynamically [[high memory area|HMA]] self-relocating [[Terminate-and-stay-resident program|TSRs]] like [[KEYB (DOS command)|KEYB]], [[SHARE (DOS command)|SHARE]], and [[NLSFUNC (DOS command)|NLSFUNC]] under [[DR DOS&nbsp;6.0]] and higher. A much more sophisticated and [[byte alignment|byte-level granular]] method based on a somewhat similar approach was independently conceived and implemented by Matthias R. Paul and Axel C. Frinke for their [[dynamic dead-code elimination]] to dynamically minimize the runtime footprint of resident drivers and TSRs (like FreeKEYB).)
* {{cite newsmagazine |title=unknownRelocatable Code |editorauthor-first=SolRichard H. |editorauthor-last=LibesMossip |___location=Bloomingdale, New Jersey, USA |publisher=Libes Inc. |publication-place=Mountainside & Springfield, New Jersey, USA |newspapermagazine=[[S-100 Micro Systems]] |volume=1 |number=5 |date=1980–1981September–October 1980 |issueid=ark:/13960/s2qdm1t01nr |pagepages=5454–55 |url=https://booksarchive.google.comorg/details/v1n5_20230524/books?id=vEosAQAAIAAJ&q=page+boundary+relocation/54/mode/1up |access-date=20212023-1211-0627}} (2 pages)
* {{cite web |title=Legacy of Gary Kildall: The CP/M IEEE Milestone Dedication |author-first1=Robert |author-last1=Huitt |author-first2=Gordon |author-last2=Eubanks |author-link2=Gordon Eubanks |author-first3=Thomas "Tom" Alan |author-last3=Rolander |author-link3=Thomas Alan Rolander |author-first4=David |author-last4=Laws |author-first5=Howard E. |author-last5=Michel |author-first6=Brian |author-last6=Halla |author-first7=John Harrison |author-last7=Wharton |author-link7=John Harrison Wharton |author-first8=Brian |author-last8=Berg |author-first9=Weilian |author-last9=Su |author-first10=Scott |author-last10=Kildall |author-link10=Scott Kildall |author-first11=Bill |author-last11=Kampe |editor-first=David |editor-last=Laws |date=2014-04-25 |___location=Pacific Grove, California, USA |type=video transscription |id=CHM Reference number: X7170.2014 |publisher=[[Computer History Museum]] |url=https://archive.computerhistory.org/resources/access/text/2014/06/102746909-05-01-acc.pdf |access-date=2020-01-19 |url-status=live |archive-url=https://web.archive.org/web/20141227142045/http://archive.computerhistory.org/resources/access/text/2014/06/102746909-05-01-acc.pdf |archive-date=2014-12-27 |quote=[…] Laws: […] "dynamic relocation" of the OS. Can you tell us what that is and why it was important? […] [[Gordon Eubanks|Eubanks]]: […] what [[Gary Arlen Kildall|Gary]] did […] was […] mind boggling. […] I remember the day at the [[Naval Postgraduate School|school]] he came bouncing into the lab and he said, I have figured out how to relocate. He took advantage of the fact that the only byte was always going to be the [[high order byte]]. And so he created a [[bitmap]]. […] it didn't matter how much memory the computer had, the operating system could always be moved into the high memory. Therefore, you could commercialize this […] on machines of different amounts of memory. […] you couldn't be selling a 64K [[CP/M]] and a 47K CP/M. It'd just be ridiculous to have a hard compile in the addresses. So Gary figured this out one night, probably in the middle of the night thinking about some coding thing, and this really made CP/M possible to commercialize. I really think that without that relocation it would have been a very tough problem. To get people to buy it, it'd seem complicated to them, and if you added more memory you'd have to go get a different operating system. […] [[Intel]] […] had the [[little-endian|bytes reversed]], right, for the memory addresses. But they were always in the same place, so you could relocate it on a [[256 byte boundary]], to be precise. You could therefore always relocate it with just a bitmap of where those […] Laws: Certainly the most eloquent explanation I've ever had of dynamic relocation […]}} [https://ethw.org/Milestones:The_CP/M_Microcomputer_Operating_System,_1974][https://www.youtube.com/watch?v=HO6IPpL0y8g] (33 pages)
* {{cite journal |title=CP/M 2 lernt dazu. Modulare Systemerweiterungen auch für das 'alte' CP/M |language=de |type=part 1 |author-first1=Eckhard |author-last1=Lieber |author-first2=Thomas |author-last2=von Massenbach |journal=[[c't - magazin für computertechnik]] |publisher=[[Heise Verlag]] |date=1987 |volume=1987 |issue=1 |pages=124–135 |postscript=;}} {{cite journal |title=CP/M 2 lernt dazu. Modulare Systemerweiterungen auch für das 'alte' CP/M |language=de |type=part 2 |author-first1=Eckhard |author-last1=Lieber |author-first2=Thomas |author-last2=von Massenbach |journal=[[c't - magazin für computertechnik]] |publisher=[[Heise Verlag]] |date=1987 |volume=1987 |issue=2 |pages=78–85 |postscript=;}} {{cite web |title=RSM für CP/M 2.2 |language=de |date=2016-10-09 |author-first=Alex |author-last=Huck |work=Homecomputer DDR |url=http://hc-ddr.hucki.net/wiki/doku.php/cpm:rsm:ct |access-date=2016-11-25 |url-status=live |archive-url=https://web.archive.org/web/20161125023237/http://hc-ddr.hucki.net/wiki/doku.php/cpm%3Arsm%3Act |archive-date=2016-11-25}}