Date: Fri, 25 May 2001 23:23:35 +0200 From: Bernd Luevelsmeyer X-Mailer: Mozilla 4.04 [en] (WinNT; I) MIME-Version: 1.0 Newsgroups: alt.folklore.computers Subject: bss Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 13 Message-ID: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> Organization: Customer of UUNET Deutschland GmbH NNTP-Posting-Host: 193.101.232.30 X-Trace: 990825815 businessnews.de.uu.net 14104 193.101.232.30 X-Complaints-To: abuse@de.uu.net Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!news.tesion.net!news.belwue.de!news.uni-stuttgart.de!rz.uni-karlsruhe.de!schlund.de!newsfeed01.sul.t-online.de!t-online.de!lnewspeer00.lnd.ops.eu.uu.net!lnewspeer01.lnd.ops.eu.uu.net!emea.uu.net!do.de.uu.net!innmaster.de.uu.net!businessnews.de.uu.net!not-for-mail Xref: chonsp.franklin.ch alt.folklore.computers:82134 Hi, I'd like to know what the acronym "bss" actually means. According to different information, it means either "Block Started by Symbol" or "Block Storage Segment", or even "Blank Storage Space". The explanation *seems* to be always the same (space for global variables that is zero'd when program execution starts); what bothers me is: do the different "bss" really mean exactly the same? and: when and where did the different "bss" originate? Thanks, Bernd ###### From: mwilson@the-wire.com (Mel Wilson) Newsgroups: alt.folklore.computers Subject: Re: bss Message-ID: References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> Lines: 13 X-Newsreader: VSoup v1.2.9.37Beta [95/NT] Date: Fri, 25 May 2001 18:19:02 -0400 NNTP-Posting-Host: 205.206.39.68 X-Trace: nnrp1.uunet.ca 990831144 205.206.39.68 (Fri, 25 May 2001 18:52:24 EDT) NNTP-Posting-Date: Fri, 25 May 2001 18:52:24 EDT Organization: UUNET Canada News Reader Service Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!newsfeed00.sul.t-online.de!t-online.de!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!sunqbc.risq.qc.ca!news.uunet.ca!nnrp1.uunet.ca.POSTED!not-for-mail Xref: chonsp.franklin.ch alt.folklore.computers:81960 In article <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net>, Bernd Luevelsmeyer wrote: >Hi, > >I'd like to know what the acronym "bss" actually means. >According to different information, it means either "Block Started by >Symbol" [ ... ] General Electric's 400-series assembler manual put it this way, as I recall, from 1970. It was used to reserve, but not set, storage space. Regards. Mel. ###### From: Tom Van Vleck Newsgroups: alt.folklore.computers Subject: Re: bss Date: Fri, 25 May 2001 19:21:14 -0400 Organization: Multicians Lines: 34 Message-ID: <3B0EE8EA.F3C2545F@multicians.org> References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> NNTP-Posting-Host: ce.d6.8b.9f Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Server-Date: 25 May 2001 23:19:49 GMT X-Mailer: Mozilla 4.77 [en] (Win98; U) X-Accept-Language: en,pdf Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!newsfeed00.sul.t-online.de!t-online.de!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news.mindspring.net!not-for-mail Xref: chonsp.franklin.ch alt.folklore.computers:81934 Bernd Luevelsmeyer wrote: > I'd like to know what the acronym "bss" actually means. BSS meant several different things in different contexts. 1. The FAP assembler for the 7090 and 7094 had a pseudo-op BSS meaning Block Started by Symbol in the early 1960s. FRED BSS 20 would reserve 20 locations and name the first one FRED. There was also BES, Block Ended by Symbol, which would assign the name to the location after the block. Other computers had assemblers which also implemented this pseudo-op, with various semantics, and I think adding a BSS operation to CAP was one of the exercises in 6.251. (I am not sure that BSS blocks were zeroed in the 7094 environment. If you wanted zeroes, you used another pseudo-op, probably ZERO.) 2. The Fortran Monitor System, FMS, for the 7090 and 7094 could handle several object deck formats, but the most common was BSS, Binary Symbolic Subroutine. BSS decks were in column binary format, with symbolic linkage between separately compiled routines. The BSS Loader, part of FMS, loaded and linked your object decks with each other and with routines from the library tape. This too was common usage in the 1960s. The two terms coexisted without confusion among 7094 programmers. Both of these meanings may have had antecedents on earlier systems for the 704 and 709. I don't know this first hand. It is highly likely that the three letters BSS had other meanings in other contexts. ###### From: Dennis Ritchie Newsgroups: alt.folklore.computers Subject: Re: bss Date: Sat, 26 May 2001 04:14:40 +0000 Organization: Bell Labs / Lucent Technologies Lines: 34 Message-ID: <3B0F2DB0.3910CDAF@bell-labs.com> References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> NNTP-Posting-Host: 135.104.65.78 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.61 [en] (WinNT; U) X-Accept-Language: en Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.maxwell.syr.edu!newsfeed.skycache.com!Cidera!portc01.blue.aol.com!uunet!dca.uu.net!ash.uu.net!nntphub.cb.lucent.com!news Xref: chonsp.franklin.ch alt.folklore.computers:81864 Tom Van Vleck wrote (I snip): ... > BSS meant several different things in different contexts. > 1. The FAP assembler for the 7090 and 7094 had a > pseudo-op BSS meaning Block Started by Symbol in the > early 1960s. ... > There was also BES, Block Ended by Symbol, which would > assign the name to the location after the block. Other > computers had assemblers which also implemented this > pseudo-op, with various semantics... > ... If you wanted zeroes, you used another > pseudo-op, probably ZERO.) > > 2. The Fortran Monitor System, FMS, for the 7090 and 7094 > could handle several object deck formats, but the most > common was BSS, Binary Symbolic Subroutine. BSS decks > were in column binary format, with symbolic linkage > between separately compiled routines. ... > It is highly likely that the three letters BSS had other > meanings in other contexts. My memory is in accord with Tom's. I think the ordinary default (or "default default") would fill with 0s, though I also remember loader options that would deliberately fill BSS regions with some specified pattern to help detect use of uninitialized values. And as Tom observes, there are only so many TLAs. Dennis ###### From: jcmorris@jmorris-pc.MITRE.ORG (Joe Morris) Newsgroups: alt.folklore.computers Subject: Re: bss Date: 26 May 2001 18:10:49 GMT Organization: The MITRE Corporation Lines: 38 Message-ID: <9eorj9$lt6$1@top.mitre.org> References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> Reply-To: jcmorris@mitre.org NNTP-Posting-Host: jmorris-pc.mitre.org X-Trace: top.mitre.org 990900649 22438 128.29.251.13 (26 May 2001 18:10:49 GMT) X-Complaints-To: usenet@news.mitre.org NNTP-Posting-Date: 26 May 2001 18:10:49 GMT X-Newsreader: NN version 6.5.0 (NOV) Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!news.tesion.net!news.belwue.de!news-stu1.dfn.de!news-mue1.dfn.de!news-was.dfn.de!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!arclight.uoregon.edu!news.tufts.edu!blanket.mitre.org!news.mitre.org!jmorris-pc.MITRE.ORG!jcmorris Xref: chonsp.franklin.ch alt.folklore.computers:81873 Tom Van Vleck writes: >Bernd Luevelsmeyer wrote: >> I'd like to know what the acronym "bss" actually means. >1. The FAP assembler for the 7090 and 7094 had a > pseudo-op BSS meaning Block Started by Symbol in the > early 1960s. > FRED BSS 20 > would reserve 20 locations and name the first one FRED. > There was also BES, Block Ended by Symbol, which would > assign the name to the location after the block. Other > computers had assemblers which also implemented this > pseudo-op, with various semantics, and I think adding a > BSS operation to CAP was one of the exercises in 6.251. I think that this is the first reference to CAP (Class Assembly Program, a standard feature of the MIT programming class known as 6.251) that has appeared in a.f.c. The assignment was simple in theory: every student got a copy of the CAP source, which was a simple assembler (with a very non-simple FORTRAN-like pseudo-op). Points for the assignment were based on implementing additional features of various complexity (and points), such as flagging the use of undefined symbols (trivial) or adding exponentiation to the COMP[ile] pseudo-op (lots of points but explicitly not recommended). Students had ten (?) runs available to them to complete the exercise; the instructions warned that on at least one of the scheduled runs the computer would be down, and that you should keep duplicate decks and listings since it should be assumed that if the operator dropped a tray of cards it would be the one with *your* deck. ...all of which is another explanation of why the programmers from that time are so irritated by the disappearance of the concept of "desk debugging". Joe Morris (who still has - somewhere - the CAP assignment page and listings) ###### Date: Sun, 27 May 2001 01:18:50 +0200 From: Bernd Luevelsmeyer X-Mailer: Mozilla 4.04 [en] (WinNT; I) MIME-Version: 1.0 Newsgroups: alt.folklore.computers Subject: Re: bss References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 25 Message-ID: <3b1039da$0$14097$4dbef881@businessnews.de.uu.net> Organization: Customer of UUNET Deutschland GmbH NNTP-Posting-Host: 193.101.232.30 X-Trace: 990919131 businessnews.de.uu.net 14097 193.101.232.30 X-Complaints-To: abuse@de.uu.net Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!newsfeeds.belnet.be!news.belnet.be!news2.kpn.net!news.kpn.net!nslave.kpnqwest.net!nmaster.kpnqwest.net!npeer.kpnqwest.net!lnewspeer00.lnd.ops.eu.uu.net!lnewspeer01.lnd.ops.eu.uu.net!emea.uu.net!do.de.uu.net!businessnews.de.uu.net!not-for-mail Xref: chonsp.franklin.ch alt.folklore.computers:82131 Bernd Luevelsmeyer wrote: > > Hi, > > I'd like to know what the acronym "bss" actually means. [...] All of you seem to agree that the origin cannot be found; since the acronym goes back to at least 1960, and usage of "bss" is indeed widespread[1], I think you are right, it's in fact not sensible to try to find the very first occurrence; let alone the "true meaning". Thanks, Bernd [1] Having looked harder, I now found various "sub segments" or "sub sections" of b-things, as well as "backward single step" (in a debugger) and a "blind signal separation" algorithm; network related are "Broadband Switching System" and "Basic Service Set"; unrelated to computers were several companies (in different countries) called BSS with lots of products that all have BSS in their name, "broadcasting support services", "business security services", "bio safety standards"... ###### Newsgroups: alt.folklore.computers From: jsaum@world.std.com (Jim Saum) Subject: Re: bss Sender: news@world.std.com (Mr Usenet Himself) Message-ID: Date: Sun, 27 May 2001 03:25:07 GMT References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> NNTP-Posting-Host: ppp0b002.std.com Organization: Software Tool & Die X-Newsreader: MT-NewsWatcher 2.4.4 Lines: 12 Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!Amsterdam.Infonet!News.Amsterdam.UnisourceCS!skynet.be!news.stealth.net!newsfeed.nyc.globix.net!uunet!ash.uu.net!world!jsaum Xref: chonsp.franklin.ch alt.folklore.computers:81821 In article <3B0EE8EA.F3C2545F@multicians.org>, Tom Van Vleck wrote: > (I am not sure that BSS blocks were zeroed in the 7094 > environment. If you wanted zeroes, you used another > pseudo-op, probably ZERO.) The FAP manual says BSS "causes an area to be skipped, not cleared ...", and suggests using DEC or OCT instead to ensure that an area contains zeros. Same for BES. - Jim Saum ###### Newsgroups: alt.folklore.computers From: jsaum@world.std.com (Jim Saum) Subject: Re: bss Sender: news@world.std.com (Mr Usenet Himself) Message-ID: Date: Sun, 27 May 2001 03:30:51 GMT References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> <9eorj9$lt6$1@top.mitre.org> NNTP-Posting-Host: ppp0b002.std.com Organization: Software Tool & Die X-Newsreader: MT-NewsWatcher 2.4.4 Lines: 36 Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!news.tesion.net!news.belwue.de!news-stu1.dfn.de!news-mue1.dfn.de!news-nue1.dfn.de!news-lei1.dfn.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!lnewspeer00.lnd.ops.eu.uu.net!emea.uu.net!zur.uu.net!ash.uu.net!world!jsaum Xref: chonsp.franklin.ch alt.folklore.computers:81819 In article <9eorj9$lt6$1@top.mitre.org>, jcmorris@mitre.org wrote: >Tom Van Vleck writes: > >> ..., and I think adding a >> BSS operation to CAP was one of the exercises in 6.251. > >I think that this is the first reference to CAP (Class Assembly Program, >a standard feature of the MIT programming class known as 6.251) that >has appeared in a.f.c. > >The assignment was simple in theory: every student got a copy of the >CAP source, which was a simple assembler (with a very non-simple >FORTRAN-like pseudo-op). Points for the assignment were based on >implementing additional features of various complexity (and points), >such as flagging the use of undefined symbols (trivial) or adding >exponentiation to the COMP[ile] pseudo-op (lots of points but >explicitly not recommended). > > ... > >Joe Morris (who still has - somewhere - the CAP assignment page and listings) MIT Press published a hardcover book about CAP, including documentation and listings of the assembler, and a discussion of its use in 6.251. The book ends with a list of suggested additions to CAP with point values for each. F. J. Corbato, J. W. Poduska, J. H. Saltzer, "Advanced Computer Programming: A Case Study of a Classroom Assembly Program", MIT Press, 1963, LC catalog card 63-20529. This is long out of print, of course, but is probably still around in some libraries. - Jim Saum ###### From: jcmorris@jmorris-pc.MITRE.ORG (Joe Morris) Newsgroups: alt.folklore.computers Subject: Re: bss Date: 29 May 2001 17:49:15 GMT Organization: The MITRE Corporation Lines: 35 Message-ID: <9f0ner$4ra$1@top.mitre.org> References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> Reply-To: jcmorris@mitre.org NNTP-Posting-Host: jmorris-pc.mitre.org X-Trace: top.mitre.org 991158555 4970 128.29.251.13 (29 May 2001 17:49:15 GMT) X-Complaints-To: usenet@news.mitre.org NNTP-Posting-Date: 29 May 2001 17:49:15 GMT X-Newsreader: NN version 6.5.0 (NOV) Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.maxwell.syr.edu!arclight.uoregon.edu!news.tufts.edu!blanket.mitre.org!news.mitre.org!jmorris-pc.MITRE.ORG!jcmorris Xref: chonsp.franklin.ch alt.folklore.computers:82160 jsaum@world.std.com (Jim Saum) writes: >In article <3B0EE8EA.F3C2545F@multicians.org>, Tom Van Vleck > wrote: >> (I am not sure that BSS blocks were zeroed in the 7094 >> environment. If you wanted zeroes, you used another >> pseudo-op, probably ZERO.) >The FAP manual says BSS "causes an area to be skipped, not cleared >...", and suggests using DEC or OCT instead to ensure that an area >contains zeros. Same for BES. One result of using BSS or BES in a FAP or IBSYS program was that the current binary card buffer was flushed, and the next card not started until some data-emitting opcode or pseudo-op encountered. Since each card carries an explicit load address for the data it contains, there isn't any way to preset the contents of the skipped memory words. The loader (which reads relocatable binary decks and generates the core image) never made any attempt that I recall to clear its buffers. So...one advantage this offered (assuming that your program really did clear the memory area involved!) was that huge buffers could be embedded in a program without producing a correspondingly huge binary deck. OTOH, some programs took a brute-force approach: they calmly used all the memory from the top of the program to the top of storage as their buffer. (I'm not sure how the FMS version of the FORTRAN compiler worked, but all the compilers for IBSYS used that to provide symbol table space.) Joe Morris ###### Newsgroups: alt.folklore.computers From: ehrice@his.com (Edward Rice) Subject: Re: bss Message-ID: Organization: NDS Date: Wed, 30 May 2001 00:10:35 -0400 References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> NNTP-Posting-Host: max1h-32.his.com X-Trace: 30 May 2001 00:10:40 -0400, max1h-32.his.com Lines: 18 X-Authenticated-User: ehrice Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!newsfeed00.sul.t-online.de!t-online.de!skynet.be!dispose.news.demon.net!demon!newspeer.monmouth.com!news.lightlink.com!news1.his.com!vienna7.his.com!user Xref: chonsp.franklin.ch alt.folklore.computers:82315 In article , jsaum@world.std.com (Jim Saum) wrote: > The FAP manual says BSS "causes an area to be skipped, not cleared > ...", and suggests using DEC or OCT instead to ensure that an area > contains zeros. Same for BES. My recollection matches this. Dennis's recollection of the space being cleared may be a result of modifications to FAP at BTL -- wasn't BEFAP the actual software you used, Dennis? ehr -- I've never even been to space and I'm fairly confident of this. Charles A. Lieberman But for everybody else (sorry, Charlie): http://www.binaryfreedom.com/towelday/ ###### From: Dennis Ritchie Newsgroups: alt.folklore.computers Subject: Re: bss Date: Wed, 30 May 2001 05:47:07 +0000 Organization: Bell Labs / Lucent Technologies Lines: 26 Message-ID: <3B14895B.A180E10@bell-labs.com> References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> NNTP-Posting-Host: 135.104.65.78 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.61 [en] (WinNT; U) X-Accept-Language: en Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!news.tesion.net!news.belwue.de!news-stu1.dfn.de!news-koe1.dfn.de!news-was.dfn.de!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!feed2.news.rcn.net!rcn!wn4feed!worldnet.att.net!207.24.196.41!nntphub.cb.lucent.com!news Xref: chonsp.franklin.ch alt.folklore.computers:82281 Edward Rice wrote: > jsaum@world.std.com (Jim Saum) wrote: > > > The FAP manual says BSS "causes an area to be skipped, not cleared > > ...", and suggests using DEC or OCT instead to ensure that an area > > contains zeros. Same for BES. > > My recollection matches this. Dennis's recollection of the space being > cleared may be a result of modifications to FAP at BTL -- wasn't BEFAP the > actual software you used, Dennis? BEFAP under BESYS, which (collectively) may have cleared by default. The two points I do remember for certain are-- that BSS saved space (and that it is the historical origin for the term in early Unix assemblers) that at least of the 709x systems I used whether at Bell Labs, or MIT, or using UMES at Harvard) had a loader option to fill memory with some specified pattern to aid in detecting unitialized storage. Presumably this would have been visible both in FAP BSS regions and in Fortran COMMON regions. Dennis ###### From: jcmorris@jmorris-pc.MITRE.ORG (Joe Morris) Newsgroups: alt.folklore.computers Subject: Re: bss Date: 30 May 2001 13:33:09 GMT Organization: The MITRE Corporation Lines: 28 Message-ID: <9f2sql$qvb$1@top.mitre.org> References: <3b0ecd57$0$14104$4dbef881@businessnews.de.uu.net> <3B0EE8EA.F3C2545F@multicians.org> <3B14895B.A180E10@bell-labs.com> Reply-To: jcmorris@mitre.org NNTP-Posting-Host: jmorris-pc.mitre.org X-Trace: top.mitre.org 991229589 27627 128.29.251.13 (30 May 2001 13:33:09 GMT) X-Complaints-To: usenet@news.mitre.org NNTP-Posting-Date: 30 May 2001 13:33:09 GMT X-Newsreader: NN version 6.5.0 (NOV) Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news-ge.switch.ch!news.maxwell.syr.edu!arclight.uoregon.edu!news.tufts.edu!blanket.mitre.org!news.mitre.org!jmorris-pc.MITRE.ORG!jcmorris Xref: chonsp.franklin.ch alt.folklore.computers:82335 Dennis Ritchie writes: >The two points I do remember for certain are-- >that BSS saved space (and that it is the historical origin for the >term in early Unix assemblers) Um..."saved space" in what sense? It certainly *reserved* space if that's what you mean, and (as I noted in another posting in this thread) it usually reduced the size of the binary deck. >that at least of the 709x systems I used whether at Bell Labs, or MIT, or >using UMES at Harvard) had a loader option to fill memory with some specified >pattern to aid in detecting unitialized storage. When you were using a 709x, was it under FMS or IBSYS? My notes on the subject of deck control cards for FMS don't show any loader options, although (a) there were probably options that my notes don't talk about, and (b) there were certainly all sorts of odd local mods made by each installation that might have implemented a clear-memory option for the loader. My notes from IBSYS are in hiding somewhere, but my recollection is the same: there wasn't a clear-memory option, and users had to take the responsibility for initializing all variables, including any in COMMON space. Joe Morris