Article View: alt.folklore.computers
Article #625486Re: different architecture, was PDP 11/40 system manual
From: Anne Lynn Wheeler
Date: Thu, 16 Aug 2018 02:23
Date: Thu, 16 Aug 2018 02:23
112 lines
7567 bytes
7567 bytes
John Levine <jo...@taugh.com> writes: > I've read the manuals too. The card version of BOS was called BPS, > and none of BOS, DOS, or TOS, could do multiprogramming until much > later versions of DOS. It looks to me like the disk management was > even more primitive than DOS, with sets of disk tracks explicitly > assigned to files, and it didn't work with more than 32K which > suggests they used direct addressing and 16 bit adcons. re: http://www.garlic.com/~lynn/2018e.html#66 something like a 360, was PDP 11/40 system manual There was something like 80-100 card stand-alone BPS loader. It was used by CP/67 kernel. https://en.wikipedia.org/wiki/IBM_Basic_Programming_Support BPS was developed by IBM's General Products Division in Endicott, New York. The package included "assemblers, IOCS, compilers, sorts, and utilities but no governing control program." BPS components were introduced in a series of product announcements between 1964 and 1965.[1]:pp.319-321 BPS came in two versions -- a strictly card system and a tape based system which, contrary to the stated goals, kept a small supervisor permanently resident.[2]:p.14 Programming languages available were Assembler, RPG, and FORTRAN IV (subset). Tape FORTRAN required 16 KiB of memory.[2]:p.5 There were also two versions of the BPS assembler, with the tape version having enhanced capabilities. BPS also had a "disk" counterpart called BOS. It also required 8 KiB of memory and supported disks such as the IBM 2311. The group responsible for BPS/BOS went on to develop DOS/360 and TOS/360 as a supposed "interim" solution when it became evident that OS/360 would be too large to run on 16 KiB systems. ... snip ... references BPS/BOS documents http://bitsavers.org/pdf/ibm/360/bos_bps/ When CP/67 was installed at univ. jan1968, all the source was on os/360. Assemble updates/changes on os/360 ... generating TXT deck for each source. Default was do diagnal stripe across top of each TXT deck with module identifier. TXT Cards were kept in card tray ... slightly over box of cards. BPS loader at the front, followed by PSA (page zero storage definition, interrupt handlers, and misc. other code). Last TXT deck was CPINIT ... default BPS behavior was transfer to the last module/program loaded (or entry specified by LDT loader control card). That entry would write memory image to disk which would have IPL restart into CPINIT address that would reverse the process and start CP/67. In summer of 1967, I made several (lower-used) CP/67 kernel routines "pageable" ... broken into 4k segments, but would execute non-virtual ... so couldn't cross page boundary and had to use SVC call interrupt that would handle translating original address to its new page location (and if required, first bring the page into storage). Objective was to reduce CP67 fixed kernel requirements, especially for running on 256kbyte 360/67 (getting fixed kernel down to almost 60kbyte). CP/67 console routine was something over 20k bytes, command would be decoded and then transfer to the specific command function. I broke the command functions into 4k segments with external entry for each command ... that could be called by the kernel command decoder. Turns out BPS loader had limit of 255 external entry symbols ... and breaking up console went over the limit. I then had to do hack that there was single entry for each 4k page group of console commands with internal branch routine to the specific command. Next distribution of CP67 (spring 1968) had (finally) moved all the source to CMS ... and made update/changes much simpler. After graduating and transfer to science center ... past posts http://www.garlic.com/~lynn/subtopic.html#545tech I found a copy of BPS source in card file cabinent in the storage area in the storage area that occupied part of the top floor of 545 tech sq. I updated the source to handle more than 255 entries. I also found out that BPS loader passed address of its table of enternal entries. I then modified CPINIT to copy the BPS external entry table to the end of pageable area ... so it was saved on the disk along with the rest of kernel image. None of this was included in CP67 customer product distribution, but VM370 did adopt a subset of the pageable functions for its first release. mentionin CP67 pageable kernel support, some older posts http://www.garlic.com/~lynn/2001b.html#23 Linux IA-64 interrupts [was Re: Itanium benchmarks ...] http://www.garlic.com/~lynn/2001l.html#32 mainframe question http://www.garlic.com/~lynn/2002b.html#44 PDP-10 Archive migration plan http://www.garlic.com/~lynn/2002n.html#71 bps loader, was PLX http://www.garlic.com/~lynn/2002p.html#56 cost of crossing kernel/user boundary http://www.garlic.com/~lynn/2002p.html#64 cost of crossing kernel/user boundary http://www.garlic.com/~lynn/2003f.html#12 Alpha performance, why? http://www.garlic.com/~lynn/2003f.html#14 Alpha performance, why? http://www.garlic.com/~lynn/2003f.html#20 Alpha performance, why? http://www.garlic.com/~lynn/2003f.html#23 Alpha performance, why? http://www.garlic.com/~lynn/2003f.html#26 Alpha performance, why? http://www.garlic.com/~lynn/2003f.html#30 Alpha performance, why? http://www.garlic.com/~lynn/2003n.html#45 hung/zombie users ... long boring, wandering story http://www.garlic.com/~lynn/2004b.html#26 determining memory size http://www.garlic.com/~lynn/2004g.html#45 command line switches [Re: [REALLY OT!] Overuse of symbolic constants] http://www.garlic.com/~lynn/2004o.html#9 Integer types for 128-bit addressing http://www.garlic.com/~lynn/2005f.html#10 Where should the type information be: in tags and descriptors http://www.garlic.com/~lynn/2005f.html#16 Where should the type information be: in tags and descriptors -- virtualization experience starting Jan1968, online at home since Mar1970
Technical Details
Message-ID:
<878t57hww9.fsf@localhost>Path:
mbox-mo1.pugleaf.net!p4-v6ni17893wmb.0!nntp.google.com!goblin2!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mailReferences:
<21aaeee8-c41a-4442-a4eb-ea6a29b1e4f1@googlegroups.com> <1355830485.555945700.866949.peter_flass-yahoo.com@news.eternal-september.org> <pkut64$lt6$1@gal.iecc.com> <504928995.556023147.952672.peter_flass-yahoo.com@news.eternal-september.org> <pl1pjt$n66$1@gal.iecc.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:a1c:b8d7:: with SMTP id i206-v6mr2562170wmf.11.1534386234926; Wed, 15 Aug 2018 19:23:54 -0700 (PDT) X-BeenThere: alt.folklore.computers@googlegroups.com Received: by 2002:adf:e38b:: with SMTP id e11-v6ls988092wrm.5.gmail; Wed, 15 Aug 2018 19:23:54 -0700 (PDT) X-Received: by 2002:adf:d4ca:: with SMTP id w10-v6mr2420590wrk.32.1534386234289; Wed, 15 Aug 2018 19:23:54 -0700 (PDT) Path: mbox-mo1.pugleaf.net!p4-v6ni17893wmb.0!nntp.google.com!goblin2!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Anne & Lynn Wheeler <ly...@garlic.com> Newsgroups: alt.folklore.computers Subject: Re: different architecture, was PDP 11/40 system manual Date: Wed, 15 Aug 2018 19:23:50 -0700 Organization: Wheeler&Wheeler Lines: 112 Message-ID: <878t57hww9.fsf@localhost> References: <21aaeee8-c41a-4442-a4eb-ea6a29b1e4f1@googlegroups.com> <1355830485.555945700.866949.peter_flass-yahoo.com@news.eternal-september.org> <pkut64$lt6$1@gal.iecc.com> <504928995.556023147.952672.peter_flass-yahoo.com@news.eternal-september.org> <pl1pjt$n66$1@gal.iecc.com> Mime-Version: 1.0 Injection-Info: reader02.eternal-september.org; posting-host="46951d6eb301f6be17270ad8ba6f6d35"; logging-data="11050"; mail-complaints-to="ab...@eternal-september.org"; posting-account="U2FsdGVkX1+s5hsHw9tPsx7sSHDCGpG61XWd3xHshnI=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cancel-Lock: sha1:X6udXHllI3ZkdbGrHJTvtZCVoLM= sha1:IaKVfWC+AC2GfOV/tObfadcBB3s= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit