• Working on a series of mini-articles about OS 2200

    From Kira Ash@21:1/5 to All on Thu Sep 22 14:35:59 2022
    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.

    Kira

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Kira Ash on Thu Sep 22 21:19:45 2022
    On 9/22/2022 2:35 PM, Kira Ash wrote:
    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.


    First, welcome to the 2200 community. We are a small, but generally
    friendly group. If you have questions, someone here will almost
    certainly help to answer them.

    Second, I enjoyed your web site. It was interesting to see someone not familiar with 2200 stuff figuring it out, and comparing it to other systems.

    Third, a few comments/pointers, etc.

    A) You seem to be under the impression that all files are program files. This is not true. While all program files are files to the file system, not all files are program files. Many (and on some systems
    most) files are simply files, with no internal structure other than what
    the application gives them. These are typically what one deals with
    when a program does I/O. A program file is simply a file with a
    particular well defined structure within it. As you say, it is sort of
    like a directory, but not exactly. It is definitely not an ISAM file.

    B) When you talk about processor calls, you seem to be unaware of the
    defaults, especially for the output file. So for example if you have
    @UC File1.Element1, File2.Element2

    It will behave as you indicate. But if you leave off File2, and just
    have .element2, it will default to the same file as specified in spec1.
    The same rules apply to element names, that is file2. without specifying
    an element name will default to Element1. But best of all, if you leave
    out spec2 entirely, i.e. @UC file1.element1 spec two will default to the
    same name as spec1. You might think that the output would overwrite the
    input file, but the program file allows you to have a source (symbolic)
    and an object (binary) element with the same name. If you do this, then
    do an @PRT,t of the file, it will show both elements. (There are further options to @PRT,t to show only one or the other if you desire.)
    Overall, this can reduce your cognitive load, and reduce typing.

    C) You say an unadorned @RUN can start a demand run. This is true, but
    assuming you have set up the account, it can can just as easily start a
    batch run.


    D) I believe that the Hitachi, Fujitsu, and old Siemans mainframes were
    essentially IBM 360/70 clones (though with their own OS), whereas the
    Bull and Unisys systems weren't. I think this is worth mentioning,

    Anyway, thanks for doing this, and I look forward to reading future
    sections of your web site.



    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kira Ash@21:1/5 to Stephen Fuld on Fri Sep 23 07:01:04 2022
    On Thursday, September 22, 2022 at 9:19:51 PM UTC-7, Stephen Fuld wrote:
    On 9/22/2022 2:35 PM, Kira Ash wrote:
    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.
    First, welcome to the 2200 community. We are a small, but generally
    friendly group. If you have questions, someone here will almost
    certainly help to answer them.

    Second, I enjoyed your web site. It was interesting to see someone not familiar with 2200 stuff figuring it out, and comparing it to other systems.

    I'm glad you enjoyed it! Thank you very much for your reply - as is obvious, I'm new to the system; I have a lot of experience with UNIX and a fair amount with Stratus VOS, which obviously affects how I learn things, but OS 2200 is certainly different
    from my usual area of expertise, and there's a lot to learn.


    Third, a few comments/pointers, etc.

    A) You seem to be under the impression that all files are program
    files. This is not true. While all program files are files to the file system, not all files are program files. Many (and on some systems
    most) files are simply files, with no internal structure other than what
    the application gives them. These are typically what one deals with
    when a program does I/O. A program file is simply a file with a
    particular well defined structure within it. As you say, it is sort of
    like a directory, but not exactly. It is definitely not an ISAM file.


    A non-program-file file has no trailing dot and no internal named elements, right? If so, I actually started primarily working with those first - they just cluttered up my @prt,p output quickly, so I started keeping things contained in program files. (On
    a related note, can I make @PRT show me a list of files with a certain qualifier? I didn't see that option in the ECL/FURPUR manual.)

    The ISAM comparison was probably a bad one, as I see now. I was mostly just thinking "file with internal records identified by name", but it seems like that's not quite right for the elements of a program file.

    B) When you talk about processor calls, you seem to be unaware of the defaults, especially for the output file. So for example if you have
    @UC File1.Element1, File2.Element2

    It will behave as you indicate. But if you leave off File2, and just
    have .element2, it will default to the same file as specified in spec1.
    The same rules apply to element names, that is file2. without specifying
    an element name will default to Element1. But best of all, if you leave
    out spec2 entirely, i.e. @UC file1.element1 spec two will default to the same name as spec1. You might think that the output would overwrite the input file, but the program file allows you to have a source (symbolic)
    and an object (binary) element with the same name. If you do this, then
    do an @PRT,t of the file, it will show both elements. (There are further options to @PRT,t to show only one or the other if you desire.)
    Overall, this can reduce your cognitive load, and reduce typing.

    Oh, interesting! So would that mean that when running other commands, like @DELETE for instance, I'd provide a subtype specifier to specify which of the same-named files I'm referring to?


    C) You say an unadorned @RUN can start a demand run. This is true, but assuming you have set up the account, it can can just as easily start a batch run.


    Makes sense. I know @RUN has a lot of moving parts I haven't had to figure out yet.


    D) I believe that the Hitachi, Fujitsu, and old Siemans mainframes were essentially IBM 360/70 clones (though with their own OS), whereas the
    Bull and Unisys systems weren't. I think this is worth mentioning,


    Sure, I'll add some clarification on that! NEC is also not of the 360/370 family, but related to Bull's systems. Maybe I should just add a family tree graphic.

    Anyway, thanks for doing this, and I look forward to reading future
    sections of your web site.



    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    Thanks again for your reply! I deeply appreciate feedback from someone who has spent quality time with this system. Hopefully I'll embarrass myself less next time around.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Scott Lurndal on Fri Sep 23 08:07:56 2022
    On 9/23/2022 7:25 AM, Scott Lurndal wrote:
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/22/2022 2:35 PM, Kira Ash wrote:
    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.



    D) I believe that the Hitachi, Fujitsu, and old Siemans mainframes were
    essentially IBM 360/70 clones (though with their own OS), whereas the
    Bull and Unisys systems weren't. I think this is worth mentioning,

    Sperry had a line of 360 clone systems alongside the 1100/2200
    line. https://en.wikipedia.org/wiki/UNIVAC_Series_90

    Yes. But I believe Kira was discussing current systems. Sperry
    actually had two lines of semi 360 clone systems, one it developed
    internally and one it got when it took over the computer business of RCA.



    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Stephen Fuld on Fri Sep 23 14:25:18 2022
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/22/2022 2:35 PM, Kira Ash wrote:
    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.



    D) I believe that the Hitachi, Fujitsu, and old Siemans mainframes were
    essentially IBM 360/70 clones (though with their own OS), whereas the
    Bull and Unisys systems weren't. I think this is worth mentioning,

    Sperry had a line of 360 clone systems alongside the 1100/2200
    line. https://en.wikipedia.org/wiki/UNIVAC_Series_90

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Kira Ash on Fri Sep 23 08:30:55 2022
    On 9/23/2022 7:01 AM, Kira Ash wrote:
    On Thursday, September 22, 2022 at 9:19:51 PM UTC-7, Stephen Fuld wrote:
    On 9/22/2022 2:35 PM, Kira Ash wrote:
    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.
    First, welcome to the 2200 community. We are a small, but generally
    friendly group. If you have questions, someone here will almost
    certainly help to answer them.

    Second, I enjoyed your web site. It was interesting to see someone not
    familiar with 2200 stuff figuring it out, and comparing it to other systems.

    I'm glad you enjoyed it! Thank you very much for your reply - as is obvious, I'm new to the system; I have a lot of experience with UNIX and a fair amount with Stratus VOS, which obviously affects how I learn things, but OS 2200 is certainly different
    from my usual area of expertise, and there's a lot to learn.


    Yup! But you seem to be enjoying it, so "good on you".





    Third, a few comments/pointers, etc.

    A) You seem to be under the impression that all files are program
    files. This is not true. While all program files are files to the file
    system, not all files are program files. Many (and on some systems
    most) files are simply files, with no internal structure other than what
    the application gives them. These are typically what one deals with
    when a program does I/O. A program file is simply a file with a
    particular well defined structure within it. As you say, it is sort of
    like a directory, but not exactly. It is definitely not an ISAM file.


    A non-program-file file has no trailing dot and no internal named elements, right?

    Not exactly. You need to specify the trailing dot if the name could be confused with an element name. Some commands can work with either. If a command can work with either, and no dot is used, the command assumes
    the name is an element name. But you are right that a non-program file
    has no internal elements.



    If so, I actually started primarily working with those first - they just cluttered up my @prt,p output quickly, so I started keeping things contained in program files.

    Fair enough. Your choice. There are advantages each way, although if
    you are writing source code that is to be compiled, it must be in an
    element.



    (On a related note, can I make @PRT show me a list of files with a certain qualifier? I didn't see that option in the ECL/FURPUR manual.)

    I don't know of a way to do that.


    The ISAM comparison was probably a bad one, as I see now. I was mostly just thinking "file with internal records identified by name", but it seems like that's not quite right for the elements of a program file.

    B) When you talk about processor calls, you seem to be unaware of the
    defaults, especially for the output file. So for example if you have
    @UC File1.Element1, File2.Element2

    It will behave as you indicate. But if you leave off File2, and just
    have .element2, it will default to the same file as specified in spec1.
    The same rules apply to element names, that is file2. without specifying
    an element name will default to Element1. But best of all, if you leave
    out spec2 entirely, i.e. @UC file1.element1 spec two will default to the
    same name as spec1. You might think that the output would overwrite the
    input file, but the program file allows you to have a source (symbolic)
    and an object (binary) element with the same name. If you do this, then
    do an @PRT,t of the file, it will show both elements. (There are further
    options to @PRT,t to show only one or the other if you desire.)
    Overall, this can reduce your cognitive load, and reduce typing.

    Oh, interesting! So would that mean that when running other commands, like @DELETE for instance, I'd provide a subtype specifier to specify which of the same-named files I'm referring to?

    Yes, precisely. See the A,O,R and S options. BTW, the same options
    work the same way on @PRT,T

    But note that @delete of an element doesn't actually delete the element.
    It just marks the element as deleted in the program file table of
    contents. (sort of like deleting a file in Windows). So program files
    tend to grow and have lots of deleted elements. If you want to recover
    the space, use @PACK.

    snip

    Thanks again for your reply! I deeply appreciate feedback from someone who has spent quality time with this system. Hopefully I'll embarrass myself less next time around.

    No embarrassment at all. For something so different from your
    background, ISTM you are doing remarkably well.



    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David W Schroth@21:1/5 to hpeintegrity@gmail.com on Sat Sep 24 00:10:29 2022
    On Thu, 22 Sep 2022 14:35:59 -0700 (PDT), Kira Ash
    <hpeintegrity@gmail.com> wrote:

    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.

    Kira

    I will echo Mr. Fuld's welcome to you, and offer semi-random comments
    on your fascinating posts.

    1) I believe that there is a CSHELL program for the 2200 that provides
    a decent emulation of a *nix shell. While I knew the authors when
    they worked at Unisys, I don't know where the program can be found.

    2) The 2200 File System is a flat file system. According to Ron Smith (co-author with George Gray of what I regard as the definitive history
    of Unisys systems), there was a time when Univac considered replacing
    the flat file system with a heirarchical file systems. The customers
    they discussed this with were not supportive of the idea, so it was
    dropped.

    3) Based upon your comment regarding read and write keys on files, I
    infer that you are running on what is called a Fundamental Security
    system. I tend to regard SECOPT1 (or higher) systems somewhat more
    secure, and on those systems read and write keys are not meaningful
    for most files.

    4) The ECL (Exec Control Language) internally works with Fieldata,
    which is a six bit character set. So ECL is not case-sensitive.

    5) @PRT (with no options) is not something I typically use, as it
    displays the contents of the entire Master File Directory. Not a big
    deal on systems with small filesystems; a very big deal at some sites
    I have supported with very large file systems.

    6) PLUS is a descendent of JOVIAL (Jules Own Version of the
    International Algorithmic Language), or so I've been told. It
    suffers, from my perspective, from trying to be too many things for
    too many people (for a while it ran on 2200s, Series 30, and Series 90 systems). While there are UCS flavors of COBOL and Fortran, I suspect
    that the customer you cite probably uses FTN (ASCII Fortran). I could
    be mistaken.

    7) From a user program perspective, there are 48 general registers
    (partitioned into index registers, accumulators, and R-registers),
    and16 base registers (critical for addressing and security). While
    negative zero is a thing, arithmetic operations never return a
    negative zero. The existence of negative zero does cause some quirks
    that most people encounter very rarely. Instructions can access sixth
    words, quarter words, third words, half words, words, and double
    words. I will observe that the complex memory security features seem
    to be effective.

    8) AT&T, before it was broken up, was a heavy user of SX 1100. There
    are some oddball Exec ERs that were put in specifically to support
    AT&T's needs.

    I'm now dying to see Part 4: The Periodic File of Elements.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kira Ash@21:1/5 to David W Schroth on Sat Sep 24 14:14:17 2022
    On Friday, September 23, 2022 at 10:07:00 PM UTC-7, David W Schroth wrote:
    On Thu, 22 Sep 2022 14:35:59 -0700 (PDT), Kira Ash
    <hpeint...@gmail.com> wrote:

    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.

    Kira
    I will echo Mr. Fuld's welcome to you, and offer semi-random comments
    on your fascinating posts.

    1) I believe that there is a CSHELL program for the 2200 that provides
    a decent emulation of a *nix shell. While I knew the authors when
    they worked at Unisys, I don't know where the program can be found.

    2) The 2200 File System is a flat file system. According to Ron Smith (co-author with George Gray of what I regard as the definitive history
    of Unisys systems), there was a time when Univac considered replacing
    the flat file system with a heirarchical file systems. The customers
    they discussed this with were not supportive of the idea, so it was
    dropped.

    3) Based upon your comment regarding read and write keys on files, I
    infer that you are running on what is called a Fundamental Security
    system. I tend to regard SECOPT1 (or higher) systems somewhat more
    secure, and on those systems read and write keys are not meaningful
    for most files.

    4) The ECL (Exec Control Language) internally works with Fieldata,
    which is a six bit character set. So ECL is not case-sensitive.

    5) @PRT (with no options) is not something I typically use, as it
    displays the contents of the entire Master File Directory. Not a big
    deal on systems with small filesystems; a very big deal at some sites
    I have supported with very large file systems.

    6) PLUS is a descendent of JOVIAL (Jules Own Version of the
    International Algorithmic Language), or so I've been told. It
    suffers, from my perspective, from trying to be too many things for
    too many people (for a while it ran on 2200s, Series 30, and Series 90 systems). While there are UCS flavors of COBOL and Fortran, I suspect
    that the customer you cite probably uses FTN (ASCII Fortran). I could
    be mistaken.

    7) From a user program perspective, there are 48 general registers (partitioned into index registers, accumulators, and R-registers),
    and16 base registers (critical for addressing and security). While
    negative zero is a thing, arithmetic operations never return a
    negative zero. The existence of negative zero does cause some quirks
    that most people encounter very rarely. Instructions can access sixth
    words, quarter words, third words, half words, words, and double
    words. I will observe that the complex memory security features seem
    to be effective.

    8) AT&T, before it was broken up, was a heavy user of SX 1100. There
    are some oddball Exec ERs that were put in specifically to support
    AT&T's needs.

    I'm now dying to see Part 4: The Periodic File of Elements.

    Thank you very much for your thoughtful post, and I hope Part 4 is interesting to you when it's posted in a couple of weeks! I've been hitting the manuals on OS 2200 storage and the APIs for dealing with it - lot of interesting stuff in there.

    For the Ron Smith and George Gray history, do you mean "Unisys Computers: An Introductory History" or "Sperry Rand's Third Generation Computers" in IEEE Annals?

    CSHELL sounds like an interesting beast. Please let me know if you come across a copy somewhere, as I'd be very curious - though the truth is, I've become increasingly accustomed to doing things the 2200 way. :-)

    Thanks again!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Gunshannon@21:1/5 to Kira Ash on Sat Sep 24 18:28:20 2022
    On 9/24/22 17:14, Kira Ash wrote:
    On Friday, September 23, 2022 at 10:07:00 PM UTC-7, David W Schroth wrote:
    On Thu, 22 Sep 2022 14:35:59 -0700 (PDT), Kira Ash
    <hpeint...@gmail.com> wrote:

    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.

    Kira
    I will echo Mr. Fuld's welcome to you, and offer semi-random comments
    on your fascinating posts.

    1) I believe that there is a CSHELL program for the 2200 that provides
    a decent emulation of a *nix shell. While I knew the authors when
    they worked at Unisys, I don't know where the program can be found.

    2) The 2200 File System is a flat file system. According to Ron Smith
    (co-author with George Gray of what I regard as the definitive history
    of Unisys systems), there was a time when Univac considered replacing
    the flat file system with a heirarchical file systems. The customers
    they discussed this with were not supportive of the idea, so it was
    dropped.

    3) Based upon your comment regarding read and write keys on files, I
    infer that you are running on what is called a Fundamental Security
    system. I tend to regard SECOPT1 (or higher) systems somewhat more
    secure, and on those systems read and write keys are not meaningful
    for most files.

    4) The ECL (Exec Control Language) internally works with Fieldata,
    which is a six bit character set. So ECL is not case-sensitive.

    5) @PRT (with no options) is not something I typically use, as it
    displays the contents of the entire Master File Directory. Not a big
    deal on systems with small filesystems; a very big deal at some sites
    I have supported with very large file systems.

    6) PLUS is a descendent of JOVIAL (Jules Own Version of the
    International Algorithmic Language), or so I've been told. It
    suffers, from my perspective, from trying to be too many things for
    too many people (for a while it ran on 2200s, Series 30, and Series 90
    systems). While there are UCS flavors of COBOL and Fortran, I suspect
    that the customer you cite probably uses FTN (ASCII Fortran). I could
    be mistaken.

    7) From a user program perspective, there are 48 general registers
    (partitioned into index registers, accumulators, and R-registers),
    and16 base registers (critical for addressing and security). While
    negative zero is a thing, arithmetic operations never return a
    negative zero. The existence of negative zero does cause some quirks
    that most people encounter very rarely. Instructions can access sixth
    words, quarter words, third words, half words, words, and double
    words. I will observe that the complex memory security features seem
    to be effective.

    8) AT&T, before it was broken up, was a heavy user of SX 1100. There
    are some oddball Exec ERs that were put in specifically to support
    AT&T's needs.

    I'm now dying to see Part 4: The Periodic File of Elements.

    Thank you very much for your thoughtful post, and I hope Part 4 is interesting to you when it's posted in a couple of weeks! I've been hitting the manuals on OS 2200 storage and the APIs for dealing with it - lot of interesting stuff in there.

    For the Ron Smith and George Gray history, do you mean "Unisys Computers: An Introductory History" or "Sperry Rand's Third Generation Computers" in IEEE Annals?

    CSHELL sounds like an interesting beast. Please let me know if you come across a copy somewhere, as I'd be very curious - though the truth is, I've become increasingly accustomed to doing things the 2200 way. :-)

    Thanks again!

    Speaking of SHELLs. Do copies of the Software Tools Virtual Operating
    System written for EXEC-8 on the 1100 still exist? Has it been ported
    to the 2200?

    bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to All on Mon Sep 26 02:03:42 2022
    As Mr. Fuld and Mr. Schroth said, welcome.
    Some piddly points of no real importance as the Really Important Stuff you probably need to know is coming from Mr. Fuld and Mr. Schroth (and probably Mr. Gunshannon Real Soon Now).

    1. You mentioned the fact that Once Upon a Time, there used to be a Unix variant, SX-1100, that ran on top of OS1100 at Bell Labs (BELLCORE).
    You also mentioned that it had a "poor reputation for performance".
    I would like to point out that at the time (pre-1100/90 IIRC), I think that 1100 hardware was still running at only a few MIPS at best.
    To paraphrase Samuel Johnson, "If you see a dog's walking on his hind legs, it may not do so very well, but what you should be surprised at is that it is done at all."

    2. As Mr. Schroth noted, the OS1100/OS2200 file system was (is?) a flat file system with program files just happening to have an internal structure that makes them look like they are a subdirectory.
    But just in case you haven't run into it yet, there were (are?) also file cycles (F-cycles) so that there can be multiple instances of a file with the "same" name.
    If you want to learn more about the joys of basic OS1100/OS2200 speak, I would recommend that you take a look at Volume 2 of one of the old Exec Programmer Reference Manuals like this one for Exec 36R2:

    < http://bitsavers.org/pdf/univac/1100/exec/UP-4144.23_R36r2_Executive_System_Vol_2_Jan80.pdf >

    Yes, I know it's older than dirt, but AFAIK, it's still applicable to today's OS2200 thanks to the joys of Backward Compatibility.

    3. You mention file access being controlled via read/write keys.
    Well, things may have changed, but that isn't (or wasn't) the only way file access could be controlled.
    Once Upon a Time, a branch of OS1100 was hardened to be compliant with the B-1 Security Standard (the Orange Book?).
    AFAIK, this is just about as good as it gets in terms of security.
    (I think Microsoft at one time came up with some that was C-2 compliant.)
    So at least at one time, access could be controlled by ACRs as well as read/write keys.

    4. From your previous questions, I suspected that you were probably writing some kind of article, especially based on your question about what were the most common programming language that programs running on OS2200 are written in.
    To be honest, I wasn't quite sure what you were getting at and to be quite honest, I not sure I do yet.

    To try to be clear on my part, every customer in sight since close to the beginning of time has wanted computers that supported high level languages so that they (the customers) could supposedly write machine independent code ... at least before they
    started using the machine specific language features that tied them in to one family of machines.
    No doubt in an attempt to keep its customers "happy", Univac/Sperry Univac/Sperry/Unisys provides and supports, and will continue to provide and support high level languages like COBOL, Fortran, and C or whatever other languages become the Language Du
    Jour so long as the Company exists.

    But the fact of the matter is that a lot of code from the Good Old Days which was and still is 1100 assembly language code, and is still presumably very much supported (even if its use is not really encouraged).
    If that wasn't the case, then the Company could have gotten rid of what amounts to an entirely different machine (a "Basic Mode" machine) that's tacked onto a newer machine with a similar architecture (an "Extended Mode" machine) which the OS switch
    between by way of a mode bit in the Unisys version of a PSW (DB16 in the Designator Register AKA DR).
    Also in addition to old Dusty Deck code, I suspect that a lot of Transaction Processing development is still actively being done in assembly language.
    Of course, if Mr. Fuld or Mr. Schroth say that I'm full of shit, I will defer to them and say that you should believe them, but my point is that I suspect that assembler is still very much alive and well as far as OS2200 is concerned and should be in
    your list.

    Also, in addition to assembly, COBOL, Fortran, and C, there's also the matter of what amounts to another Univac/Sperry Univac/Sperry/Unisys language known as Mapper (which I see you reference in the second part of your series).
    Mapper was renamed long, long ago to BL- or BS- something-something-something and was even ported to non-Univac/Sperry Univac/Sperry/Unisys machines.
    Considering that the Company once sort of tailored one of its 1100 systems to primarily run Mapper (i.e. a variant of the 1100/50 was referred to as Mapper10), I suspect that Mapper should also be added to your list.

    As for other languages that were customer written and not supported by the Company, there used to be a Pascal, a PL/1 variant (PLUM), and a LISP (written in Pascal IIRC).
    While they aren't Company processors, presumably they stand a decent chance of still running on an Dorado.

    5. I think you are confusing the Unisys 2200 emulator software that the Company uses on its Intel boxes with PS/2200.
    Although it's been a few years now since I used PS/2200, I can definitely say that at the time I used it, it was *NOT* an emulator.
    It couldn't be.
    The host OS (Windows) prevented time keeping on the 1-usec granularity that the original M-Series dayclock hardware could deliver and so if you just left the simulated system run for awhile, its sense of wall time quickly went out of sync with actual
    wall time, making PS/2200 at best a simulator rather than an emulator.
    It's my understanding that the Company emulator basically runs on top of a Linux based hypervisor which presumably is in close communication with the guest OS.
    Again, I will defer to Mr. Fuld and Mr. Schroth if they say something different.

    6. I think you haven't quite gotten a handle on the finer points of the basic 2200 Series IP (AKA CPU) architecture.
    So here are a few things that I'll throw at the wall for your consideration.

    * No, not all registers are visible in the (virtual) address space.
    The General Register Set (GRS) is divided into a User set and an Exec set, the visibility of which is determined by a mode bit (DB17).
    Even so, some instructions specify a register using a GRS offset (by combining the J- and A-fields of an instruction as in the case of the JGD instruction) and so are *NOT* affected by the mode bit, except to say that if you're a User and you try to
    access an Exec register, you won't get there from here but instead will take an interrupt.
    Furthermore, in the Good Old Days, there were some registers that were specifically for Exec use only and so you couldn't access them either no matter how tricky you might get.
    (They've largely/entirely disappeared.)
    And I think the rules for indirect addressing sometimes always reference storage rather than GRS no matter what, but I could be wrong.

    * There are basically three (3) kinds of registers in each of the two register sets in GRS: index registers (X-registers), accumulators (A-registers), and repeat counters (R-registers).
    To me, that's not all that "complex".
    I mean, the MC68000 used to have two (2) kinds of registers, index registers (A-registers) and accumulators (D-registers) and yet I don't recall the 68K architecture as being "complex".

    * When you compute the effective address of a "storage operand" whose value is less than 0200 (that's octal 0200), the processor *MAY* refer to a GRS register depending on the type of instruction being executed.
    Some instructions will *ALWAYS* reference storage no matter what, while some will reference a GRS register (assuming that you have the appropriate processor privilege to get there from here) if you're running in Basic Mode or if you're running in
    Extended mode and the B-register specified in the instruction is zero (AKA B0).

    * I would quibble about how you describe the address of a storage operand. Assuming that we're not talking about a literal/immediate value, it's specified by an offset (u) and an index value from an index (X-) register in Basic Mode or an offset (u) and index value from an index (X-) register and base value (from a Base [B-]
    register) in Extended Mode.
    The size of the offset varies between Basic mode and Extended mode, and there's a mode bit that controls the size of the index value (DB11) if you're the Exec (DB14 || DB15 < 2).
    In the Good Old Days, the effective address U was turned directly into an actual storage address (called an absolute address) via the additon of the base value from a base register, but since the introduction of M-Series (the 2200/900 and 2200/500) the
    absolute address specifies a location in a paged absolute address space and not an actual storage address.
    Paging hardware translates the absolute address into an actual storage address (called a real address) although on the emulated hardware, it's the host hardware that does the address translation.
    IOW, in the Good Old Days, 1100/2200 hardware used two layers of address translation, while the newer hardware uses three layers of address translation.

    * As Mr. Schroth has noted, OS1100/2200 basically uses Fieldata (6-bit characters) internally.
    The architecture just happens to support reading and writing sixth words which is to say 6-bits which is "nice".
    But the architecture also supports reading and writing either third words (12-bits) or quarter words (9-bits) based on the setting of a mode bit (DB32).
    I mention this because to the extent that the hardware supports a character other than Fieldata, that character is 9-bits wide, not 7-bits which is of course ASCII or 8-bits which is of course ANSI or one of the other 8-bit encodings.
    This something you need to be careful about if you're coming from an 8-bit byte addressable machine and if you happen to be conditioned to think that your characters are basically either 7-bits or 8-bits wide in an 8-bit cell.

    * Mr. Schroth said that arithmetic operations can't return a negative zero. Normally, you should always trust what Mr. Schroth says instead of what I say, but in this case, Mr. Schroth is mistaken as any of the IP PRMs indicate in their discussion of negative zero.
    In particular (-0) + (-0) = (-0) and (-0) - (+0) = (-0).
    But the only way for -0 to show up in such an operation is if a programmer to do something to explicitly put it there in a register, such as (I think), doing a load negative immediate of a positive zero before the arithmetic operation (e.g. "LN,U A0,0")
    which is kinda stupid.

    7. Maybe I'm taking this all wrong, but I get the sense in the third part of your series that you're slamming OS2200 because you're having trouble coding up your Robot Finds Kitten app in C.
    I think this is more than a little unfair/biased as by pretty much by definition, there's no such thing as "standard I/O" that's part of the C language itself.
    Yes, there are I/O libraries, but in effect you seem to be assuming that all systems that support C must also have equivalent I/O devices which is not the case.
    I doubt that you could get your Robot Finds Kitten app running on an Atmel 8-bit AVR based system even though I'm sure that there's a C compiler for it.
    IOW you seem to be trying to construct a toy application that might be trivial on x86-64 box, but doing so on an OS2200 system doesn't pass the "So What?" test for me except to the extent that you're deliberately trying to suggest that 1100/2200 Series
    systems are not just weird, but also severely lacking in capability.
    My apologies in advance if this was not your intent.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Lewis Cole on Mon Sep 26 12:45:03 2022
    Lewis Cole wrote:
    As Mr. Fuld and Mr. Schroth said, welcome.
    Some piddly points of no real importance as the Really Important Stuff you probably need to know is coming from Mr. Fuld and Mr. Schroth (and probably Mr. Gunshannon Real Soon Now).

    1. You mentioned the fact that Once Upon a Time, there used to be a Unix variant, SX-1100, that ran on top of OS1100 at Bell Labs (BELLCORE).
    You also mentioned that it had a "poor reputation for performance".
    I would like to point out that at the time (pre-1100/90 IIRC), I think that 1100 hardware was still running at only a few MIPS at best.
    To paraphrase Samuel Johnson, "If you see a dog's walking on his hind legs, it may not do so very well, but what you should be surprised at is that it is done at all."

    SX1100 was replaced by "Open Programming Environment", I have a copy of
    the manual here - OPE 4R1 from August 1998. It is one of those manuals
    which contains a number of tutorials (ed, vi, shell, awk, electronic
    mail) which indicates it was aimed at OS2200 people with little
    knowledge of Unix.


    2. As Mr. Schroth noted, the OS1100/OS2200 file system was (is?) a flat file system with program files just happening to have an internal structure that makes them look like they are a subdirectory.
    But just in case you haven't run into it yet, there were (are?) also file cycles (F-cycles) so that there can be multiple instances of a file with the "same" name.
    If you want to learn more about the joys of basic OS1100/OS2200 speak, I would recommend that you take a look at Volume 2 of one of the old Exec Programmer Reference Manuals like this one for Exec 36R2:

    < http://bitsavers.org/pdf/univac/1100/exec/UP-4144.23_R36r2_Executive_System_Vol_2_Jan80.pdf >

    Yes, I know it's older than dirt, but AFAIK, it's still applicable to today's OS2200 thanks to the joys of Backward Compatibility.

    Kira seems to have read the ECL / Furpur manual already, that is
    essentially the same.


    3. You mention file access being controlled via read/write keys.
    Well, things may have changed, but that isn't (or wasn't) the only way file access could be controlled.
    Once Upon a Time, a branch of OS1100 was hardened to be compliant with the B-1 Security Standard (the Orange Book?).
    AFAIK, this is just about as good as it gets in terms of security.
    (I think Microsoft at one time came up with some that was C-2 compliant.)
    So at least at one time, access could be controlled by ACRs as well as read/write keys.


    There are four levels of security,
    0 - File access controlled by keys and public/private is by account or project-id (configurable in the Exec).

    1 - ACRs, Clearance Levels and Owned files are introduced.
    Public/private is by file ownership unless the file is unowned (the old
    rules then apply), ACRs can be used to say who has which access to a
    file, Clearance levels can be used to block all access to those with a
    lower CL. A Security Officer can block/permit access to many ERs and privileges, either on a userid basis or to make the default generally (un)available.
    I did not find Clearance levels helpful but the rest was heavily used.

    2 - SECOPT1 + some bits which controlled file access via some control
    bits. We had it but eventually decided it was of no use to us and we
    dropped back to SECOPT1, something which required a JK13 with a local modification to FAS along with a "script" to set up the ACRs for the
    system files. Those control bits had a name but we dumped SECOPT2 25
    years ago.

    3 - SECOPT2 + some way of blocking unwelcome access to Common Banks,
    there were options to scrub memory and to scrub files when they were
    being reduced in size or deleted (obviously only the parts being
    released were scrubbed). I can't remember much about this and we never
    used it, SECOPT3 was the one with what will have been C-2 compliancy.

    4. From your previous questions, I suspected that you were probably writing some kind of article, especially based on your question about what were the most common programming language that programs running on OS2200 are written in.
    To be honest, I wasn't quite sure what you were getting at and to be quite honest, I not sure I do yet.

    To try to be clear on my part, every customer in sight since close to the beginning of time has wanted computers that supported high level languages so that they (the customers) could supposedly write machine independent code ... at least before they
    started using the machine specific language features that tied them in to one family of machines.
    No doubt in an attempt to keep its customers "happy", Univac/Sperry Univac/Sperry/Unisys provides and supports, and will continue to provide and support high level languages like COBOL, Fortran, and C or whatever other languages become the Language Du
    Jour so long as the Company exists.

    But the fact of the matter is that a lot of code from the Good Old Days which was and still is 1100 assembly language code, and is still presumably very much supported (even if its use is not really encouraged).
    If that wasn't the case, then the Company could have gotten rid of what amounts to an entirely different machine (a "Basic Mode" machine) that's tacked onto a newer machine with a similar architecture (an "Extended Mode" machine) which the OS switch
    between by way of a mode bit in the Unisys version of a PSW (DB16 in the Designator Register AKA DR).
    Also in addition to old Dusty Deck code, I suspect that a lot of Transaction Processing development is still actively being done in assembly language.
    Of course, if Mr. Fuld or Mr. Schroth say that I'm full of shit, I will defer to them and say that you should believe them, but my point is that I suspect that assembler is still very much alive and well as far as OS2200 is concerned and should be in
    your list.

    Also, in addition to assembly, COBOL, Fortran, and C, there's also the matter of what amounts to another Univac/Sperry Univac/Sperry/Unisys language known as Mapper (which I see you reference in the second part of your series).
    Mapper was renamed long, long ago to BL- or BS- something-something-something and was even ported to non-Univac/Sperry Univac/Sperry/Unisys machines.

    MAPPER was renamed BIS (Business Information System?) for marketing
    purposes, the product itself was still MAPPER. Unisys did that with
    several products.

    Considering that the Company once sort of tailored one of its 1100 systems to primarily run Mapper (i.e. a variant of the 1100/50 was referred to as Mapper10), I suspect that Mapper should also be added to your list.

    As for other languages that were customer written and not supported by the Company, there used to be a Pascal, a PL/1 variant (PLUM), and a LISP (written in Pascal IIRC).
    While they aren't Company processors, presumably they stand a decent chance of still running on an Dorado.

    I think Pascal was Extended Mode (UCS) and as such it depended on the
    UCS infrastructure (LINK, LSS, URTS). A modification was made to them
    some time after Pascal was dropped and I believe a side-effect was that
    Pascal programs would no longer work. If the change was to LSS or Link,
    they could no longer be compiled, if it was to URTS then existing
    programs would no longer run.


    5. I think you are confusing the Unisys 2200 emulator software that the Company uses on its Intel boxes with PS/2200.
    Although it's been a few years now since I used PS/2200, I can definitely say that at the time I used it, it was *NOT* an emulator.
    It couldn't be.
    The host OS (Windows) prevented time keeping on the 1-usec granularity that the original M-Series dayclock hardware could deliver and so if you just left the simulated system run for awhile, its sense of wall time quickly went out of sync with actual
    wall time, making PS/2200 at best a simulator rather than an emulator.
    It's my understanding that the Company emulator basically runs on top of a Linux based hypervisor which presumably is in close communication with the guest OS.
    Again, I will defer to Mr. Fuld and Mr. Schroth if they say something different.

    OS2200 offers (and uses) timestamps in nanoseconds-since-31-Dec-1899,
    with or without local offsets to UTC.


    6. I think you haven't quite gotten a handle on the finer points of the basic 2200 Series IP (AKA CPU) architecture.
    So here are a few things that I'll throw at the wall for your consideration.

    * No, not all registers are visible in the (virtual) address space.
    The General Register Set (GRS) is divided into a User set and an Exec set, the visibility of which is determined by a mode bit (DB17).
    Even so, some instructions specify a register using a GRS offset (by combining the J- and A-fields of an instruction as in the case of the JGD instruction) and so are *NOT* affected by the mode bit, except to say that if you're a User and you try to
    access an Exec register, you won't get there from here but instead will take an interrupt.
    Furthermore, in the Good Old Days, there were some registers that were specifically for Exec use only and so you couldn't access them either no matter how tricky you might get.
    (They've largely/entirely disappeared.)
    And I think the rules for indirect addressing sometimes always reference storage rather than GRS no matter what, but I could be wrong.

    * There are basically three (3) kinds of registers in each of the two register sets in GRS: index registers (X-registers), accumulators (A-registers), and repeat counters (R-registers).
    To me, that's not all that "complex".
    I mean, the MC68000 used to have two (2) kinds of registers, index registers (A-registers) and accumulators (D-registers) and yet I don't recall the 68K architecture as being "complex".

    * When you compute the effective address of a "storage operand" whose value is less than 0200 (that's octal 0200), the processor *MAY* refer to a GRS register depending on the type of instruction being executed.
    Some instructions will *ALWAYS* reference storage no matter what, while some will reference a GRS register (assuming that you have the appropriate processor privilege to get there from here) if you're running in Basic Mode or if you're running in
    Extended mode and the B-register specified in the instruction is zero (AKA B0).

    * I would quibble about how you describe the address of a storage operand. Assuming that we're not talking about a literal/immediate value, it's specified by an offset (u) and an index value from an index (X-) register in Basic Mode or an offset (u) and index value from an index (X-) register and base value (from a Base [B-]
    register) in Extended Mode.
    The size of the offset varies between Basic mode and Extended mode, and there's a mode bit that controls the size of the index value (DB11) if you're the Exec (DB14 || DB15 < 2).
    In the Good Old Days, the effective address U was turned directly into an actual storage address (called an absolute address) via the additon of the base value from a base register, but since the introduction of M-Series (the 2200/900 and 2200/500) the
    absolute address specifies a location in a paged absolute address space and not an actual storage address.
    Paging hardware translates the absolute address into an actual storage address (called a real address) although on the emulated hardware, it's the host hardware that does the address translation.
    IOW, in the Good Old Days, 1100/2200 hardware used two layers of address translation, while the newer hardware uses three layers of address translation.

    * As Mr. Schroth has noted, OS1100/2200 basically uses Fieldata (6-bit characters) internally.
    The architecture just happens to support reading and writing sixth words which is to say 6-bits which is "nice".
    But the architecture also supports reading and writing either third words (12-bits) or quarter words (9-bits) based on the setting of a mode bit (DB32).
    I mention this because to the extent that the hardware supports a character other than Fieldata, that character is 9-bits wide, not 7-bits which is of course ASCII or 8-bits which is of course ANSI or one of the other 8-bit encodings.
    This something you need to be careful about if you're coming from an 8-bit byte addressable machine and if you happen to be conditioned to think that your characters are basically either 7-bits or 8-bits wide in an 8-bit cell.

    * Mr. Schroth said that arithmetic operations can't return a negative zero. Normally, you should always trust what Mr. Schroth says instead of what I say, but in this case, Mr. Schroth is mistaken as any of the IP PRMs indicate in their discussion of negative zero.
    In particular (-0) + (-0) = (-0) and (-0) - (+0) = (-0).
    But the only way for -0 to show up in such an operation is if a programmer to do something to explicitly put it there in a register, such as (I think), doing a load negative immediate of a positive zero before the arithmetic operation (e.g. "LN,U A0,0")
    which is kinda stupid.

    7. Maybe I'm taking this all wrong, but I get the sense in the third part of your series that you're slamming OS2200 because you're having trouble coding up your Robot Finds Kitten app in C.
    I think this is more than a little unfair/biased as by pretty much by definition, there's no such thing as "standard I/O" that's part of the C language itself.
    Yes, there are I/O libraries, but in effect you seem to be assuming that all systems that support C must also have equivalent I/O devices which is not the case.
    I doubt that you could get your Robot Finds Kitten app running on an Atmel 8-bit AVR based system even though I'm sure that there's a C compiler for it.
    IOW you seem to be trying to construct a toy application that might be trivial on x86-64 box, but doing so on an OS2200 system doesn't pass the "So What?" test for me except to the extent that you're deliberately trying to suggest that 1100/2200 Series
    systems are not just weird, but also severely lacking in capability.
    My apologies in advance if this was not your intent.


    I dislike C as a language and managed to mostly avoid it, but I do
    remember being told that the C available on the 2200 machines was very
    very standard. If there were multiple standards over time, my guess
    would be the one in force in the mid/late 1990s.

    Going back to Unisys dropping Pascal, when they dropped something like
    that they would normally ask their customers if anyone really wanted it
    kept. Presumably no-one did.
    PL/1 was Basic Mode and not vulnerable to OS changes. They dropped the language but I'm sure anyone who wanted to keep using it could do so.
    One package Unisys dropped which *did* hurt us was Macro, it was needed
    by FDMLP (BM Fortran preprocessor for DMS) and someone did not realise
    that when they told Unisys we did not need it. All was fine until we
    hit a bug in the product.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kira Ash@21:1/5 to Lewis Cole on Mon Sep 26 06:46:39 2022
    On Monday, September 26, 2022 at 2:03:43 AM UTC-7, Lewis Cole wrote:
    As Mr. Fuld and Mr. Schroth said, welcome.
    Some piddly points of no real importance as the Really Important Stuff you probably need to know is coming from Mr. Fuld and Mr. Schroth (and probably Mr. Gunshannon Real Soon Now).

    1. You mentioned the fact that Once Upon a Time, there used to be a Unix variant, SX-1100, that ran on top of OS1100 at Bell Labs (BELLCORE).
    You also mentioned that it had a "poor reputation for performance".
    I would like to point out that at the time (pre-1100/90 IIRC), I think that 1100 hardware was still running at only a few MIPS at best.
    To paraphrase Samuel Johnson, "If you see a dog's walking on his hind legs, it may not do so very well, but what you should be surprised at is that it is done at all."

    2. As Mr. Schroth noted, the OS1100/OS2200 file system was (is?) a flat file system with program files just happening to have an internal structure that makes them look like they are a subdirectory.
    But just in case you haven't run into it yet, there were (are?) also file cycles (F-cycles) so that there can be multiple instances of a file with the "same" name.
    If you want to learn more about the joys of basic OS1100/OS2200 speak, I would recommend that you take a look at Volume 2 of one of the old Exec Programmer Reference Manuals like this one for Exec 36R2:

    < http://bitsavers.org/pdf/univac/1100/exec/UP-4144.23_R36r2_Executive_System_Vol_2_Jan80.pdf >

    Yes, I know it's older than dirt, but AFAIK, it's still applicable to today's OS2200 thanks to the joys of Backward Compatibility.

    3. You mention file access being controlled via read/write keys.
    Well, things may have changed, but that isn't (or wasn't) the only way file access could be controlled.
    Once Upon a Time, a branch of OS1100 was hardened to be compliant with the B-1 Security Standard (the Orange Book?).
    AFAIK, this is just about as good as it gets in terms of security.
    (I think Microsoft at one time came up with some that was C-2 compliant.)
    So at least at one time, access could be controlled by ACRs as well as read/write keys.

    4. From your previous questions, I suspected that you were probably writing some kind of article, especially based on your question about what were the most common programming language that programs running on OS2200 are written in.
    To be honest, I wasn't quite sure what you were getting at and to be quite honest, I not sure I do yet.

    To try to be clear on my part, every customer in sight since close to the beginning of time has wanted computers that supported high level languages so that they (the customers) could supposedly write machine independent code ... at least before they
    started using the machine specific language features that tied them in to one family of machines.
    No doubt in an attempt to keep its customers "happy", Univac/Sperry Univac/Sperry/Unisys provides and supports, and will continue to provide and support high level languages like COBOL, Fortran, and C or whatever other languages become the Language Du
    Jour so long as the Company exists.

    But the fact of the matter is that a lot of code from the Good Old Days which was and still is 1100 assembly language code, and is still presumably very much supported (even if its use is not really encouraged).
    If that wasn't the case, then the Company could have gotten rid of what amounts to an entirely different machine (a "Basic Mode" machine) that's tacked onto a newer machine with a similar architecture (an "Extended Mode" machine) which the OS switch
    between by way of a mode bit in the Unisys version of a PSW (DB16 in the Designator Register AKA DR).
    Also in addition to old Dusty Deck code, I suspect that a lot of Transaction Processing development is still actively being done in assembly language.
    Of course, if Mr. Fuld or Mr. Schroth say that I'm full of shit, I will defer to them and say that you should believe them, but my point is that I suspect that assembler is still very much alive and well as far as OS2200 is concerned and should be in
    your list.

    Also, in addition to assembly, COBOL, Fortran, and C, there's also the matter of what amounts to another Univac/Sperry Univac/Sperry/Unisys language known as Mapper (which I see you reference in the second part of your series).
    Mapper was renamed long, long ago to BL- or BS- something-something-something and was even ported to non-Univac/Sperry Univac/Sperry/Unisys machines.
    Considering that the Company once sort of tailored one of its 1100 systems to primarily run Mapper (i.e. a variant of the 1100/50 was referred to as Mapper10), I suspect that Mapper should also be added to your list.

    As for other languages that were customer written and not supported by the Company, there used to be a Pascal, a PL/1 variant (PLUM), and a LISP (written in Pascal IIRC).
    While they aren't Company processors, presumably they stand a decent chance of still running on an Dorado.

    5. I think you are confusing the Unisys 2200 emulator software that the Company uses on its Intel boxes with PS/2200.
    Although it's been a few years now since I used PS/2200, I can definitely say that at the time I used it, it was *NOT* an emulator.
    It couldn't be.
    The host OS (Windows) prevented time keeping on the 1-usec granularity that the original M-Series dayclock hardware could deliver and so if you just left the simulated system run for awhile, its sense of wall time quickly went out of sync with actual
    wall time, making PS/2200 at best a simulator rather than an emulator.
    It's my understanding that the Company emulator basically runs on top of a Linux based hypervisor which presumably is in close communication with the guest OS.
    Again, I will defer to Mr. Fuld and Mr. Schroth if they say something different.

    6. I think you haven't quite gotten a handle on the finer points of the basic 2200 Series IP (AKA CPU) architecture.
    So here are a few things that I'll throw at the wall for your consideration.

    * No, not all registers are visible in the (virtual) address space.
    The General Register Set (GRS) is divided into a User set and an Exec set, the visibility of which is determined by a mode bit (DB17).
    Even so, some instructions specify a register using a GRS offset (by combining the J- and A-fields of an instruction as in the case of the JGD instruction) and so are *NOT* affected by the mode bit, except to say that if you're a User and you try to
    access an Exec register, you won't get there from here but instead will take an interrupt.
    Furthermore, in the Good Old Days, there were some registers that were specifically for Exec use only and so you couldn't access them either no matter how tricky you might get.
    (They've largely/entirely disappeared.)
    And I think the rules for indirect addressing sometimes always reference storage rather than GRS no matter what, but I could be wrong.

    * There are basically three (3) kinds of registers in each of the two register sets in GRS: index registers (X-registers), accumulators (A-registers), and repeat counters (R-registers).
    To me, that's not all that "complex".
    I mean, the MC68000 used to have two (2) kinds of registers, index registers (A-registers) and accumulators (D-registers) and yet I don't recall the 68K architecture as being "complex".

    * When you compute the effective address of a "storage operand" whose value is less than 0200 (that's octal 0200), the processor *MAY* refer to a GRS register depending on the type of instruction being executed.
    Some instructions will *ALWAYS* reference storage no matter what, while some will reference a GRS register (assuming that you have the appropriate processor privilege to get there from here) if you're running in Basic Mode or if you're running in
    Extended mode and the B-register specified in the instruction is zero (AKA B0).

    * I would quibble about how you describe the address of a storage operand. Assuming that we're not talking about a literal/immediate value, it's specified by an offset (u) and an index value from an index (X-) register in Basic Mode or an offset (u) and index value from an index (X-) register and base value (from a Base [B-]
    register) in Extended Mode.
    The size of the offset varies between Basic mode and Extended mode, and there's a mode bit that controls the size of the index value (DB11) if you're the Exec (DB14 || DB15 < 2).
    In the Good Old Days, the effective address U was turned directly into an actual storage address (called an absolute address) via the additon of the base value from a base register, but since the introduction of M-Series (the 2200/900 and 2200/500) the
    absolute address specifies a location in a paged absolute address space and not an actual storage address.
    Paging hardware translates the absolute address into an actual storage address (called a real address) although on the emulated hardware, it's the host hardware that does the address translation.
    IOW, in the Good Old Days, 1100/2200 hardware used two layers of address translation, while the newer hardware uses three layers of address translation.

    * As Mr. Schroth has noted, OS1100/2200 basically uses Fieldata (6-bit characters) internally.
    The architecture just happens to support reading and writing sixth words which is to say 6-bits which is "nice".
    But the architecture also supports reading and writing either third words (12-bits) or quarter words (9-bits) based on the setting of a mode bit (DB32).
    I mention this because to the extent that the hardware supports a character other than Fieldata, that character is 9-bits wide, not 7-bits which is of course ASCII or 8-bits which is of course ANSI or one of the other 8-bit encodings.
    This something you need to be careful about if you're coming from an 8-bit byte addressable machine and if you happen to be conditioned to think that your characters are basically either 7-bits or 8-bits wide in an 8-bit cell.

    * Mr. Schroth said that arithmetic operations can't return a negative zero. Normally, you should always trust what Mr. Schroth says instead of what I say, but in this case, Mr. Schroth is mistaken as any of the IP PRMs indicate in their discussion of negative zero.
    In particular (-0) + (-0) = (-0) and (-0) - (+0) = (-0).
    But the only way for -0 to show up in such an operation is if a programmer to do something to explicitly put it there in a register, such as (I think), doing a load negative immediate of a positive zero before the arithmetic operation (e.g. "LN,U A0,0")
    which is kinda stupid.

    7. Maybe I'm taking this all wrong, but I get the sense in the third part of your series that you're slamming OS2200 because you're having trouble coding up your Robot Finds Kitten app in C.
    I think this is more than a little unfair/biased as by pretty much by definition, there's no such thing as "standard I/O" that's part of the C language itself.
    Yes, there are I/O libraries, but in effect you seem to be assuming that all systems that support C must also have equivalent I/O devices which is not the case.
    I doubt that you could get your Robot Finds Kitten app running on an Atmel 8-bit AVR based system even though I'm sure that there's a C compiler for it.
    IOW you seem to be trying to construct a toy application that might be trivial on x86-64 box, but doing so on an OS2200 system doesn't pass the "So What?" test for me except to the extent that you're deliberately trying to suggest that 1100/2200 Series
    systems are not just weird, but also severely lacking in capability.
    My apologies in advance if this was not your intent.

    I'm terribly sorry if it somehow came across like I was slamming OS 2200 in part 3. On the contrary, I'm very much enjoying OS 2200; I find it to be a well-thought-out platform, with good interfaces to the user and the programmer, and I don't know what I
    wrote that gave the impression that I was attacking the 2200 system.

    I sincerely thank you for the rest of your informative post.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to Kira Ash on Mon Sep 26 11:20:47 2022
    On Monday, September 26, 2022 at 6:46:40 AM UTC-7, Kira Ash wrote:
    I'm terribly sorry if it somehow came across
    like I was slamming OS 2200 in part 3. On the
    contrary, I'm very much enjoying OS 2200; I
    find it to be a well-thought-out platform,
    with good interfaces to the user and the
    programmer, and I don't know what I wrote
    that gave the impression that I was attacking
    the 2200 system.

    I think that the way you've written your articles makes it easy for people who want to look down on mainframe in general and OS2200 systems in particular to do so.

    For example, I ran across your series by way of a bit in the episode 260 YouTube video on the Retrocomputing Roundtable channel
    (< https://www.youtube.com/watch?v=JeK3E0JA8N4 > starting around timestamp [48:23]).
    After all four of the Roundtable board members basically expressed complete cluelessness about mainframes and OS2200, one member -- a PROGRAMMER who I happen to follow for her machinist videos on her Blondi Hacks channel -- said this (starting around
    timestamp [52:13]):

    "Well when people talked about that, like we've all heard the stories about the culture clash between, you know, mainframes and the smaller mini-computer systems, and how difficult that transition was for companies because, you know, the mainframe people
    had all the lab coats and all the prestige and so on.
    And they cultivated this, you know, mystery of wizards in a tower running these systems.

    "But a blog like this really, ah, really, brings that home, like, what a completely different world it was.
    One of the earlier posts she said about how the, ah, system that she's running was like intentionally baroque or something ... how did she put it? ... like it reveled in how weird it was and how difficult it was to understand.
    And yeah, this -- this line here I like: 'They are unapologetically strange systems -- integers are represented as ones' complement, and the machine word is 36-bits; the operating system is proudly baroque and more than a little intimidating.'"

    She skips the following line where you said, "They're also way more fun than I expected" and instead went on to say:

    "That's great writing, but I also think that it sells how strange these systems were.
    And I almost won ... this also makes me wonder if there was a little bit of intentionality at some point here because engineers always joke about how hard, complicated, hard-to-understand systems create job security -- which is not really true but we
    like to joke about being true -- and that almost feels like that's what's happening here. I mean if you create a system that's so hard to understand, then you have to go back to the same set of people to operate it."

    As it turns out, I appear to be blocked from making comments on this video (presumably because I pointed out that the claim she made in episode 0 that the presence of positive and negative zero in ones complement makes "basic arithmetic crazy complicated"
    was untrue).

    Now I understand that you can't control the way people interpret what you've written, but with all due respect, I can't see how you weren't intending to slam OS2200 when you wrote the first paragraph of the third section of your series.
    And later on, whatever "fun" you may have been having seemed to me to hidden behind the fact that you were trying to overcome the obstacles of OS2200 software that you could entirely avoid by using something like ncurses or some other library known to
    Linux kind.

    FWIW, as I read what you were doing, I kept thinking to myself, "If you're trying to send something to a Uniscope terminal as a test (which I assume is the output device you're using either simulated or real), why is she messing around with C and DPS at
    all?"
    I means if I wanted to send something to a screen just as a test, I'd probably use @FLIT.
    Yes, @FLIT is a 2200 program or system simulator, but you can easily get it to send strings to terminals and you can put what you've discovered into @FLIT functions to automate the results.
    For example, Once Upon a Time, the person who I think used to take care of RSI$ was wondering what various characters sequences would do to a UTS-20 and so he called up @FLIT, told the OS to send everything to the terminal as-is (i.e. "@@ESC O") and then
    executed a simple @FLIT function that basically sent every possible 4-character string possible to the terminal.
    Just for giggles, I did the same with the result being that I hung every terminal on my string for like half a day which didn't make me a particularly popular person for awhile.
    While it may be a case of "If all you have is a hammer, everything looks like a nail", I'd probably consider writing your little test app in terms of @FLIT functions because I used to be pretty comfortable using @FLIT.

    In any event, like others, I look forward to your future installments.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From jns@ma.sdf.org@21:1/5 to All on Tue Sep 27 20:19:04 2022
    I'd like to say that I enjoyed the articles so far, and
    the way I read them was in a positive tone towards OS2200
    and mainframes in general. The emphasis on fun and the very
    idea of writing a little game in the environment I find
    encourages experimentation and works inspiring for people
    new to OS2200 like myself.

    -jns

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Lewis Cole on Tue Sep 27 14:34:49 2022
    On 9/26/2022 11:20 AM, Lewis Cole wrote:
    On Monday, September 26, 2022 at 6:46:40 AM UTC-7, Kira Ash wrote:
    I'm terribly sorry if it somehow came across
    like I was slamming OS 2200 in part 3. On the
    contrary, I'm very much enjoying OS 2200; I
    find it to be a well-thought-out platform,
    with good interfaces to the user and the
    programmer, and I don't know what I wrote
    that gave the impression that I was attacking
    the 2200 system.

    I think that the way you've written your articles makes it easy for people who want to look down on mainframe in general and OS2200 systems in particular to do so.

    For example, I ran across your series by way of a bit in the episode 260 YouTube video on the Retrocomputing Roundtable channel
    (< https://www.youtube.com/watch?v=JeK3E0JA8N4 > starting around timestamp [48:23]).
    After all four of the Roundtable board members basically expressed complete cluelessness about mainframes and OS2200, one member -- a PROGRAMMER who I happen to follow for her machinist videos on her Blondi Hacks channel -- said this (starting around
    timestamp [52:13]):

    "Well when people talked about that, like we've all heard the stories about the culture clash between, you know, mainframes and the smaller mini-computer systems, and how difficult that transition was for companies because, you know, the mainframe
    people had all the lab coats and all the prestige and so on.
    And they cultivated this, you know, mystery of wizards in a tower running these systems.

    "But a blog like this really, ah, really, brings that home, like, what a completely different world it was.
    One of the earlier posts she said about how the, ah, system that she's running was like intentionally baroque or something ... how did she put it? ... like it reveled in how weird it was and how difficult it was to understand.
    And yeah, this -- this line here I like: 'They are unapologetically strange systems -- integers are represented as ones' complement, and the machine word is 36-bits; the operating system is proudly baroque and more than a little intimidating.'"

    She skips the following line where you said, "They're also way more fun than I expected" and instead went on to say:

    "That's great writing, but I also think that it sells how strange these systems were.
    And I almost won ... this also makes me wonder if there was a little bit of intentionality at some point here because engineers always joke about how hard, complicated, hard-to-understand systems create job security -- which is not really true but we
    like to joke about being true -- and that almost feels like that's what's happening here. I mean if you create a system that's so hard to understand, then you have to go back to the same set of people to operate it."

    As it turns out, I appear to be blocked from making comments on this video (presumably because I pointed out that the claim she made in episode 0 that the presence of positive and negative zero in ones complement makes "basic arithmetic crazy
    complicated" was untrue).

    Now I understand that you can't control the way people interpret what you've written, but with all due respect, I can't see how you weren't intending to slam OS2200 when you wrote the first paragraph of the third section of your series.
    And later on, whatever "fun" you may have been having seemed to me to hidden behind the fact that you were trying to overcome the obstacles of OS2200 software that you could entirely avoid by using something like ncurses or some other library known to
    Linux kind.

    I haven't watched the video, but from what you said, I think the problem
    is with the lady in the video, not with Kira. She doesn't bolster her
    point when she clips out the part that exactly contradicts her position. :-)

    As for apologetically strange, I think that is actually right. They
    certainly have nothing to apologize for, especially as OS 1100 predates
    Linux by decades. And yes, compared to virtually every other CPU
    generally available, 1s complement arithmetic and 36 bit words are at
    best "unusual" and I don't blink at someone calling them strange. Of
    course, it might appear less strange if you understood the reasoning
    behind those decisions, and the upward compatibility requirements for
    keeping them. (Reasons supplied on request.)

    As for the meat of the issue, I can certainly see that someone steeped
    in Unix would have a hard time "getting" the 2200 way of doing things.
    I applaud Kira for taking on the challenge, and from what I can see,
    doing remarkably well.

    BTW, Kira, if you are comfortable saying, why did you embark on this
    journey? Was it an assignment of some sort, or just for fun? If for
    fun, why did you pick the 2200 as opposed to some other system?





    FWIW, as I read what you were doing, I kept thinking to myself, "If you're trying to send something to a Uniscope terminal as a test (which I assume is the output device you're using either simulated or real), why is she messing around with C and DPS
    at all?"
    I means if I wanted to send something to a screen just as a test, I'd probably use @FLIT.

    Talk about strange! While you could do as you say, Flit is even more a departure from "typical" systems and has a learning curve all its own.



    In any event, like others, I look forward to your future installments.

    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kira Ash@21:1/5 to Stephen Fuld on Tue Sep 27 15:24:10 2022
    On Tuesday, September 27, 2022 at 2:34:59 PM UTC-7, Stephen Fuld wrote:
    On 9/26/2022 11:20 AM, Lewis Cole wrote:
    On Monday, September 26, 2022 at 6:46:40 AM UTC-7, Kira Ash wrote:
    I'm terribly sorry if it somehow came across
    like I was slamming OS 2200 in part 3. On the
    contrary, I'm very much enjoying OS 2200; I
    find it to be a well-thought-out platform,
    with good interfaces to the user and the
    programmer, and I don't know what I wrote
    that gave the impression that I was attacking
    the 2200 system.

    I think that the way you've written your articles makes it easy for people who want to look down on mainframe in general and OS2200 systems in particular to do so.

    For example, I ran across your series by way of a bit in the episode 260 YouTube video on the Retrocomputing Roundtable channel
    (< https://www.youtube.com/watch?v=JeK3E0JA8N4 > starting around timestamp [48:23]).
    After all four of the Roundtable board members basically expressed complete cluelessness about mainframes and OS2200, one member -- a PROGRAMMER who I happen to follow for her machinist videos on her Blondi Hacks channel -- said this (starting around
    timestamp [52:13]):

    "Well when people talked about that, like we've all heard the stories about the culture clash between, you know, mainframes and the smaller mini-computer systems, and how difficult that transition was for companies because, you know, the mainframe
    people had all the lab coats and all the prestige and so on.
    And they cultivated this, you know, mystery of wizards in a tower running these systems.

    "But a blog like this really, ah, really, brings that home, like, what a completely different world it was.
    One of the earlier posts she said about how the, ah, system that she's running was like intentionally baroque or something ... how did she put it? ... like it reveled in how weird it was and how difficult it was to understand.
    And yeah, this -- this line here I like: 'They are unapologetically strange systems -- integers are represented as ones' complement, and the machine word is 36-bits; the operating system is proudly baroque and more than a little intimidating.'"

    She skips the following line where you said, "They're also way more fun than I expected" and instead went on to say:

    "That's great writing, but I also think that it sells how strange these systems were.
    And I almost won ... this also makes me wonder if there was a little bit of intentionality at some point here because engineers always joke about how hard, complicated, hard-to-understand systems create job security -- which is not really true but we
    like to joke about being true -- and that almost feels like that's what's happening here. I mean if you create a system that's so hard to understand, then you have to go back to the same set of people to operate it."

    As it turns out, I appear to be blocked from making comments on this video (presumably because I pointed out that the claim she made in episode 0 that the presence of positive and negative zero in ones complement makes "basic arithmetic crazy
    complicated" was untrue).

    Now I understand that you can't control the way people interpret what you've written, but with all due respect, I can't see how you weren't intending to slam OS2200 when you wrote the first paragraph of the third section of your series.
    And later on, whatever "fun" you may have been having seemed to me to hidden behind the fact that you were trying to overcome the obstacles of OS2200 software that you could entirely avoid by using something like ncurses or some other library known
    to Linux kind.
    I haven't watched the video, but from what you said, I think the problem
    is with the lady in the video, not with Kira. She doesn't bolster her
    point when she clips out the part that exactly contradicts her position. :-)

    As for apologetically strange, I think that is actually right. They certainly have nothing to apologize for, especially as OS 1100 predates Linux by decades. And yes, compared to virtually every other CPU
    generally available, 1s complement arithmetic and 36 bit words are at
    best "unusual" and I don't blink at someone calling them strange. Of
    course, it might appear less strange if you understood the reasoning
    behind those decisions, and the upward compatibility requirements for keeping them. (Reasons supplied on request.)

    As for the meat of the issue, I can certainly see that someone steeped
    in Unix would have a hard time "getting" the 2200 way of doing things.
    I applaud Kira for taking on the challenge, and from what I can see,
    doing remarkably well.

    BTW, Kira, if you are comfortable saying, why did you embark on this journey? Was it an assignment of some sort, or just for fun? If for
    fun, why did you pick the 2200 as opposed to some other system?


    Thank you for your kind reply. I was very worried that I had made some grievous error and was flirting with taking LPOS2200 down - I didn't mean to upset anyone at all. I have enjoyed my time with OS 2200 more than I've expected, and certainly found it
    to be a likable system. And while Lewis seems to think I'd rather being using ncurses, once I figured out the mechanisms of DPS 2200, I'm impressed by how powerful it is - mostly-transparent form validation, in particular, is a very handy feature.

    I've actually been interested in non-IBM mainframes for a while - I've been sporadically researching GCOS since I was in high school, over a decade ago, for instance - and I had read MCP manuals but never OS 2200. I had some concern that OS 2200 Express
    would be going away, since MCP Express already had, and figured I should get a license and learn it while I still had the opportunity. I had been trying to think up a good project to learn the APIs and tools for a while, and nothing really came to mind -
    until I remembered that the Robotfindskitten website included, on its list of ports, "Did you port rfk to Univac? Click here!" and I decided to take it more literally than the Robotfindskitten developers intended. I figured "okay, I can use the system
    forms interface to display it, and use the structured file interfaces to store game text" and ran with it from there. The point was always just to have a direction to learn from, not to do the easiest or most idiomatic possible port of Robotfindskitten.

    I never initially planned to write articles about it at all, but friends of mine - perhaps growing unhappy with walls of text on chat programs about "whoa, look at what I figured out how to do in OS 2200!" - suggested I publish what I was learning, and
    the process by which I was learning it.

    If I've done something wrong in all of that, I really am sorry. I did not want to ruffle any feathers. As to the video, I take the assertion that OS 2200 is designed the way it is because of some kind of job-security-related plot to be completely
    ridiculous. As with any operating system, I know it evolved to be the way it is because of the combination of application requirements and technical and practical limitations, and I actually quite like what I've seen of it so far. I left the following
    comment on the video, and I hope the Retrocomputing Roundtable hosts will read it:

    " Hiya! I wrote Let's Play OS 2200 and I'm glad you enjoyed it! The emulator used is PS/2200, provided as a component of Unisys's OS 2200 Express. It runs a modern version of OS 2200 (iirc one version behind what's shipping today) and is free, but
    requires you to request a license. As for OS 2200 itself - I really don't think it's complex for the purpose of job security or complexity in and of itself. It's complex because it's supporting complex workloads that have to do a lot of different things -
    and the Unix way of dealing with things is not the one and only true way to do them; it's just the way a lot of the industry settled on. Mainframe operating systems tend to make a different set of tradeoffs, but they aren't intrinsically "wrong" - they
    were tradeoffs that made sense to their userbase and their workloads. Unix has complexity too, it's just complexity that's more familiar. As for documentation, it's freely available on Unisys's site; very little of it is intended for introductory users,
    but it's definitely understandable if you put the effort in - and at least in my opinion, OS 2200 is way more approachable than GCOS 8 or MVS! "

    As for 36-bit systems, I know they used to be common - GCOS 8 and OS 2200 are the only survivors, to the best of my knowledge, but there used to be the IBM 7xxx, PDP-10, and various others - but I've been somewhat unclear as to why; if I had to guess, I
    would assume that it's a natural word length for storing 6-bit character data, and that opting for word-addressing instead of byte-address increases the effective address space for a given word size. Someone also once told me it was because it provided
    ten signed integer digits. I am less clear as to the reasoning for ones' complement; wasn't it a little unusual even at the time?

    Again, I apologize if I did or said something wrong. This is all new to me, and I freely admit I'm out of my depth, but I'm trying to do right by the system.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to What you on Tue Sep 27 16:56:26 2022
    On Tuesday, September 27, 2022 at 3:24:11 PM UTC-7, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 2:34:59 PM UTC-7, Stephen Fuld wrote:
    As for the meat of the issue, I can certainly see that someone steeped
    in Unix would have a hard time "getting" the 2200 way of doing things.
    I applaud Kira for taking on the challenge, and from what I can see,
    doing remarkably well.

    BTW, Kira, if you are comfortable saying, why did you embark on this
    journey? Was it an assignment of some sort, or just for fun? If for
    fun, why did you pick the 2200 as opposed to some other system?


    Thank you for your kind reply. I was very worried that I had made some grievous error and was flirting with taking LPOS2200 down - I didn't
    mean to upset anyone at all. [...]

    Just to try to be perfectly clear on my part, I don't think that Kira needs to apply to me or anyone else for what she has written.
    Even if she was intending to slam OS2200, that would be her opinion and she is entitled to it.
    (Of course, I am entitled to mine as well which means that I'm entitled to express my disagreement.)
    I have no problem with anyone trying to learn more about OS2200 and/or the 1100/2200 Series of computers and I applaud Kira's interest in, and willing to actually learn more about, OS2200 and the 1100/2200 Series of computers.

    In fact, I apologize to you, Kira, for making feel that any sort of apology was necessary at all for what you wrote.

    [...] I have enjoyed my time with OS 2200 more
    than I've expected, and certainly found it to be a likable system. And
    while Lewis seems to think I'd rather being using ncurses, once I
    figured out the mechanisms of DPS 2200, I'm impressed by how powerful
    it is - mostly-transparent form validation, in particular, is a very
    handy feature.

    < snip >

    What I think is that people whose experience is basically centered on C/Linux tend to judge the world based on that experience.
    I think that means that more often than not, anything that isn't consistent with that experience negatively, meaning if you have to do more than include a library in your code (e.g. ncurses) in your code, you're more likely to regard what you do with
    OS2200 as sort of Unisys's way to create a "kicking a dead whale down the beach" experience.
    What you wrote in part 3 is consistent with what I would expect to see with someone learning a new piece of software and for me is no big deal if I hadn't read the bit about OS2200 being "baroque" and "intimidating" and hadn't listened to the
    Retrocomputing Roundtable video.

    If I've done something wrong in all of that, I really am sorry.

    Again, there's no reason for you to apologize.

    I did not want to ruffle any feathers.
    < snip >

    This is the Internet. You'll find someone will find a way to be upset with you no matter what you do. It's the cost of doing business.
    Please continue your series.
    Again, I look forward to seeing the rest.

    I left the following comment on the video, and I hope the
    Retrocomputing Roundtable hosts will read it:
    < snip >

    I likewise left a comment on the video (it's the first message that isn't visible for some reason) and when it appeared that I was being blocked, I sent an E-mail to their feedback address along with a copy of my message.
    I won't go into the details of the reply I got, but response I got indicated (1) that I wasn't blocked ("hidden") but that something -- presumably YouTube just because -- decided my message shouldn't be seen and (2) that the host Paul was interested in
    playing with the PS2200 simulator but felt like doing so might be like wading into the ocean.
    I indicated that if you just squint real hard, the XPA IP really looks a lot like an Intel 386 only with fixed length words and ones complement arithmetic.
    I haven't gotten any further response, but I hope that he too will give OS2200 a spin.

    FWIW, I've up-thumbed your reply, but as with my previous comment post to the video, that too seems to have disappeared into the mist for some reason.
    I also note that the message count is up to three, but only your message is visible. Hmmm.

    Again, I apologize if I did or said something wrong. This
    is all new to me, and I freely admit I'm out of my depth,
    but I'm trying to do right by the system.

    You did nothing wrong. You have done nothing to apologize for. Do "right" by yourself and don't worry about "the system" ... it's a machine and a bunch of software and isn't bothered by piddly human concerns.

    And my apologies to you for what I've done to make you feel that you need to apologize.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to All on Tue Sep 27 17:17:23 2022
    On Tuesday, September 27, 2022 at 2:34:59 PM UTC-7, Stephen Fuld wrote:
    On 9/26/2022 11:20 AM, Lewis Cole wrote:

    I haven't watched the video, but from what you said, I think the problem
    is with the lady in the video, not with Kira. She doesn't bolster her
    point when she clips out the part that exactly contradicts her position. :-)
    < snip >

    Agreed.
    Be that as it may, Quinn is no dummy and she expressed an opinion that the other members didn't take issue with ... which I took to mean they either agreed with her or didn't think they knew enough to get into an agreement with her that would be captured
    for posterity.

    As for the meat of the issue, I can certainly see that someone steeped
    in Unix would have a hard time "getting" the 2200 way of doing things.
    I applaud Kira for taking on the challenge, and from what I can see,
    doing remarkably well.
    < snip >

    Agreed.
    In an E-mail from one of the members of the board (the details of which I won't get into), he basically said that the board members' experience is more with small scale systems (micros really) rather than mainframes.
    So while I might (and did) have problems getting used to Windows coming from an OS1100/2200 environment, and have done just about everything I can to avoid dealing with Linux for the same sort of reason, the fact of the matter is that if I were to make
    comments about my experience, no one would likely take such comments as a reflection on PCs or Windows or Linux.
    (Well, maybe the Windows users would bitch about Linux and the Linux users would bitch about Windows, but I think most people would bitch about me being a newbie.)

    FWIW, as I read what you were doing, I kept thinking to myself,
    "If you're trying to send something to a Uniscope terminal as a
    test (which I assume is the output device you're using either
    simulated or real), why is she messing around with C and DPS at
    all?"
    I means if I wanted to send something to a screen just as a test,
    I'd probably use @FLIT.

    Talk about strange! While you could do as you say, Flit is even more a departure from "typical" systems and has a learning curve all its own.
    < snip >

    @FLIT is of course 1100/2200 specific, but IMHO is essential if one has any interest in developing software on OS1100/2200, just as much as using GDB is on Linux.
    What I've found is that I can do more than just debug programs using @FLIT and in particular when I wanted to see what a terminal/console would do in response to control sequences, @FLIT beat writing a @MASM program to get the job done.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David W Schroth@21:1/5 to bill.gunshannon@gmail.com on Tue Sep 27 21:30:28 2022
    On Sat, 24 Sep 2022 18:28:20 -0400, Bill Gunshannon
    <bill.gunshannon@gmail.com> wrote:

    On 9/24/22 17:14, Kira Ash wrote:
    On Friday, September 23, 2022 at 10:07:00 PM UTC-7, David W Schroth wrote: >>> On Thu, 22 Sep 2022 14:35:59 -0700 (PDT), Kira Ash
    <hpeint...@gmail.com> wrote:

    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.

    Kira
    I will echo Mr. Fuld's welcome to you, and offer semi-random comments
    on your fascinating posts.

    1) I believe that there is a CSHELL program for the 2200 that provides
    a decent emulation of a *nix shell. While I knew the authors when
    they worked at Unisys, I don't know where the program can be found.

    2) The 2200 File System is a flat file system. According to Ron Smith
    (co-author with George Gray of what I regard as the definitive history
    of Unisys systems), there was a time when Univac considered replacing
    the flat file system with a heirarchical file systems. The customers
    they discussed this with were not supportive of the idea, so it was
    dropped.

    3) Based upon your comment regarding read and write keys on files, I
    infer that you are running on what is called a Fundamental Security
    system. I tend to regard SECOPT1 (or higher) systems somewhat more
    secure, and on those systems read and write keys are not meaningful
    for most files.

    4) The ECL (Exec Control Language) internally works with Fieldata,
    which is a six bit character set. So ECL is not case-sensitive.

    5) @PRT (with no options) is not something I typically use, as it
    displays the contents of the entire Master File Directory. Not a big
    deal on systems with small filesystems; a very big deal at some sites
    I have supported with very large file systems.

    6) PLUS is a descendent of JOVIAL (Jules Own Version of the
    International Algorithmic Language), or so I've been told. It
    suffers, from my perspective, from trying to be too many things for
    too many people (for a while it ran on 2200s, Series 30, and Series 90
    systems). While there are UCS flavors of COBOL and Fortran, I suspect
    that the customer you cite probably uses FTN (ASCII Fortran). I could
    be mistaken.

    7) From a user program perspective, there are 48 general registers
    (partitioned into index registers, accumulators, and R-registers),
    and16 base registers (critical for addressing and security). While
    negative zero is a thing, arithmetic operations never return a
    negative zero. The existence of negative zero does cause some quirks
    that most people encounter very rarely. Instructions can access sixth
    words, quarter words, third words, half words, words, and double
    words. I will observe that the complex memory security features seem
    to be effective.

    8) AT&T, before it was broken up, was a heavy user of SX 1100. There
    are some oddball Exec ERs that were put in specifically to support
    AT&T's needs.

    I'm now dying to see Part 4: The Periodic File of Elements.

    Thank you very much for your thoughtful post, and I hope Part 4 is interesting to you when it's posted in a couple of weeks! I've been hitting the manuals on OS 2200 storage and the APIs for dealing with it - lot of interesting stuff in there.

    For the Ron Smith and George Gray history, do you mean "Unisys Computers: An Introductory History" or "Sperry Rand's Third Generation Computers" in IEEE Annals?

    CSHELL sounds like an interesting beast. Please let me know if you come across a copy somewhere, as I'd be very curious - though the truth is, I've become increasingly accustomed to doing things the 2200 way. :-)

    Thanks again!

    Speaking of SHELLs. Do copies of the Software Tools Virtual Operating
    System written for EXEC-8 on the 1100 still exist? Has it been ported
    to the 2200?

    bill

    Much to my surprise, you reference something 1100/2200 related that
    I've never heard of. Please tell us more.

    IMO, the major difference (from a user code standpoint) between an
    1100 and a 2200 is that marketing thought 2200 sounded twice as sexy
    as 1100. Mileage almost certainly varies.

    Regards,

    David W. Schroth

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David W Schroth@21:1/5 to All on Tue Sep 27 22:55:56 2022
    On Mon, 26 Sep 2022 12:45:03 +0200, Andrew <Doug@hyperspace.vogon.gov>
    wrote:

    Lewis Cole wrote:
    As Mr. Fuld and Mr. Schroth said, welcome.
    <snip>
    There are four levels of security,
    0 - File access controlled by keys and public/private is by account or >project-id (configurable in the Exec).

    Aka Fundamental Security.

    1 - ACRs, Clearance Levels and Owned files are introduced.
    Public/private is by file ownership unless the file is unowned (the old
    rules then apply), ACRs can be used to say who has which access to a
    file, Clearance levels can be used to block all access to those with a
    lower CL. A Security Officer can block/permit access to many ERs and >privileges, either on a userid basis or to make the default generally >(un)available.
    I did not find Clearance levels helpful but the rest was heavily used.

    2 - SECOPT1 + some bits which controlled file access via some control
    bits. We had it but eventually decided it was of no use to us and we
    dropped back to SECOPT1, something which required a JK13 with a local >modification to FAS along with a "script" to set up the ACRs for the
    system files. Those control bits had a name but we dumped SECOPT2 25
    years ago.

    3 - SECOPT2 + some way of blocking unwelcome access to Common Banks,
    there were options to scrub memory and to scrub files when they were
    being reduced in size or deleted (obviously only the parts being
    released were scrubbed). I can't remember much about this and we never
    used it, SECOPT3 was the one with what will have been C-2 compliancy.

    Actually, OS1100 with SECOPT3 TRUE was evaluated as B1 compliant. And
    Unisys was one of the few (maybe the only) vendor to successfully RAMP
    their B1 offering.

    My vague recollection was that OS1100 with SECOPT1 was regarded as
    being C2 compliant, but I coud easily be misremembering that.

    <snip>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to David W Schroth on Tue Sep 27 21:49:35 2022
    On 9/27/2022 7:30 PM, David W Schroth wrote:
    On Sat, 24 Sep 2022 18:28:20 -0400, Bill Gunshannon <bill.gunshannon@gmail.com> wrote:

    On 9/24/22 17:14, Kira Ash wrote:
    On Friday, September 23, 2022 at 10:07:00 PM UTC-7, David W Schroth wrote: >>>> On Thu, 22 Sep 2022 14:35:59 -0700 (PDT), Kira Ash
    <hpeint...@gmail.com> wrote:

    Hi all,

    I've been working on a series of posts documenting my experiences learning about, and programming for, OS 2200 using OS 2200 Express. I wasn't sure if anyone here would find it interesting or not, but I thought I'd post it just in case.

    https://arcanesciences.com/os2200/

    Feel free to yell at me if I'm misunderstanding or misstating anything - I'm not an expert in this system at all, but I'm getting deeper into it and liking what I'm seeing.

    Kira
    I will echo Mr. Fuld's welcome to you, and offer semi-random comments
    on your fascinating posts.

    1) I believe that there is a CSHELL program for the 2200 that provides >>>> a decent emulation of a *nix shell. While I knew the authors when
    they worked at Unisys, I don't know where the program can be found.

    2) The 2200 File System is a flat file system. According to Ron Smith
    (co-author with George Gray of what I regard as the definitive history >>>> of Unisys systems), there was a time when Univac considered replacing
    the flat file system with a heirarchical file systems. The customers
    they discussed this with were not supportive of the idea, so it was
    dropped.

    3) Based upon your comment regarding read and write keys on files, I
    infer that you are running on what is called a Fundamental Security
    system. I tend to regard SECOPT1 (or higher) systems somewhat more
    secure, and on those systems read and write keys are not meaningful
    for most files.

    4) The ECL (Exec Control Language) internally works with Fieldata,
    which is a six bit character set. So ECL is not case-sensitive.

    5) @PRT (with no options) is not something I typically use, as it
    displays the contents of the entire Master File Directory. Not a big
    deal on systems with small filesystems; a very big deal at some sites
    I have supported with very large file systems.

    6) PLUS is a descendent of JOVIAL (Jules Own Version of the
    International Algorithmic Language), or so I've been told. It
    suffers, from my perspective, from trying to be too many things for
    too many people (for a while it ran on 2200s, Series 30, and Series 90 >>>> systems). While there are UCS flavors of COBOL and Fortran, I suspect
    that the customer you cite probably uses FTN (ASCII Fortran). I could
    be mistaken.

    7) From a user program perspective, there are 48 general registers
    (partitioned into index registers, accumulators, and R-registers),
    and16 base registers (critical for addressing and security). While
    negative zero is a thing, arithmetic operations never return a
    negative zero. The existence of negative zero does cause some quirks
    that most people encounter very rarely. Instructions can access sixth
    words, quarter words, third words, half words, words, and double
    words. I will observe that the complex memory security features seem
    to be effective.

    8) AT&T, before it was broken up, was a heavy user of SX 1100. There
    are some oddball Exec ERs that were put in specifically to support
    AT&T's needs.

    I'm now dying to see Part 4: The Periodic File of Elements.

    Thank you very much for your thoughtful post, and I hope Part 4 is interesting to you when it's posted in a couple of weeks! I've been hitting the manuals on OS 2200 storage and the APIs for dealing with it - lot of interesting stuff in there.

    For the Ron Smith and George Gray history, do you mean "Unisys Computers: An Introductory History" or "Sperry Rand's Third Generation Computers" in IEEE Annals?

    CSHELL sounds like an interesting beast. Please let me know if you come across a copy somewhere, as I'd be very curious - though the truth is, I've become increasingly accustomed to doing things the 2200 way. :-)

    Thanks again!

    Speaking of SHELLs. Do copies of the Software Tools Virtual Operating
    System written for EXEC-8 on the 1100 still exist? Has it been ported
    to the 2200?

    bill

    Much to my surprise, you reference something 1100/2200 related that
    I've never heard of. Please tell us more.

    IMO, the major difference (from a user code standpoint) between an
    1100 and a 2200 is that marketing thought 2200 sounded twice as sexy
    as 1100.

    That, plus they essentially ran out of numbers, as they already had the 1100/10, /20, /40, /50, /60, /80, and /90. So they had to change something.

    Mileage almost certainly varies.

    Certainly. :-)



    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to All on Tue Sep 27 22:27:06 2022
    T24gOS8yNy8yMDIyIDM6MjQgUE0sIEtpcmEgQXNoIHdyb3RlOg0KPiBPbiBUdWVzZGF5LCBT ZXB0ZW1iZXIgMjcsIDIwMjIgYXQgMjozNDo1OSBQTSBVVEMtNywgU3RlcGhlbiBGdWxkIHdy b3RlOg0KDQpiaWcgc25pcA0KDQo+Pg0KPj4gQXMgZm9yIGFwb2xvZ2V0aWNhbGx5DQoNClR5 cG8uICBPZiBjb3Vyc2UgSSBtZWFudCAqdW4qYXBvbG9nZXRpY2FsbHkNCg0KDQogIHN0cmFu Z2UsIEkgdGhpbmsgdGhhdCBpcyBhY3R1YWxseSByaWdodC4gVGhleQ0KPj4gY2VydGFpbmx5 IGhhdmUgbm90aGluZyB0byBhcG9sb2dpemUgZm9yLCBlc3BlY2lhbGx5IGFzIE9TIDExMDAg cHJlZGF0ZXMNCj4+IExpbnV4IGJ5IGRlY2FkZXMuIEFuZCB5ZXMsIGNvbXBhcmVkIHRvIHZp cnR1YWxseSBldmVyeSBvdGhlciBDUFUNCj4+IGdlbmVyYWxseSBhdmFpbGFibGUsIDFzIGNv bXBsZW1lbnQgYXJpdGhtZXRpYyBhbmQgMzYgYml0IHdvcmRzIGFyZSBhdA0KPj4gYmVzdCAi dW51c3VhbCIgYW5kIEkgZG9uJ3QgYmxpbmsgYXQgc29tZW9uZSBjYWxsaW5nIHRoZW0gc3Ry YW5nZS4gT2YNCj4+IGNvdXJzZSwgaXQgbWlnaHQgYXBwZWFyIGxlc3Mgc3RyYW5nZSBpZiB5 b3UgdW5kZXJzdG9vZCB0aGUgcmVhc29uaW5nDQo+PiBiZWhpbmQgdGhvc2UgZGVjaXNpb25z LCBhbmQgdGhlIHVwd2FyZCBjb21wYXRpYmlsaXR5IHJlcXVpcmVtZW50cyBmb3INCj4+IGtl ZXBpbmcgdGhlbS4gKFJlYXNvbnMgc3VwcGxpZWQgb24gcmVxdWVzdC4pDQo+Pg0KPj4gQXMg Zm9yIHRoZSBtZWF0IG9mIHRoZSBpc3N1ZSwgSSBjYW4gY2VydGFpbmx5IHNlZSB0aGF0IHNv bWVvbmUgc3RlZXBlZA0KPj4gaW4gVW5peCB3b3VsZCBoYXZlIGEgaGFyZCB0aW1lICJnZXR0 aW5nIiB0aGUgMjIwMCB3YXkgb2YgZG9pbmcgdGhpbmdzLg0KPj4gSSBhcHBsYXVkIEtpcmEg Zm9yIHRha2luZyBvbiB0aGUgY2hhbGxlbmdlLCBhbmQgZnJvbSB3aGF0IEkgY2FuIHNlZSwN Cj4+IGRvaW5nIHJlbWFya2FibHkgd2VsbC4NCj4+DQo+PiBCVFcsIEtpcmEsIGlmIHlvdSBh cmUgY29tZm9ydGFibGUgc2F5aW5nLCB3aHkgZGlkIHlvdSBlbWJhcmsgb24gdGhpcw0KPj4g am91cm5leT8gV2FzIGl0IGFuIGFzc2lnbm1lbnQgb2Ygc29tZSBzb3J0LCBvciBqdXN0IGZv ciBmdW4/IElmIGZvcg0KPj4gZnVuLCB3aHkgZGlkIHlvdSBwaWNrIHRoZSAyMjAwIGFzIG9w cG9zZWQgdG8gc29tZSBvdGhlciBzeXN0ZW0/DQo+Pg0KPiANCj4gVGhhbmsgeW91IGZvciB5 b3VyIGtpbmQgcmVwbHkuIEkgd2FzIHZlcnkgd29ycmllZCB0aGF0IEkgaGFkIG1hZGUgc29t ZSBncmlldm91cyBlcnJvciBhbmQgd2FzIGZsaXJ0aW5nIHdpdGggdGFraW5nIExQT1MyMjAw IGRvd24gLSBJIGRpZG4ndCBtZWFuIHRvIHVwc2V0IGFueW9uZSBhdCBhbGwuIEkgaGF2ZSBl bmpveWVkIG15IHRpbWUgd2l0aCBPUyAyMjAwIG1vcmUgdGhhbiBJJ3ZlIGV4cGVjdGVkLCBh bmQgY2VydGFpbmx5IGZvdW5kIGl0IHRvIGJlIGEgbGlrYWJsZSBzeXN0ZW0uIEFuZCB3aGls ZSBMZXdpcyBzZWVtcyB0byB0aGluayBJJ2QgcmF0aGVyIGJlaW5nIHVzaW5nIG5jdXJzZXMs IG9uY2UgSSBmaWd1cmVkIG91dCB0aGUgbWVjaGFuaXNtcyBvZiBEUFMgMjIwMCwgSSdtIGlt cHJlc3NlZCBieSBob3cgcG93ZXJmdWwgaXQgaXMgLSBtb3N0bHktdHJhbnNwYXJlbnQgZm9y bSB2YWxpZGF0aW9uLCBpbiBwYXJ0aWN1bGFyLCBpcyBhIHZlcnkgaGFuZHkgZmVhdHVyZS4N Cj4gDQo+IEkndmUgYWN0dWFsbHkgYmVlbiBpbnRlcmVzdGVkIGluIG5vbi1JQk0gbWFpbmZy YW1lcyBmb3IgYSB3aGlsZSAtIEkndmUgYmVlbiBzcG9yYWRpY2FsbHkgcmVzZWFyY2hpbmcg R0NPUyBzaW5jZSBJIHdhcyBpbiBoaWdoIHNjaG9vbCwgb3ZlciBhIGRlY2FkZSBhZ28sIGZv ciBpbnN0YW5jZSAtIGFuZCBJIGhhZCByZWFkIE1DUCBtYW51YWxzIGJ1dCBuZXZlciBPUyAy MjAwLg0KDQpZb3UgYXJlIGEgYml0IHN0cmFuZ2UgLSBkZWxpZ2h0ZnVsbHkgc28hICA6LSkN Cg0KDQo+IEkgaGFkIHNvbWUgY29uY2VybiB0aGF0IE9TIDIyMDAgRXhwcmVzcyB3b3VsZCBi ZSBnb2luZyBhd2F5LCBzaW5jZSBNQ1AgRXhwcmVzcyBhbHJlYWR5IGhhZCwgYW5kIGZpZ3Vy ZWQgSSBzaG91bGQgZ2V0IGEgbGljZW5zZSBhbmQgbGVhcm4gaXQgd2hpbGUgSSBzdGlsbCBo YWQgdGhlIG9wcG9ydHVuaXR5LiBJIGhhZCBiZWVuIHRyeWluZyB0byB0aGluayB1cCBhIGdv b2QgcHJvamVjdCB0byBsZWFybiB0aGUgQVBJcyBhbmQgdG9vbHMgZm9yIGEgd2hpbGUsIGFu ZCBub3RoaW5nIHJlYWxseSBjYW1lIHRvIG1pbmQgLSB1bnRpbCBJIHJlbWVtYmVyZWQgdGhh dCB0aGUgUm9ib3RmaW5kc2tpdHRlbiB3ZWJzaXRlIGluY2x1ZGVkLCBvbiBpdHMgbGlzdCBv ZiBwb3J0cywgIkRpZCB5b3UgcG9ydCByZmsgdG8gVW5pdmFjPyBDbGljayBoZXJlISIgYW5k IEkgZGVjaWRlZCB0byB0YWtlIGl0IG1vcmUgbGl0ZXJhbGx5IHRoYW4gdGhlIFJvYm90Zmlu ZHNraXR0ZW4gZGV2ZWxvcGVycyBpbnRlbmRlZC4gSSBmaWd1cmVkICJva2F5LCBJIGNhbiB1 c2UgdGhlIHN5c3RlbSBmb3JtcyBpbnRlcmZhY2UgdG8gZGlzcGxheSBpdCwgYW5kIHVzZSB0 aGUgc3RydWN0dXJlZCBmaWxlIGludGVyZmFjZXMgdG8gc3RvcmUgZ2FtZSB0ZXh0IiBhbmQg cmFuIHdpdGggaXQgZnJvbSB0aGVyZS4gVGhlIHBvaW50IHdhcyBhbHdheXMganVzdCB0byBo YXZlIGEgZGlyZWN0aW9uIHRvIGxlYXJuIGZyb20sIG5vdCB0byBkbyB0aGUgZWFzaWVzdCBv ciBtb3N0IGlkaW9tYXRpYyBwb3NzaWJsZSBwb3J0IG9mIFJvYm90ZmluZHNraXR0ZW4uDQo+ IA0KPiBJIG5ldmVyIGluaXRpYWxseSBwbGFubmVkIHRvIHdyaXRlIGFydGljbGVzIGFib3V0 IGl0IGF0IGFsbCwgYnV0IGZyaWVuZHMgb2YgbWluZSAtIHBlcmhhcHMgZ3Jvd2luZyB1bmhh cHB5IHdpdGggd2FsbHMgb2YgdGV4dCBvbiBjaGF0IHByb2dyYW1zIGFib3V0ICJ3aG9hLCBs b29rIGF0IHdoYXQgSSBmaWd1cmVkIG91dCBob3cgdG8gZG8gaW4gT1MgMjIwMCEiIC0gc3Vn Z2VzdGVkIEkgcHVibGlzaCB3aGF0IEkgd2FzIGxlYXJuaW5nLCBhbmQgdGhlIHByb2Nlc3Mg Ynkgd2hpY2ggSSB3YXMgbGVhcm5pbmcgaXQuDQo+IA0KPiBJZiBJJ3ZlIGRvbmUgc29tZXRo aW5nIHdyb25nIGluIGFsbCBvZiB0aGF0LCBJIHJlYWxseSBhbSBzb3JyeS4gSSBkaWQgbm90 IHdhbnQgdG8gcnVmZmxlIGFueSBmZWF0aGVycy4gQXMgdG8gdGhlIHZpZGVvLCBJIHRha2Ug dGhlIGFzc2VydGlvbiB0aGF0IE9TIDIyMDAgaXMgZGVzaWduZWQgdGhlIHdheSBpdCBpcyBi ZWNhdXNlIG9mIHNvbWUga2luZCBvZiBqb2Itc2VjdXJpdHktcmVsYXRlZCBwbG90IHRvIGJl IGNvbXBsZXRlbHkgcmlkaWN1bG91cy4gQXMgd2l0aCBhbnkgb3BlcmF0aW5nIHN5c3RlbSwg SSBrbm93IGl0IGV2b2x2ZWQgdG8gYmUgdGhlIHdheSBpdCBpcyBiZWNhdXNlIG9mIHRoZSBj b21iaW5hdGlvbiBvZiBhcHBsaWNhdGlvbiByZXF1aXJlbWVudHMgYW5kIHRlY2huaWNhbCBh bmQgcHJhY3RpY2FsIGxpbWl0YXRpb25zLCBhbmQgSSBhY3R1YWxseSBxdWl0ZSBsaWtlIHdo YXQgSSd2ZSBzZWVuIG9mIGl0IHNvIGZhci4gSSBsZWZ0IHRoZSBmb2xsb3dpbmcgY29tbWVu dCBvbiB0aGUgdmlkZW8sIGFuZCBJIGhvcGUgdGhlIFJldHJvY29tcHV0aW5nIFJvdW5kdGFi bGUgaG9zdHMgd2lsbCByZWFkIGl0Og0KPiANCj4gIiBIaXlhISBJIHdyb3RlIExldCdzIFBs YXkgT1MgMjIwMCBhbmQgSSdtIGdsYWQgeW91IGVuam95ZWQgaXQhIFRoZSBlbXVsYXRvciB1 c2VkIGlzIFBTLzIyMDAsIHByb3ZpZGVkIGFzIGEgY29tcG9uZW50IG9mIFVuaXN5cydzIE9T IDIyMDAgRXhwcmVzcy4gSXQgcnVucyBhIG1vZGVybiB2ZXJzaW9uIG9mIE9TIDIyMDAgKGlp cmMgb25lIHZlcnNpb24gYmVoaW5kIHdoYXQncyBzaGlwcGluZyB0b2RheSkgYW5kIGlzIGZy ZWUsIGJ1dCByZXF1aXJlcyB5b3UgdG8gcmVxdWVzdCBhIGxpY2Vuc2UuIEFzIGZvciBPUyAy MjAwIGl0c2VsZiAtIEkgcmVhbGx5IGRvbid0IHRoaW5rIGl0J3MgY29tcGxleCBmb3IgdGhl IHB1cnBvc2Ugb2Ygam9iIHNlY3VyaXR5IG9yIGNvbXBsZXhpdHkgaW4gYW5kIG9mIGl0c2Vs Zi4gSXQncyBjb21wbGV4IGJlY2F1c2UgaXQncyBzdXBwb3J0aW5nIGNvbXBsZXggd29ya2xv YWRzIHRoYXQgaGF2ZSB0byBkbyBhIGxvdCBvZiBkaWZmZXJlbnQgdGhpbmdzIC0gYW5kIHRo ZSBVbml4IHdheSBvZiBkZWFsaW5nIHdpdGggdGhpbmdzIGlzIG5vdCB0aGUgb25lIGFuZCBv bmx5IHRydWUgd2F5IHRvIGRvIHRoZW07IGl0J3MganVzdCB0aGUgd2F5IGEgbG90IG9mIHRo ZSBpbmR1c3RyeSBzZXR0bGVkIG9uLiBNYWluZnJhbWUgb3BlcmF0aW5nIHN5c3RlbXMgdGVu ZCB0byBtYWtlIGEgZGlmZmVyZW50IHNldCBvZiB0cmFkZW9mZnMsIGJ1dCB0aGV5IGFyZW4n dCBpbnRyaW5zaWNhbGx5ICJ3cm9uZyIgLSB0aGV5IHdlcmUgdHJhZGVvZmZzIHRoYXQgbWFk ZSBzZW5zZSB0byB0aGVpciB1c2VyYmFzZSBhbmQgdGhlaXIgd29ya2xvYWRzLiBVbml4IGhh cyBjb21wbGV4aXR5IHRvbywgaXQncyBqdXN0IGNvbXBsZXhpdHkgdGhhdCdzIG1vcmUgZmFt aWxpYXIuIEFzIGZvciBkb2N1bWVudGF0aW9uLCBpdCdzIGZyZWVseSBhdmFpbGFibGUgb24g VW5pc3lzJ3Mgc2l0ZTsgdmVyeSBsaXR0bGUgb2YgaXQgaXMgaW50ZW5kZWQgZm9yIGludHJv ZHVjdG9yeSB1c2VycywgYnV0IGl0J3MgZGVmaW5pdGVseSB1bmRlcnN0YW5kYWJsZSBpZiB5 b3UgcHV0IHRoZSBlZmZvcnQgaW4gLSBhbmQgYXQgbGVhc3QgaW4gbXkgb3BpbmlvbiwgT1Mg MjIwMCBpcyB3YXkgbW9yZSBhcHByb2FjaGFibGUgdGhhbiBHQ09TIDggb3IgTVZTISINCg0K V2VsbCBzYWlkIQ0KDQoNCj4gDQo+IEFzIGZvciAzNi1iaXQgc3lzdGVtcywgSSBrbm93IHRo ZXkgdXNlZCB0byBiZSBjb21tb24gLSBHQ09TIDggYW5kIE9TIDIyMDAgYXJlIHRoZSBvbmx5 IHN1cnZpdm9ycywgdG8gdGhlIGJlc3Qgb2YgbXkga25vd2xlZGdlLCBidXQgdGhlcmUgdXNl ZCB0byBiZSB0aGUgSUJNIDd4eHgsIFBEUC0xMCwgYW5kIHZhcmlvdXMgb3RoZXJzIC0gYnV0 IEkndmUgYmVlbiBzb21ld2hhdCB1bmNsZWFyIGFzIHRvIHdoeTsgaWYgSSBoYWQgdG8gZ3Vl c3MsIEkgd291bGQgYXNzdW1lIHRoYXQgaXQncyBhIG5hdHVyYWwgd29yZCBsZW5ndGggZm9y IHN0b3JpbmcgNi1iaXQgY2hhcmFjdGVyIGRhdGEsIGFuZCB0aGF0IG9wdGluZyBmb3Igd29y ZC1hZGRyZXNzaW5nIGluc3RlYWQgb2YgYnl0ZS1hZGRyZXNzIGluY3JlYXNlcyB0aGUgZWZm ZWN0aXZlIGFkZHJlc3Mgc3BhY2UgZm9yIGEgZ2l2ZW4gd29yZCBzaXplLiANCg0KV2hpbGUg Ym90aCBvZiB0aG9zZSBhcmUgdHJ1ZSwgSSBiZWxpZXZlIHRoZSByZWFzb24geW91IGdpdmUg bmV4dCBpcyB0aGUgDQptb3N0IGNvbnZpbmNpbmcuDQoNCg0KU29tZW9uZSBhbHNvIG9uY2Ug dG9sZCBtZSBpdCB3YXMgYmVjYXVzZSBpdCBwcm92aWRlZCB0ZW4gc2lnbmVkIGludGVnZXIg DQpkaWdpdHMuDQoNClRoZSAxMTA4IHdhcyBhIHN1Y2Nlc3NvciBtYWNoaW5lIChub3QgY29t cGF0aWJsZSwgYnV0IGRlc2lnbmVkIGJ5IHRoZSANCnNhbWUgZ3JvdXApIHRvIHRoZSAxMTAz LCB3aGljaCB3YXMgYW4gdW5jbGFzc2lmaWVkIHZlcnNpb24gb2YgdGhlIEF0bGFzIA0KSUkg d2hpY2ggd2FzIGRlc2lnbmVkIGZvciB0aGUgbWlsaXRhcnkuICBJIHRoaW5rIEkgd2FzIHRv bGQgdGhhdCB0aGUgMTAgDQpkaWdpdHMsIGhlbmNlIDM2IGJpdHMgY2FtZSBmcm9tIGEgbWls aXRhcnkgcmVxdWlyZW1lbnQgZm9yIHRoZSBBdGxhcyBJSS4NCg0KDQpJIGFtIGxlc3MgY2xl YXIgYXMgdG8gdGhlIHJlYXNvbmluZyBmb3Igb25lcycgY29tcGxlbWVudDsgd2Fzbid0IGl0 IGEgDQpsaXR0bGUgdW51c3VhbCBldmVuIGF0IHRoZSB0aW1lPw0KDQpQZXJoYXBzLCAgSSB3 YXMgdG9sZCB0aGF0IHRoZSAxMTA4IHVzZWQgb25lcyBjb21wbGVtZW50IGFzIGl0IHJlcXVp cmVkIA0Kc2xpZ2h0bHkgbGVzcyBsb2dpYyBhbmQgd2FzIHNsaWdodGx5IGZhc3RlciBpbiB0 aGUgdGVjaG5vbG9neSBvZiB0aGUgDQp0aW1lIHRoYW4gdHdvJ3MgY29tcGxlbWVudC4gIFRo ZSBleGFtcGxlIEkgcmVtZW1iZXIgaXMgdGhhdCBpbiBvbmVzIA0KY29tcGxlbWVudCwgeW91 IG5lZ2F0ZSBhIHZhbHVlIGp1c3QgYnkgZmxpcHBpbmcgYWxsIHRoZSBiaXRzLCB3aGVyZWFz IA0KZm9yIHR3b3MgY29tcGxlbWVudCwgbW9yZSBsb2dpYyBpcyByZXF1aXJlZC4gIEVsaW1p bmF0aW5nIHRoZSBleHRyYSANCmxvZ2ljIHJlZHVjZWQgY29zdHMgYW5kIG1hZGUgb3BlcmF0 aW9ucyBzdWNoIGFzIHN1YnRyYWN0aW9uIGZhc3RlciwgaS5lLiANCmludmVydCBhbGwgdGhl IGJpdHMgb2YgdGhlIG1pbnVlbmQgYW5kIHBlcmZvcm0gYW4gYWRkLg0KDQoNCj4gQWdhaW4s IEkgYXBvbG9naXplIGlmIEkgZGlkIG9yIHNhaWQgc29tZXRoaW5nIHdyb25nLiBUaGlzIGlz IGFsbCBuZXcgdG8gbWUsIGFuZCBJIGZyZWVseSBhZG1pdCBJJ20gb3V0IG9mIG15IGRlcHRo LCBidXQgSSdtIHRyeWluZyB0byBkbyByaWdodCBieSB0aGUgc3lzdGVtLg0KDQpObyBwcm9i bGVtLg0KDQpSZXJlYWRpbmcgcGFydHMgb2YgeW91ciB3ZWIgc2l0ZSwgYSBmZXcgbWlub3Ig bml0cy4NCg0KMS4JWW91IHNheSB0aGUgMjIwMCBoYXMgZnVsbCBkZWNpbWFsIGZsb2F0aW5n IHBvaW50LiAgVGhpcyBpcyBub3QgDQpjb3JyZWN0LiAgSXQgaGFzIGZ1bGwgYmluYXJ5IGZs b2F0aW5nIHBvaW50ICgzNiBhbmQgNzIgYml0cyksIGFuZCANCmxpbWl0ZWQgZGVjaW1hbCBm aXhlZCBwb2ludCBzdXBwb3J0Lg0KDQoyLglXaGVuIHlvdSB0YWxrIGFib3V0IGZpbGUgbmFt ZXMgeW91IG1pc3NlZCBhIHN1YnRsZXR5LiAgTm90ZSB0aGF0IHRoZSANCmRvbGxhciBzaWdu ICQsIGlzIGEgbGVnYWwgY2hhcmFjdGVyIGluIGZpbGUgbmFtZXMuICBXaXRoIGEgZmxhdCBm aWxlIA0Kc3lzdGVtLCB5b3UgaGF2ZSB0byBpbnN1cmUgdGhhdCB0aGUgY29tYmluYXRpb24g b2YgUXVhbGlmaWVyIGFuZCANCkZpbGVuYW1lIGFyZSB1bmlxdWUgYWNyb3NzIHRoZSB3aG9s ZSBzeXN0ZW0uICBCdXQgdGhlIE9TIGhhcyB2YXJpb3VzIA0Kc3lzdGVtIGZpbGVzLCBzb21l IHZpc2libGUgdG8gdGhlIHVzZXIgKGUuZyBzeXN0ZW0gbGlicmFyaWVzKSwgc29tZSBub3Qs IA0KZS5nLiB0aGUgc3dhcCBmaWxlLiAgU28gaW4geW91ciBmaWxlIG5hbWluZywgeW91IGhh dmUgdG8gaW5zdXJlIHlvdSANCmRvbid0IG1pc3Rha2VubHkgdXNlIGEgbmFtZSB0aGF0IHRo ZSBzeXN0ZW0gaXMgYWxyZWFkeSB1c2luZy4gIFNvIGVhcmx5IA0Kb24sIFVuaXZhYyBkZWNp ZGVkIHRoYXQgYWxsIEV4ZWMgZmlsZXMgd291bGQgY29udGFpbiBhIGRvbGxhciBzaWduIGlu IA0KdGhlIG5hbWUuICBTbyB0byBpbnN1cmUgbm8gY29uZmxpY3RzLCBhbGwgYSB1c2UgaGFz IHRvIGRvIGlzIG5vdCB1c2UgYSANCmRvbGxhciBzaWduIGluIHRoZSBuYW1lIGFueSBvZiBo aXMgZmlsZXMuDQoNCjMuCVRoZXJlIGhhcyBiZWVuIGEgc29tZSBkaXNjdXNzaW9uIGhlcmUg YWJvdXQgc2VjdXJpdHkgbGV2ZWxzLCBldGMuIA0KV2hpbGUgdGhpcyBpcyBpbXBvcnRhbnQg aW4gYSBtdWx0aS11c2VyIHNpdGUsIGZvciBhIHNpbmdsZSB1c2VyIHN5c3RlbSANCnN1Y2gg YXMgUFMvMjIwMCwgeW91IHJlYWxseSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgaXQgYXQg YWxsLCBhbmQgDQptaW5pbWFsIHNlY3VyaXR5IGlzIGZpbmUuDQoNCg0KDQotLSANCiAgLSBT dGVwaGVuIEZ1bGQNCihlLW1haWwgYWRkcmVzcyBkaXNndWlzZWQgdG8gcHJldmVudCBzcGFt KQ0KDQo=

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to All on Tue Sep 27 22:48:41 2022
    On Tuesday, September 27, 2022 at 9:49:41 PM UTC-7, Stephen Fuld wrote:
    On 9/27/2022 7:30 PM, David W Schroth wrote:

    < snip >
    IMO, the major difference (from a user code standpoint) between an
    1100 and a 2200 is that marketing thought 2200 sounded twice as sexy
    as 1100.

    That, plus they essentially ran out of numbers, as they already had the 1100/10, /20, /40, /50, /60, /80, and /90. So they had to change something.

    Except that they didn't run out of 1100 Series numbers as they could have done what they did when they changed the name to "2200" namely use three digit model numbers (e.g. 2200/100, 2200/200, 2200/400, 2200/600).
    Also since C-Series was originally supposed to have at least four models (from low to high: Chaparral = 1100/50, Centurian = ? Cirrus = 1100/90, with Condor and Capricorn fitting in who knows where), I don't know where they would have fit in without a
    change in model numbers even if Chaparral and Cirrus were the only C-Series machines left standing since by then the 1100/60 was also the 1100/70.

    Just as a question of idle curiosity of no importance whatsoever, when did the Universal Compiling System (UCS) hit the fan?

    Trying to bring this thread back to something related to what Kira started, in response to her question about what 1100 history document was referred to before, I don't know the answer to that question specifically, but there are several histories that
    directly or indirectly, in whole or in part, come from George Gray and/or Ron (AKA R.Q.) Smith.
    Just about any of them are more than adequate and likely close to being correct on the history they cover.
    They did a paper together entitled: "Sperry Rand's third-generation computers 1964-1980" that was published in the _IEEE Annals of the History of Computing_ but that too isn't readily available.

    FWIW, I tend to trust anything written by someone who worked for the Company, Another name that confers reliability to any history on this basis would be Paul Hagerty.
    R.Q. was a fixture/legend in the OS (AKA Exec) group and Hagerty was a Blue Sky person who passed through the Exec and is (in-)famous (to me) for "jokingly" referring to casting PERLS before swine when giving a presentation in front of the Exec group on
    what would become UCS.
    (He was also infamous for smoking like a chimney and setting his waste paper basket on fire when he had an office in the Exec group area.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kira Ash@21:1/5 to Stephen Fuld on Wed Sep 28 06:48:30 2022
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote:
    On 9/27/2022 3:24 PM, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 2:34:59 PM UTC-7, Stephen Fuld wrote:
    big snip


    As for apologetically

    Typo. Of course I meant *un*apologetically
    strange, I think that is actually right. They
    certainly have nothing to apologize for, especially as OS 1100 predates >> Linux by decades. And yes, compared to virtually every other CPU
    generally available, 1s complement arithmetic and 36 bit words are at
    best "unusual" and I don't blink at someone calling them strange. Of
    course, it might appear less strange if you understood the reasoning
    behind those decisions, and the upward compatibility requirements for
    keeping them. (Reasons supplied on request.)

    As for the meat of the issue, I can certainly see that someone steeped
    in Unix would have a hard time "getting" the 2200 way of doing things.
    I applaud Kira for taking on the challenge, and from what I can see,
    doing remarkably well.

    BTW, Kira, if you are comfortable saying, why did you embark on this
    journey? Was it an assignment of some sort, or just for fun? If for
    fun, why did you pick the 2200 as opposed to some other system?


    Thank you for your kind reply. I was very worried that I had made some grievous error and was flirting with taking LPOS2200 down - I didn't mean to upset anyone at all. I have enjoyed my time with OS 2200 more than I've expected, and certainly found
    it to be a likable system. And while Lewis seems to think I'd rather being using ncurses, once I figured out the mechanisms of DPS 2200, I'm impressed by how powerful it is - mostly-transparent form validation, in particular, is a very handy feature.

    I've actually been interested in non-IBM mainframes for a while - I've been sporadically researching GCOS since I was in high school, over a decade ago, for instance - and I had read MCP manuals but never OS 2200.
    You are a bit strange - delightfully so! :-)
    I had some concern that OS 2200 Express would be going away, since MCP Express already had, and figured I should get a license and learn it while I still had the opportunity. I had been trying to think up a good project to learn the APIs and tools
    for a while, and nothing really came to mind - until I remembered that the Robotfindskitten website included, on its list of ports, "Did you port rfk to Univac? Click here!" and I decided to take it more literally than the Robotfindskitten developers
    intended. I figured "okay, I can use the system forms interface to display it, and use the structured file interfaces to store game text" and ran with it from there. The point was always just to have a direction to learn from, not to do the easiest or
    most idiomatic possible port of Robotfindskitten.

    I never initially planned to write articles about it at all, but friends of mine - perhaps growing unhappy with walls of text on chat programs about "whoa, look at what I figured out how to do in OS 2200!" - suggested I publish what I was learning,
    and the process by which I was learning it.

    If I've done something wrong in all of that, I really am sorry. I did not want to ruffle any feathers. As to the video, I take the assertion that OS 2200 is designed the way it is because of some kind of job-security-related plot to be completely
    ridiculous. As with any operating system, I know it evolved to be the way it is because of the combination of application requirements and technical and practical limitations, and I actually quite like what I've seen of it so far. I left the following
    comment on the video, and I hope the Retrocomputing Roundtable hosts will read it:

    " Hiya! I wrote Let's Play OS 2200 and I'm glad you enjoyed it! The emulator used is PS/2200, provided as a component of Unisys's OS 2200 Express. It runs a modern version of OS 2200 (iirc one version behind what's shipping today) and is free, but
    requires you to request a license. As for OS 2200 itself - I really don't think it's complex for the purpose of job security or complexity in and of itself. It's complex because it's supporting complex workloads that have to do a lot of different things -
    and the Unix way of dealing with things is not the one and only true way to do them; it's just the way a lot of the industry settled on. Mainframe operating systems tend to make a different set of tradeoffs, but they aren't intrinsically "wrong" - they
    were tradeoffs that made sense to their userbase and their workloads. Unix has complexity too, it's just complexity that's more familiar. As for documentation, it's freely available on Unisys's site; very little of it is intended for introductory users,
    but it's definitely understandable if you put the effort in - and at least in my opinion, OS 2200 is way more approachable than GCOS 8 or MVS!"
    Well said!

    As for 36-bit systems, I know they used to be common - GCOS 8 and OS 2200 are the only survivors, to the best of my knowledge, but there used to be the IBM 7xxx, PDP-10, and various others - but I've been somewhat unclear as to why; if I had to guess,
    I would assume that it's a natural word length for storing 6-bit character data, and that opting for word-addressing instead of byte-address increases the effective address space for a given word size.
    While both of those are true, I believe the reason you give next is the
    most convincing.
    Someone also once told me it was because it provided ten signed integer digits.
    The 1108 was a successor machine (not compatible, but designed by the
    same group) to the 1103, which was an unclassified version of the Atlas
    II which was designed for the military. I think I was told that the 10 digits, hence 36 bits came from a military requirement for the Atlas II.
    I am less clear as to the reasoning for ones' complement; wasn't it a
    little unusual even at the time?
    Perhaps, I was told that the 1108 used ones complement as it required slightly less logic and was slightly faster in the technology of the
    time than two's complement. The example I remember is that in ones complement, you negate a value just by flipping all the bits, whereas
    for twos complement, more logic is required. Eliminating the extra
    logic reduced costs and made operations such as subtraction faster, i.e. invert all the bits of the minuend and perform an add.
    Again, I apologize if I did or said something wrong. This is all new to me, and I freely admit I'm out of my depth, but I'm trying to do right by the system.
    No problem.

    Rereading parts of your web site, a few minor nits.

    1. You say the 2200 has full decimal floating point. This is not
    correct. It has full binary floating point (36 and 72 bits), and
    limited decimal fixed point support.

    2. When you talk about file names you missed a subtlety. Note that the dollar sign $, is a legal character in file names. With a flat file
    system, you have to insure that the combination of Qualifier and
    Filename are unique across the whole system. But the OS has various
    system files, some visible to the user (e.g system libraries), some not, e.g. the swap file. So in your file naming, you have to insure you
    don't mistakenly use a name that the system is already using. So early
    on, Univac decided that all Exec files would contain a dollar sign in
    the name. So to insure no conflicts, all a use has to do is not use a
    dollar sign in the name any of his files.

    3. There has been a some discussion here about security levels, etc.
    While this is important in a multi-user site, for a single user system
    such as PS/2200, you really don't have to care about it at all, and
    minimal security is fine.
    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    I've revised the section on filenames to mention that system files all contain a $ - I had actually noticed that and was curious about the reason, so thanks for explaining it! Also corrected the mention of decimal floating point.

    Thanks again for your feedback - I want to get this right!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Gunshannon@21:1/5 to David W Schroth on Wed Sep 28 12:32:12 2022
    On 9/27/22 22:30, David W Schroth wrote:


    Much to my surprise, you reference something 1100/2200 related that
    I've never heard of. Please tell us more.

    https://www.researchgate.net/publication/220420810_A_Virtual_Operating_System

    Much like The UCSD-PSystem was a precursor to the Java Virtual machine
    The Software Tools Virtual Operating System was an early attempt to do
    what would later be tried by POSIX. Sadly, like so much of academia,
    the original grad students graduated and academia became bored with
    it so it fell by the wayside and languished only to be restarted decades
    later with all the original research lost and all the potential research
    that could have come about in the interim non-existent. It had a very
    active Users Group and as can be seen by the list at the end of the
    paper it worked on a large number of machines common to the era. Most
    of the versions seem to have been lost and those that still exist seem
    to be less than complete. I communicated with Ms. Scherrer several
    about 30 years ago to ask about the possible existence of sources code
    from the various versions. She told me she sent everything to USENIX
    for preservation. I contacted USENIX and was informed that they had
    thrown all of it out. As an industry that thrives on data, its manip-
    ulation and preservation I am always amazed at how much of it has been
    lost.

    bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Lewis Cole on Wed Sep 28 12:11:08 2022
    On 9/27/2022 5:17 PM, Lewis Cole wrote:
    On Tuesday, September 27, 2022 at 2:34:59 PM UTC-7, Stephen Fuld wrote:
    On 9/26/2022 11:20 AM, Lewis Cole wrote:

    I haven't watched the video, but from what you said, I think the problem
    is with the lady in the video, not with Kira. She doesn't bolster her
    point when she clips out the part that exactly contradicts her position. :-)
    < snip >

    Agreed.
    Be that as it may, Quinn is no dummy and she expressed an opinion that the other members didn't take issue with ... which I took to mean they either agreed with her or didn't think they knew enough to get into an agreement with her that would be
    captured for posterity.

    As for the meat of the issue, I can certainly see that someone steeped
    in Unix would have a hard time "getting" the 2200 way of doing things.
    I applaud Kira for taking on the challenge, and from what I can see,
    doing remarkably well.
    < snip >

    Agreed.
    In an E-mail from one of the members of the board (the details of which I won't get into), he basically said that the board members' experience is more with small scale systems (micros really) rather than mainframes.
    So while I might (and did) have problems getting used to Windows coming from an OS1100/2200 environment, and have done just about everything I can to avoid dealing with Linux for the same sort of reason,

    My experience is actually somewhat similar.


    the fact of the matter is that if I were to make comments about my experience, no one would likely take such comments as a reflection on PCs or Windows or Linux.

    You're right. They would likely regard you as a "cranky old man". :-)



    (Well, maybe the Windows users would bitch about Linux and the Linux users would bitch about Windows, but I think most people would bitch about me being a newbie.)

    Let's see, someone in an older generation complaining about the
    "newfangled" stuff the young kids were into and that these kids had no
    regard for what they had done, and the kids regarding the old folks as
    relics of a previous age, not willing to "get with it". No, I've never
    heard of anything like that before! :-)




    FWIW, as I read what you were doing, I kept thinking to myself,
    "If you're trying to send something to a Uniscope terminal as a
    test (which I assume is the output device you're using either
    simulated or real), why is she messing around with C and DPS at
    all?"
    I means if I wanted to send something to a screen just as a test,
    I'd probably use @FLIT.

    Talk about strange! While you could do as you say, Flit is even more a
    departure from "typical" systems and has a learning curve all its own.
    < snip >

    @FLIT is of course 1100/2200 specific, but IMHO is essential if one has any interest in developing software on OS1100/2200, just as much as using GDB is on Linux.

    I think only if you are writing in assembler. For higher level
    languages, I would think for most problems, PADS is a sufficient
    debugger. While she might get there, I think that, so far at least,
    2200 series assembler is something that Kira hasn't been exploring.



    What I've found is that I can do more than just debug programs using @FLIT and in particular when I wanted to see what a terminal/console would do in response to control sequences, @FLIT beat writing a @MASM program to get the job done.

    Sure. But I think that is pretty low level, and would require much more learning than Kira has been willing to undertake.



    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Kira Ash on Fri Sep 30 08:17:00 2022
    On 9/28/2022 6:48 AM, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote:

    Rereading parts of your web site, a few minor nits.

    Your section on other mainframe systems got me to do some research.

    1. You mention that GCOS was emulated on Itanium hardware, but with its demise, you didn't know what happened. According to

    https://en.wikipedia.org/wiki/General_Comprehensive_Operating_System#Legacy

    it is now emulated on various Xeon based systems.

    2. Your mention of the Siemens BS2000, systems brought up a memory that they were another of the "almost IBM S/360 compatible" systems, but I
    wasn't sure. Again from Wikipedia

    https://en.wikipedia.org/wiki/BS2000

    it was based on the RCA Spectra/70 series, which is the same series
    that, when RCA decided to exit the computer business, they sold to
    Univac which became the high end of the Univac Series 90!

    Probably OT for this group, but all of this got me to wondering why,
    several companies chose to build their own computer lines, and their own
    OS, designed their hardware to be "almost" IBM compatible? Or, to put
    it another way, What was so compelling about the ISA that several
    companies decided to adopt it, even when the software wouldn't be
    compatible?



    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Stephen Fuld on Fri Sep 30 16:12:09 2022
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/28/2022 6:48 AM, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote:

    Rereading parts of your web site, a few minor nits.

    Your section on other mainframe systems got me to do some research.

    1. You mention that GCOS was emulated on Itanium hardware, but with its >demise, you didn't know what happened. According to

    https://en.wikipedia.org/wiki/General_Comprehensive_Operating_System#Legacy

    it is now emulated on various Xeon based systems.

    2. Your mention of the Siemens BS2000, systems brought up a memory that >they were another of the "almost IBM S/360 compatible" systems, but I
    wasn't sure. Again from Wikipedia

    https://en.wikipedia.org/wiki/BS2000

    it was based on the RCA Spectra/70 series, which is the same series
    that, when RCA decided to exit the computer business, they sold to
    Univac which became the high end of the Univac Series 90!

    Probably OT for this group, but all of this got me to wondering why,
    several companies chose to build their own computer lines, and their own
    OS, designed their hardware to be "almost" IBM compatible? Or, to put
    it another way, What was so compelling about the ISA that several
    companies decided to adopt it, even when the software wouldn't be
    compatible?

    Burroughs chose EBCDIC for compatability with IBM peripherals.

    Why design your own ISA if you can use one with an existence proof;
    likely made it easier to hire programmers away from IBM sites.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kira Ash@21:1/5 to Stephen Fuld on Fri Sep 30 09:10:22 2022
    On Friday, September 30, 2022 at 8:17:13 AM UTC-7, Stephen Fuld wrote:
    On 9/28/2022 6:48 AM, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote:

    Rereading parts of your web site, a few minor nits.
    Your section on other mainframe systems got me to do some research.

    1. You mention that GCOS was emulated on Itanium hardware, but with its demise, you didn't know what happened. According to

    https://en.wikipedia.org/wiki/General_Comprehensive_Operating_System#Legacy

    it is now emulated on various Xeon based systems.


    I know that's what Wikipedia says, and I think it's likely right - but Atos has publicly said almost nothing about M9600/M9600V beyond "it exists", while they provide a full set of specs and details for the G7-oriented M7200/M7200V. I've asked some folks
    I know at Atos for clarification and will probably get a more solid answer soon. The G8 customer base at this point is tiny, so they may just not see fit to actively market it. V9000 - the G8 emulator on IPF - has a couple of aspects that would make it a
    little complex to do a straight port to x86, but they're certainly obstacles that can be overcome if resources were devoted to the problem. (V7000, for GCOS 7, was comparatively a much simpler environment and always ran on both IPF and Xeon.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Stephen Fuld on Tue Oct 4 16:43:09 2022
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/30/2022 9:12 AM, Scott Lurndal wrote:
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/28/2022 6:48 AM, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote: >>>
    Rereading parts of your web site, a few minor nits.

    Your section on other mainframe systems got me to do some research.

    1. You mention that GCOS was emulated on Itanium hardware, but with its >>> demise, you didn't know what happened. According to

    https://en.wikipedia.org/wiki/General_Comprehensive_Operating_System#Legacy >>>
    it is now emulated on various Xeon based systems.

    2. Your mention of the Siemens BS2000, systems brought up a memory that >>> they were another of the "almost IBM S/360 compatible" systems, but I
    wasn't sure. Again from Wikipedia

    https://en.wikipedia.org/wiki/BS2000

    it was based on the RCA Spectra/70 series, which is the same series
    that, when RCA decided to exit the computer business, they sold to
    Univac which became the high end of the Univac Series 90!

    Probably OT for this group, but all of this got me to wondering why,
    several companies chose to build their own computer lines, and their own >>> OS, designed their hardware to be "almost" IBM compatible? Or, to put
    it another way, What was so compelling about the ISA that several
    companies decided to adopt it, even when the software wouldn't be
    compatible?

    Burroughs chose EBCDIC for compatability with IBM peripherals.

    I presume you meant data compatibility of the media (primarily tape),
    not the peripheral, as things like tape drives don't care at all what
    data you write (i.e. "bits is bits").

    Actually, IBM (compatiable, e.g. Memorex) peripherals themselves
    were often rebadged and used with Burroughs systems.

    'Burroughs intended target was the low-end 360/30 and 360/40
    which were marketed to SMBs. Thus, the machines used IBM's EBCDIC
    coding for data and emulated IBM's file structures [ed. on tape]'.

    https://books.google.com/books?id=Mk9-EAAAQBAJ&pg=PA120&lpg=PA120&dq=dave+dahm+ebcdic+burroughs&source=bl&ots=Noc6PbRnKC&sig=ACfU3U1gnPP99Wsx3UufLwMVBcTqaAUH7Q&hl=en&sa=X&ved=2ahUKEwjIhZiogcf6AhX9LEQIHZHqDwsQ6AF6BAgkEAM#v=onepage&q=dave%20dahm%20ebcdic%
    20burroughs&f=false


    Caveat, I just don't know if "paper" peripherals such as printers, card >readers or the specialized banking peripherals used with many Burroughs >systems know about character set.

    The peripherals simply return bytes to the controller. On Medium systems,
    the I/O descriptors included a bit that requested how those bytes should
    be translated by the IOP into the host native EBCDIC (e.g. from 6-bit BCL or 7/8-bit
    ASCII to EBCDIC), and vice versa outbound.


    BTW, what character code did the Burroughs 5000 series use, as I think
    they were designed before IBM announced EBCDIC?

    Originally, they used the same character set as the B300 (6-bit BCL).

    Note that both the B5000 and the B2500 were developed in the old
    electrodata plant in Pasadena by the same folks that did the E220
    and the B300 series.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Scott Lurndal on Tue Oct 4 09:28:05 2022
    On 9/30/2022 9:12 AM, Scott Lurndal wrote:
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/28/2022 6:48 AM, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote:

    Rereading parts of your web site, a few minor nits.

    Your section on other mainframe systems got me to do some research.

    1. You mention that GCOS was emulated on Itanium hardware, but with its
    demise, you didn't know what happened. According to

    https://en.wikipedia.org/wiki/General_Comprehensive_Operating_System#Legacy >>
    it is now emulated on various Xeon based systems.

    2. Your mention of the Siemens BS2000, systems brought up a memory that
    they were another of the "almost IBM S/360 compatible" systems, but I
    wasn't sure. Again from Wikipedia

    https://en.wikipedia.org/wiki/BS2000

    it was based on the RCA Spectra/70 series, which is the same series
    that, when RCA decided to exit the computer business, they sold to
    Univac which became the high end of the Univac Series 90!

    Probably OT for this group, but all of this got me to wondering why,
    several companies chose to build their own computer lines, and their own
    OS, designed their hardware to be "almost" IBM compatible? Or, to put
    it another way, What was so compelling about the ISA that several
    companies decided to adopt it, even when the software wouldn't be
    compatible?

    Burroughs chose EBCDIC for compatability with IBM peripherals.

    I presume you meant data compatibility of the media (primarily tape),
    not the peripheral, as things like tape drives don't care at all what
    data you write (i.e. "bits is bits").

    Univac used IBM compatible peripherals in order to reduce their hardware development costs (e.g. buy tape drives from Storage Tek, and disk
    drives from various companies rather than develop their own), but used
    their own character encoding (Fieldata or ASCII). For tape interchange
    with IBM systems, They did provide optional translation to/from EBCDIC
    in their own channel equivalent hardware.

    Caveat, I just don't know if "paper" peripherals such as printers, card
    readers or the specialized banking peripherals used with many Burroughs
    systems know about character set.

    BTW, what character code did the Burroughs 5000 series use, as I think
    they were designed before IBM announced EBCDIC?



    Why design your own ISA if you can use one with an existence proof;
    likely made it easier to hire programmers away from IBM sites.

    Interesting point. So those companies must have expected to use
    software (OS and other stuff), or perhaps just marketing power, as
    product differentiators. And they must have felt they could build
    hardware at a cost that was at least competitive with what one could buy
    from IBM. Clearly, while these ideas might have been true for a while
    (though I have my doubts), they eventually didn't work out.

    And, of course, there were several companies that went a different way, building IBM compatible hardware, but supplying no software at all,
    relying on the users to use IBM software. They also succeeded for a
    while, but eventually succumbed.


    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Kimpel@21:1/5 to Scott Lurndal on Tue Oct 4 11:57:48 2022
    On 10/4/2022 9:43 AM, Scott Lurndal wrote:
    BTW, what character code did the Burroughs 5000 series use, as I think
    they were designed before IBM announced EBCDIC?
    Originally, they used the same character set as the B300 (6-bit BCL).

    Note that both the B5000 and the B2500 were developed in the old
    electrodata plant in Pasadena by the same folks that did the E220
    and the B300 series.


    Actually, the B5000/5500/5700 used three character encodings. BCL was
    similar to the IBM 1401 code, although the glyphs for a number of the
    special characters were different. It was the standard used to
    communicate from the various I/O interfaces to most peripheral devices.
    When writing to magnetic tape in "alpha" (even-parity) mode, BCL is what
    was written.

    BCL was not used internally, however. That was referred to as "Internal
    Code," which I'll refer to as BIC. It was also used internally on the B100/200/300/500 systems. There is a symmetric mapping between BIC and
    BCL, which was translated by the I/O controller hardware. When writing
    to magnetic tape in "binary" (odd-parity) mode, BIC is what was written. Interestingly, when writing to the head-per-track disk units, the B5500
    MCP caused the data to be translated from BIC to BCL instead of writing
    it transparently.

    The third encoding was never visible. It was the collating sequence
    implemented by the character comparison hardware, and matched the 1401 collating sequence.

    The data communications adapters could translate BCL to/from 7-bit ASCII
    on the wire, but the systems could not process ASCII internally, except
    by extensive bit-fiddling in software.

    For BCL, BIC, and collating sequence encodings, see Appendix A in

    http://bitsavers.org/pdf/burroughs/B5000_5500_5700/1021326_B5500_RefMan_May67.pdf

    I assume by "E220" Scott meant the Burroughs 220, which was a
    vacuum-tube, decimal, core memory system. ca. 1958. The Pasadena plant
    was also the origin of the ElectroData Datatron 203/204/205 systems,
    which were also vacuum-tube, decimal systems, but with a drum memory.

    Burroughs purchased ElectroData in 1956 to gain an entry into the
    commercial computer market and re-badged the Datatron 205 as the
    Burroughs 205, which is well known to fans of the 1960s Lost in Space
    and Batman TV shows, among others.

    Paul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Paul Kimpel on Tue Oct 4 20:12:09 2022
    Paul Kimpel <paul.kimpel@digm.com> writes:
    On 10/4/2022 9:43 AM, Scott Lurndal wrote:
    BTW, what character code did the Burroughs 5000 series use, as I think
    they were designed before IBM announced EBCDIC?
    Originally, they used the same character set as the B300 (6-bit BCL).

    Note that both the B5000 and the B2500 were developed in the old
    electrodata plant in Pasadena by the same folks that did the E220
    and the B300 series.


    Actually, the B5000/5500/5700 used three character encodings. BCL was
    similar to the IBM 1401 code, although the glyphs for a number of the
    special characters were different. It was the standard used to
    communicate from the various I/O interfaces to most peripheral devices.
    When writing to magnetic tape in "alpha" (even-parity) mode, BCL is what
    was written.

    Correction noted. I started in Pasadena after Large Systems left
    for Mission Viejo and Forest Lake, so I was only exposed to the
    B7900 as a user while simulating the new medium systems _Omega_
    architecture.



    I assume by "E220" Scott meant the Burroughs 220, which was a

    Yes, the Burroughs 220 (I believe development had started prior
    to the acquisition). I have here "An Introduction to Coding the
    Burroughs 220 (Dec '58)" that I should have referred to prior to posting.

    One B220 word is 11 BCD digits (10 + sign). the columns on paper tape and cards
    are mapped in to the BCD digits (e.g. 10- or 11-column fields are mapped
    to consecutive words in memory). The 11th row, if punched, denoted a
    minus sign (for 10-column fields - a 1 in the first column of a
    field denotes the minus sign for 11-column fields).

    Uppercase letters have use the 12th, 11th and 0 rows to designate
    the 26 letters with other (unspecifed in this document) punches
    for special characters. Characters handled by the "Cardatron
    Control Unit" and translated appropriately for the B220.

    vacuum-tube, decimal, core memory system. ca. 1958. The Pasadena plant
    was also the origin of the ElectroData Datatron 203/204/205 systems,
    which were also vacuum-tube, decimal systems, but with a drum memory.

    I have several original Elecrodata manuals for the 203/204/205
    systems & periperhals that I acquired when Unisys discarded most of the historical
    documents that used to be in the Pasadena documentation library
    and had been in storage at Iron Mountain since pasadena closed in
    the early 90's.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Scott Lurndal on Tue Oct 4 13:19:51 2022
    On 10/4/2022 9:43 AM, Scott Lurndal wrote:
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/30/2022 9:12 AM, Scott Lurndal wrote:
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 9/28/2022 6:48 AM, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote: >>>>
    Rereading parts of your web site, a few minor nits.

    Your section on other mainframe systems got me to do some research.

    1. You mention that GCOS was emulated on Itanium hardware, but with its >>>> demise, you didn't know what happened. According to

    https://en.wikipedia.org/wiki/General_Comprehensive_Operating_System#Legacy

    it is now emulated on various Xeon based systems.

    2. Your mention of the Siemens BS2000, systems brought up a memory that >>>> they were another of the "almost IBM S/360 compatible" systems, but I
    wasn't sure. Again from Wikipedia

    https://en.wikipedia.org/wiki/BS2000

    it was based on the RCA Spectra/70 series, which is the same series
    that, when RCA decided to exit the computer business, they sold to
    Univac which became the high end of the Univac Series 90!

    Probably OT for this group, but all of this got me to wondering why,
    several companies chose to build their own computer lines, and their own >>>> OS, designed their hardware to be "almost" IBM compatible? Or, to put >>>> it another way, What was so compelling about the ISA that several
    companies decided to adopt it, even when the software wouldn't be
    compatible?

    Burroughs chose EBCDIC for compatability with IBM peripherals.

    I presume you meant data compatibility of the media (primarily tape),
    not the peripheral, as things like tape drives don't care at all what
    data you write (i.e. "bits is bits").

    Actually, IBM (compatiable, e.g. Memorex) peripherals themselves
    were often rebadged and used with Burroughs systems.

    Thanks, I had forgotten that. But my point is that the choice to use
    IBM PCM peripheral devices is independent of the choice to use EBCDIC as
    the character code. Many vendors used IBM PCM devices primarily to save development costs even if they used something other than EBCDIC.

    If you did want to interchange tape media, then you did need to be able
    to write and read EBCDIC, but a translation in the I/O device connection (Channel, DLP, etc.) is sufficient for that, as you wrote. And if you
    wanted to, you could even use a non-IBM PCM tape drive, as long at it
    read and wrote compatible 9 track tapes.

    Especially for disk drives, where unless you planned to allow
    interchange of removable disk packs with IBM systems (I don't, know of
    any systems vendor that did that), what you wrote on the disks didn't
    matter to anyone except you internally.



    'Burroughs intended target was the low-end 360/30 and 360/40
    which were marketed to SMBs. Thus, the machines used IBM's EBCDIC
    coding for data and emulated IBM's file structures [ed. on tape]'.

    https://books.google.com/books?id=Mk9-EAAAQBAJ&pg=PA120&lpg=PA120&dq=dave+dahm+ebcdic+burroughs&source=bl&ots=Noc6PbRnKC&sig=ACfU3U1gnPP99Wsx3UufLwMVBcTqaAUH7Q&hl=en&sa=X&ved=2ahUKEwjIhZiogcf6AhX9LEQIHZHqDwsQ6AF6BAgkEAM#v=onepage&q=dave%20dahm%20ebcdic%
    20burroughs&f=false

    Makes sense. The excerpt at that link is quite interesting. It gives a
    lot of detail on internals, ISA etc. Thanks.

    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Stephen Fuld on Tue Oct 4 23:12:13 2022
    Stephen Fuld <sfuld@alumni.cmu.edu.invalid> writes:
    On 10/4/2022 9:43 AM, Scott Lurndal wrote:



    'Burroughs intended target was the low-end 360/30 and 360/40
    which were marketed to SMBs. Thus, the machines used IBM's EBCDIC
    coding for data and emulated IBM's file structures [ed. on tape]'.

    https://books.google.com/books?id=Mk9-EAAAQBAJ&pg=PA120&lpg=PA120&dq=dave+dahm+ebcdic+burroughs&source=bl&ots=Noc6PbRnKC&sig=ACfU3U1gnPP99Wsx3UufLwMVBcTqaAUH7Q&hl=en&sa=X&ved=2ahUKEwjIhZiogcf6AhX9LEQIHZHqDwsQ6AF6BAgkEAM#v=onepage&q=dave%20dahm%
    20ebcdic%20burroughs&f=false

    Makes sense. The excerpt at that link is quite interesting. It gives a
    lot of detail on internals, ISA etc. Thanks.

    I've got a working simulator, with the most recent MCP, compilers, CANDE,
    and so forth for the Medium systems line, which can be configured
    for each of B2500, B4700, B4800, B4900, V380, V430, V530, V560, V590
    with a full set of simulated peripherals (except for the
    document processors (check sorters) and multiple-tape listers).

    (The comment in the book that the B4700 was the final model in the
    series is incorrect, three further generations of the architecture
    were sold until the early 90's when the line was discontinued[*]).

    [*] DS (Discontinue) was the MCP command to terminate a process :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to All on Tue Oct 4 18:58:09 2022
    On Wednesday, September 28, 2022 at 6:48:32 AM UTC-7, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote:
    < snip >
    Rereading parts of your web site, a few minor nits.

    < snip >

    2. When you talk about file names you missed a subtlety. Note that the
    dollar sign $, is a legal character in file names. With a flat file
    system, you have to insure that the combination of Qualifier and
    Filename are unique across the whole system. But the OS has various
    system files, some visible to the user (e.g system libraries), some not,
    e.g. the swap file. So in your file naming, you have to insure you
    don't mistakenly use a name that the system is already using. So early
    on, Univac decided that all Exec files would contain a dollar sign in
    the name. So to insure no conflicts, all a use has to do is not use a
    dollar sign in the name any of his files.

    < snip >
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    I've revised the section on filenames to mention that system files all contain a $ - I had actually noticed that and > was curious about the reason, so thanks for explaining it! Also corrected the mention of decimal floating point.

    Thanks again for your feedback - I want to get this right!

    You probably don't want to hear from me again, but it occurred to me that the OS2200/OS1100/Exec8 file system might be a good place to show case the fact that it might not be as backward of a system as those coming from a micro/mini environment might
    imagine, but rather simply different because of the different evolutionary path involved.

    I assume that you are probably aware of this, but just in case, what I'm specifically referring to is the fact that due to their evolutionary history, many/most? folks used to micros/minis often times assume that there's a one-to-one relationship between
    disks and file systems.
    That is each disk must have on it one and only one file system, and for each file system must exist on one and only one disk.
    Given that in the Good Old Days folks were lucky if there as even one disk on early micro/mini systems and the media on such a disk might be physically removeable, it makes sense to assume that any given disk must contain a complete file system so that
    moving the media doesn't cause the data on it to become inaccessible.

    Mainframe systems, however, usually had quite a few attached disks, some of which might have physically removable disk packs.
    But just because a disk pack could be or couldn't be physically moved without taking apart the drive it was attached to did not/does not mean that the OS has to treat it, or rather the disk drive that pack was attached/mounted on, that way.
    An OS can treat a disk drive with its mounted disk pack as being "logically removable" even though its pack couldn't be removed (AKA physically "fixed") or treat a disk drive with its mounted pack as "fixed" even though its pack could be physically
    removed (AKA physically "removable").

    In the case of OS2200/OS1100/Exec8, a disk pack that is "prep" ("prepared"/initialized) as "removable" did contain enough stuff on it so that it could be moved around in the disk farm attached to an 1100/2200 system.

    But if the pack was prepped "fixed", then the OS regarded it as being permanently a part of the system and so the OS doesn't do anything to try to restrict the files so that they reside entirely on one and only one disk pack.
    IOW, parts of files can be spread out over just about ANY ("fixed") disk in the system.
    This is of course something that folks familiar with Unix/Linux think of as a modern invention of Sun in the form of the ZFS file system and its ilk since 2000-something ... except that it's been present in OS2200/OS1100/Exec8 for something like 40+
    years before.

    I recently saw a question elsewhere in comp.sys.unisys where a person asked if there was a utility for finding out what files were on a particular pack.
    The people who answered appeared to be fluent in Burroughs systems, which makes sense because that question is usually effectively meaningless for 1100/2200 systems.

    Of course, one of the nice things about ZFS is interest in detecting and/or preventing bit rot and I this is something that (AFAIK) wasn't really a concern for OS2200/OS1100/Exec8 systems.
    Perhaps bit rot was somewhat ameliorated by rolling out mass storage files to tape and rolling them in from tape to mass storage, but that's something I never really thought about.
    Perhaps Mr. Fuld and/or Mr. Schroth can wave their arms at this.

    In any case, I don't think that this distribution of file parts across disks is something that most folks even those who come from an 1100/2200 environment would notice or care about and therefore bother mentioning when talking to someone who comes from
    a non-1100/2200 environment.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrew@21:1/5 to Lewis Cole on Wed Oct 5 09:46:57 2022
    Lewis Cole wrote:
    On Wednesday, September 28, 2022 at 6:48:32 AM UTC-7, Kira Ash wrote:
    On Tuesday, September 27, 2022 at 10:27:09 PM UTC-7, Stephen Fuld wrote:
    < snip >
    Rereading parts of your web site, a few minor nits.

    < snip >

    2. When you talk about file names you missed a subtlety. Note that the
    dollar sign $, is a legal character in file names. With a flat file
    system, you have to insure that the combination of Qualifier and
    Filename are unique across the whole system. But the OS has various
    system files, some visible to the user (e.g system libraries), some not, >>> e.g. the swap file. So in your file naming, you have to insure you
    don't mistakenly use a name that the system is already using. So early
    on, Univac decided that all Exec files would contain a dollar sign in
    the name. So to insure no conflicts, all a use has to do is not use a
    dollar sign in the name any of his files.

    < snip >
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    I've revised the section on filenames to mention that system files all contain a $ - I had actually noticed that and > was curious about the reason, so thanks for explaining it! Also corrected the mention of decimal floating point.

    Thanks again for your feedback - I want to get this right!

    You probably don't want to hear from me again, but it occurred to me that the OS2200/OS1100/Exec8 file system might be a good place to show case the fact that it might not be as backward of a system as those coming from a micro/mini environment might
    imagine, but rather simply different because of the different evolutionary path involved.

    I assume that you are probably aware of this, but just in case, what I'm specifically referring to is the fact that due to their evolutionary history, many/most? folks used to micros/minis often times assume that there's a one-to-one relationship
    between disks and file systems.
    That is each disk must have on it one and only one file system, and for each file system must exist on one and only one disk.
    Given that in the Good Old Days folks were lucky if there as even one disk on early micro/mini systems and the media on such a disk might be physically removeable, it makes sense to assume that any given disk must contain a complete file system so that
    moving the media doesn't cause the data on it to become inaccessible.

    Mainframe systems, however, usually had quite a few attached disks, some of which might have physically removable disk packs.
    But just because a disk pack could be or couldn't be physically moved without taking apart the drive it was attached to did not/does not mean that the OS has to treat it, or rather the disk drive that pack was attached/mounted on, that way.
    An OS can treat a disk drive with its mounted disk pack as being "logically removable" even though its pack couldn't be removed (AKA physically "fixed") or treat a disk drive with its mounted pack as "fixed" even though its pack could be physically
    removed (AKA physically "removable").

    In the case of OS2200/OS1100/Exec8, a disk pack that is "prep" ("prepared"/initialized) as "removable" did contain enough stuff on it so that it could be moved around in the disk farm attached to an 1100/2200 system.

    But if the pack was prepped "fixed", then the OS regarded it as being permanently a part of the system and so the OS doesn't do anything to try to restrict the files so that they reside entirely on one and only one disk pack.
    IOW, parts of files can be spread out over just about ANY ("fixed") disk in the system.
    This is of course something that folks familiar with Unix/Linux think of as a modern invention of Sun in the form of the ZFS file system and its ilk since 2000-something ... except that it's been present in OS2200/OS1100/Exec8 for something like 40+
    years before.

    I recently saw a question elsewhere in comp.sys.unisys where a person asked if there was a utility for finding out what files were on a particular pack.
    The people who answered appeared to be fluent in Burroughs systems, which makes sense because that question is usually effectively meaningless for 1100/2200 systems.

    If the pack is Fixed, @fas can tell you although it's a bit clumsy.
    If the pack is Rem, @prt,d is the way to go.


    Of course, one of the nice things about ZFS is interest in detecting and/or preventing bit rot and I this is something that (AFAIK) wasn't really a concern for OS2200/OS1100/Exec8 systems.
    Perhaps bit rot was somewhat ameliorated by rolling out mass storage files to tape and rolling them in from tape to mass storage, but that's something I never really thought about.
    Perhaps Mr. Fuld and/or Mr. Schroth can wave their arms at this.

    In any case, I don't think that this distribution of file parts across disks is something that most folks even those who come from an 1100/2200 environment would notice or care about and therefore bother mentioning when talking to someone who comes
    from a non-1100/2200 environment.

    In my last job I would move files from one pack to another (both Fixed
    and Rem) and then I really cared what was on a pack. Normally my
    utilities would insist on exclusive use of a file, although sometimes
    I'd accept read-only access from other processes.
    This was on high-availability systems and I wrote the utilities so we
    could migrate from older discs to newer ones. Obviously older Fixed
    packs would be in SUspend mode.
    Once I had the usage of the old packs down to a minimum it was time for
    a JK4+9 boot.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Lewis Cole on Wed Oct 5 14:10:05 2022
    Lewis Cole <l_cole@juno.com> writes:
    On Wednesday, September 28, 2022 at 6:48:32 AM UTC-7, Kira Ash wrote:

    Mainframe systems, however, usually had quite a few attached disks, some of=
    which might have physically removable disk packs.
    But just because a disk pack could be or couldn't be physically moved witho= >ut taking apart the drive it was attached to did not/does not mean that the=
    OS has to treat it, or rather the disk drive that pack was attached/mounte=
    d on, that way.
    An OS can treat a disk drive with its mounted disk pack as being "logically=
    removable" even though its pack couldn't be removed (AKA physically "fixed=
    ") or treat a disk drive with its mounted pack as "fixed" even though its p= >ack could be physically removed (AKA physically "removable").

    In the case of OS2200/OS1100/Exec8, a disk pack that is "prep" ("prepared"/= >initialized) as "removable" did contain enough stuff on it so that it could=
    be moved around in the disk farm attached to an 1100/2200 system.

    But if the pack was prepped "fixed", then the OS regarded it as being perma= >nently a part of the system and so the OS doesn't do anything to try to res= >trict the files so that they reside entirely on one and only one disk pack. >IOW, parts of files can be spread out over just about ANY ("fixed") disk in=
    the system.

    Burroughs medium systems also provided similar capabilities. It distinguished between the original 100-byte sector media (disk) and 180-byte sector media (pack). The disk array could consist of one or more subsystems, with
    files allocated across units within a subsystem (under control of the application).

    Packs were organized into named "Families" which could consist of a single
    unit or multiple units as required for capacity, throughput and load balancing.

    For Medium systems, up to four hosts could be loosely coupled and fully share disk subsystems or pack families[*]; something I've not heard that the Univac decendents could do.

    [*] FPM (file Protect Memory) or later SSP (Shared System Processor) units provided
    record-level lockout capabilities betwen hosts.

    This is of course something that folks familiar with Unix/Linux think of as=
    a modern invention of Sun in the form of the ZFS file system and its ilk s=
    ince 2000-something ... except that it's been present in OS2200/OS1100/Exec= >8 for something like 40+ years before.

    It's been present in Unix systems since 1990, which is over thirty years
    ago (see, for example, Veritas (nee Tolerant) file systems).


    The people who answered appeared to be fluent in Burroughs systems, which m= >akes sense because that question is usually effectively meaningless for 110= >0/2200 systems.

    As noted above, Burroughs systems have similar capabilities to the Univac descendents with respect to disk (medium systems) and pack families (large systems and medium systems).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Kimpel@21:1/5 to Lewis Cole on Wed Oct 5 08:08:08 2022
    On 10/4/2022 6:58 PM, Lewis Cole wrote:
    I recently saw a question elsewhere in comp.sys.unisys where a person asked if there was a utility for finding out what files were on a particular pack.
    The people who answered appeared to be fluent in Burroughs systems, which makes sense because that question is usually effectively meaningless for 1100/2200 systems.

    If I'm thinking of the same post that Lewis is, the question was one of searching for files of the same name on any (meaning all) pack units of
    a system, but what that actually means depends on the interpretation of
    "pack".

    Since the mid-1970s the ClearPath MCP disk file systems have been
    organized around the concept a "pack family". A family is a set of one
    or more hardware-addressable disk units. Of course, just what a hardware-addressable disk unit is from the MCP perspective has become a
    complex question in the context of Storage Area Networks and Network
    Attached Storage, and may not relate to a single spindle or SSD, let
    alone all of one.

    Each family has a unique name and a separate directory structure. User applications identify individual files as "filename ON familyname." Each
    file consists of a number of "areas" (extents) of contiguous storage
    space on a unit, and with multi-unit families, the areas of a file are typically distributed across all units of its family.

    So, if you interpret "pack" as an addressable disk unit (whatever that
    means these days), then the question is equally meaningless on MCP
    systems, since a file can be spread across many "packs".

    I think that most MCP users will interpret "pack" in the context of the
    OP as "pack family", though, in which case the question is entirely
    meaningful, as I thought it was when I saw the OP.

    BTW, there is a utility (SYSTEM/FILEDATA) that will report which areas
    of a file are on a specific disk unit, along with their starting
    addresses, but in my experience, people hardly ever care about that.

    Paul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Gunshannon@21:1/5 to Lewis Cole on Wed Oct 5 10:50:05 2022
    On 10/4/22 21:58, Lewis Cole wrote:

    I assume that you are probably aware of this, but just in case, what I'm specifically referring to is the fact that due to their evolutionary history, many/most? folks used to micros/minis often times assume that there's a one-to-one relationship
    between disks and file systems.

    Why on earth would you think that?

    That is each disk must have on it one and only one file system, and for each file system must exist on one and only one disk.
    Given that in the Good Old Days folks were lucky if there as even one disk on early micro/mini systems and the media on such a disk might be physically removeable, it makes sense to assume that any given disk must contain a complete file system so that
    moving the media doesn't cause the data on it to become inaccessible.

    Sorry, but that isn't at all real. Unix, which began on the PDP-11 minicomputer, not only supported multiple file systems on a single
    disk (even on disks as small as the 10 Meg RL02) but in some cases
    required it for a properly working system.

    And then, PC's from the very early days supported multiple (and often
    very different) file systems on single disks which gave us the concept
    of dual (or more) booting systems. Even on DOS only systems it was
    not unusual to partition the disk and separate the DOS and USER file
    systems.

    bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to Lewis Cole on Wed Oct 5 23:10:58 2022
    On 10/4/2022 6:58 PM, Lewis Cole wrote:

    snip

    You probably don't want to hear from me again, but it occurred to me that the OS2200/OS1100/Exec8 file system might be a good place to show case the fact that it might not be as backward of a system as those coming from a micro/mini environment might
    imagine, but rather simply different because of the different evolutionary path involved.

    I assume that you are probably aware of this, but just in case, what I'm specifically referring to is the fact that due to their evolutionary history, many/most? folks used to micros/minis often times assume that there's a one-to-one relationship
    between disks and file systems.
    That is each disk must have on it one and only one file system, and for each file system must exist on one and only one disk.
    Given that in the Good Old Days folks were lucky if there as even one disk on early micro/mini systems and the media on such a disk might be physically removeable, it makes sense to assume that any given disk must contain a complete file system so that
    moving the media doesn't cause the data on it to become inaccessible.

    Mainframe systems, however, usually had quite a few attached disks, some of which might have physically removable disk packs.
    But just because a disk pack could be or couldn't be physically moved without taking apart the drive it was attached to did not/does not mean that the OS has to treat it, or rather the disk drive that pack was attached/mounted on, that way.
    An OS can treat a disk drive with its mounted disk pack as being "logically removable" even though its pack couldn't be removed (AKA physically "fixed") or treat a disk drive with its mounted pack as "fixed" even though its pack could be physically
    removed (AKA physically "removable").

    In the case of OS2200/OS1100/Exec8, a disk pack that is "prep" ("prepared"/initialized) as "removable" did contain enough stuff on it so that it could be moved around in the disk farm attached to an 1100/2200 system.

    But if the pack was prepped "fixed", then the OS regarded it as being permanently a part of the system and so the OS doesn't do anything to try to restrict the files so that they reside entirely on one and only one disk pack.
    IOW, parts of files can be spread out over just about ANY ("fixed") disk in the system.
    This is of course something that folks familiar with Unix/Linux think of as a modern invention of Sun in the form of the ZFS file system and its ilk since 2000-something ... except that it's been present in OS2200/OS1100/Exec8 for something like 40+
    years before.

    I recently saw a question elsewhere in comp.sys.unisys where a person asked if there was a utility for finding out what files were on a particular pack.
    The people who answered appeared to be fluent in Burroughs systems, which makes sense because that question is usually effectively meaningless for 1100/2200 systems.

    Of course, one of the nice things about ZFS is interest in detecting and/or preventing bit rot and I this is something that (AFAIK) wasn't really a concern for OS2200/OS1100/Exec8 systems.
    Perhaps bit rot was somewhat ameliorated by rolling out mass storage files to tape and rolling them in from tape to mass storage, but that's something I never really thought about.
    Perhaps Mr. Fuld and/or Mr. Schroth can wave their arms at this.

    First of all, I won't comment on or worse yet disparage other systems, especially as I don't know enough about many of them. But I think the difference between fixed and removable storage is important. It comes
    from the self imposed requirement to be upward compatible with prior
    versions. So we have to go back to the beginning of the 1100 series,
    before disks became popular.

    The mass storage for early 1100 systems was on drums, not disks. (note
    that IBM commonly used used the term"drum" for what was actually a fixed
    head disk - model 2305, but Univac used real drums for storage).

    There were two types of drums. The FH series (432, 880, and 1782)
    referred to in another thread were head per track and relatively low
    capacity. BTW, the FH stood for flying head, not fixed head, as is
    commonly thought. This referred to the fact that the heads "flew" above
    the disk surface. They were primarily used for holding the OS itself and
    swap files, and other important system files.

    The main storage was provided by an incredible device called a Fastrand
    drum. These were very large drums with a "head boom" that moved along
    the drum axis to access different parts of the drum. For a great
    overview, see the article on John Walker's wonderful, worth exploring
    site, Fourmilab.

    https://www.fourmilab.ch/documents/univac/fastrand.html

    Note that this was the origin story of things that remain to this day
    such as 28 word sectors and the use of "TRK", and "POS" to refer to
    granularity in @asg statements.

    Of course, the drum was not physically removable, so there was no
    concept of removable devices. As such, all the storage, from as many
    Fastrand Devices as a system had, was one big pool. A user neither knew
    nor cared which physical device or devices his file was located on
    (though there were ways to tell that if you really wanted to know). In
    A slight exception was that a user could specify the type of device,
    e.g. FH drum or Fastrand.

    At this point, it will be useful to take a detour for a bit into
    software. Univac provided a program, then called @SECURE, now called
    @FAS. This was a file backup and restore program, making backup copies
    of mass storage files to tape. But this was integrated with the OS, so
    backup information for a file was kept in the directory entry for that
    file. This allowed the creation of a "virtual file system". Virtual in
    the sense that if the amount of physical mass storage you had got too
    full, the OS would call @Secure to move (called Rollout) some files from
    disk to tape, and free up the disk space used by those files for some
    other file to use. If a user later needed the rolled out file, when he
    @asg'd it, the OS automatically called @SECURE to roll it back in.


    Later, physical disks were introduced, and some of these had physically removable disk packs. This allowed the creation of a new type of
    storage, called naturally enough, "Removable". The existing storage,
    which used to be just "storage" was then called "Fixed". Fixed storage
    was managed just as the original storage was, i.e. allocations could go anywhere, rollout/rollback worked, etc.

    But removable storage (by this I mean disks prepped as removable) worked differently. for a start, when you created a file, if you wanted it on
    a particular removable disk pack, you specified the pack-id in the @asg
    that created the file. Of course, this information was kept in the
    file's directory entry. (actually there were two directory entries for
    such files, one on the removable pack itself and another, smaller one,
    just containing basic information an the packid where the file was)
    While file backup still used @Secure, the Rollout/Rollback mechanism
    wasn't used, relying on changing disk packs in the drives to provide
    more storage than you have physical devices (for those devices that
    supported pack swap).

    As Louis mentioned, later, when disk devices without physically
    removable packs were introduced (8434, 8450, 8470 and later) the fixed
    versus removable idea was maintained, again for backward compatibility.

    One other note. While if you wanted to create a file on multiple
    removable packs, you would just specify all the pack-ids on the creating
    @asg statement, but there was no concept of "families" or predefined
    groups of drives.

    I apologize that this got too long. :-( I hope your time reading it
    wasn't wasted! :-)





    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to Bill Gunshannon on Sat Nov 5 20:32:05 2022
    On Wednesday, October 5, 2022 at 7:50:08 AM UTC-7, Bill Gunshannon wrote:
    On 10/4/22 21:58, Lewis Cole wrote:

    I assume that you are probably aware of this,
    but just in case, what I'm specifically referring
    to is the fact that due to their evolutionary history,
    many/most? folks used to micros/minis often
    times assume that there's a one-to-one
    relationship between disks and file systems.

    Why on earth would you think that?

    You mean, aside from the fact that what I said is true?

    That is each disk must have on it one and only
    one file system, and for each file system must
    exist on one and only one disk.
    Given that in the Good Old Days folks were lucky
    if there as even one disk on early micro/mini
    systems and the media on such a disk might be
    physically removeable, it makes sense to assume
    that any given disk must contain a complete file
    system so that moving the media doesn't cause
    the data on it to become inaccessible.

    Sorry, but that isn't at all real. Unix, which began on
    the PDP-11 minicomputer, not only supported multiple
    file systems on a single disk (even on disks as small
    as the 10 Meg RL02) but in some cases required it
    for a properly working system.

    Sorry, but no.

    Unix began on a PDP-7, not a PDP-11, and in the beginning there were *NO* disks on the PDP-7 ... zero, zip, nada, none. Instead it had tapes.
    Although I'm certainly no expert on Unix development history, the story I heard is that when Unix was first being developed on the PDP-7 with *ONE*, count 'em, *ONE* disk which had a capacity of a few megabytes at most, and it was not partitioned.

    Unix was ported to the PDP-11, but that's not how it began.
    I assume that you are confused by the fact that when Unix was first announced to the World, it was on a PDP-11.

    In any event, it is my understanding that while Unix file system has changed a bit since the early days, back in the time of the PDP-11, it still involved what amounts to a file descriptor (an "inode") and a list of granules allocated to a particular
    file.
    Each entry in the granule list basically contained what amounts to a disk address without any further identification as to location, unlike an 1100/2200 DAD (Device Address Descriptor) pointed at by an 1100/2200 file item.
    IOW, the list could *NOT* indicate that a particular granule was located on a different disk.

    So while you could argue that by partitioning a real physical disk into multiple virtual disks, you could have more than one file system per (physical) disk (with one file system per virtual disk), that's only from the prospective of the human looking at
    the system and not the OS that actually has to deal with the "disks".
    In effect, it was basically impossible for a file in a file system to span more than one "disks" the way files on "fixed" mass storage do on the 1100/2200.

    If you think I am mistaken, then I await with bated breath for you to present evidence to show that this was the case.

    And then, PC's from the very early days supported
    multiple (and often very different) file systems on
    single disks which gave us the concept of dual (or
    more) booting systems.

    Sorry but again no.

    In the beginning, which is to say even before the IBM PC hit the fan, disk drives of any sort were very much a rarity.
    And if they existed, they were 8.5-inch floppies, not 5.25-inch floppies or hard drives, and each floppy or hard disk contained one and only one "file system" if you can call it that.
    In the case of CP/M, for example, its file structure basically described a list of allocated granules for a file where each granule did *NOT* allow for the specification of a different disk.
    In fact, if you ever changed a floppy on CP/M, you had to effectively reboot the "OS" each time so that it could recognize the fact that a disk had changed.

    When (IBM compatible) PCs came along, 8.5-inch floppies gave way to 5.25-inch floppies and eventually hard disks.
    In each case, however, there was one-to-one relationship between disks and file systems, in no small part because they used FAT12.
    In FAT12, there's a table (well actually two tables but since one is a copy of the other, let's call it one) called a FAT (File Allocation Table) that contains 12-bit pointers to allocated clusters of a file with NO other information at all that would
    allow bits of files on one physical disk to be linked to bits of files on a different disk.
    And this continued on with FAT16 and FAT32 where the pointers simply grew in size from 12-bits to 16-bits and then 32-bits.

    "Dual booting" did *NOT* change this in the slightest.
    Instead, a trick was cooked up where a table was set up in the Master Boot Record (MBR) that allowed one to treat the disk as if it were actually four separate (virtual) "disks", one "primary" and three "logical".
    And with a little extra code and this partition table, you could have a boot loader that could boot from each of the virtual "disks" on the physical disk, but once again, since the file system installed in any of these virtual disks was some version of
    FAT, it was *NOT* possible for file to span "disks".

    Even when HPFS came along, IIRC, they are still using something that amounts to a list of granules without any drive identifier which would allow a file in a file system to span multiple "disks", no matter how you define a "disk" although pointers to
    lots of other crud in file descriptors was added.

    And OBTW, I did this with OS/2 and (I think) MSDOS (although it could have been an early version of Windows) so I can assure you that what I've said is correct from person experience.

    Even on DOS only systems
    it was not unusual to partition the disk and separate
    the DOS and USER file systems.

    Again, we're talking about something that eventually developed, but wasn't the case originally.
    And due to the limitations of the structures that described files, it wasn't possible (unless you didn't really care about file integrity at least) for files to span "drives" no matter how they were defined.

    And what I said still holds true today.

    Just the other day, I poked around with a Linux Mint distribution "live" USB drive and looked at the hardware on an old laptop that I'm thinking about installing Linux Mint.
    What I see still clearly indicates that there's an MBR with a partition table that can make the hard drive "look" like up to four hard drives, where each "drive" contains one and only one file system.
    In fact, if this weren't the case, then the old trick of putting ones "usr" tree on its own "drive" so that everything remains on that one "drive" despite installing newer versions of the OS wouldn't work.

    bill

    If you goal was to point out that one can partition physical disk drives so that they can be treated as multiple virtual disk which allows one to have more than one file system per physical disk, then I stand corrected and that you were/are right.
    However, as this correction doesn't affect whether or not a file systems of yore could support files that span more than one "disk" -- you know, the first sentence after you asked, "Why on earth would you think that?" -- or where/when things happened
    historically, you'll pardon me if I don't particularly care about it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Kimpel@21:1/5 to Lewis Cole on Sun Nov 6 06:00:11 2022
    On 11/5/2022 8:32 PM, Lewis Cole wrote:
    When (IBM compatible) PCs came along, 8.5-inch floppies gave way to 5.25-inch floppies and eventually hard disks.

    No, 5.25-inch floppies came along quite a bit earlier (1976) than the
    IBM PC (1981). I bought an Apple ][ Plus in 1979 to host Apple Pascal
    that had dual 5.25 single-sided disks, storing a whopping 140KB each.
    Each disk could have only a single file system, and of course there was
    no spanning of file systems across disks.

    See https://en.wikipedia.org/wiki/Floppy_disk.

    Paul

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Lewis Cole on Sun Nov 6 15:14:59 2022
    Lewis Cole <l_cole@juno.com> writes:
    On Wednesday, October 5, 2022 at 7:50:08 AM UTC-7, Bill Gunshannon wrote:
    On 10/4/22 21:58, Lewis Cole wrote:=20
    =20
    I assume that you are probably aware of this,=20
    but just in case, what I'm specifically referring=20
    to is the fact that due to their evolutionary history,=20
    many/most? folks used to micros/minis often=20
    times assume that there's a one-to-one=20
    relationship between disks and file systems.
    =20
    Why on earth would you think that?

    You mean, aside from the fact that what I said is true?

    Given that mainframe systems had no such constraints
    in the periods before, during and after the mini
    era, and most people using minicomputers in those
    days were familiar with one or more mainframe
    families, I'm not sure why you think that is true.

    For PC and hobby users, on the other hand, multivolume
    floppies or cassettes weren't uncommon.

    In any event, it is my understanding that while Unix file system has change= >d a bit since the early days, back in the time of the PDP-11, it still invo= >lved what amounts to a file descriptor (an "inode") and a list of granules = >allocated to a particular file.

    That fundamentally describes most file systems, with variations in terminology.

    Multivolume filesystems showed up in Unix in the late 80's/early 90's with the Tolerant filesystem volume manager (later Veritas VxFS/VxVM).



    In the beginning, which is to say even before the IBM PC hit the fan, disk = >drives of any sort were very much a rarity.

    For PCs, perhaps. There were of course wide ranges of disk subsystems
    from the 1960's forward on mini and mainframe computers.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Gunshannon@21:1/5 to Lewis Cole on Sun Nov 6 11:50:59 2022
    On 11/5/22 23:32, Lewis Cole wrote:
    On Wednesday, October 5, 2022 at 7:50:08 AM UTC-7, Bill Gunshannon wrote:
    On 10/4/22 21:58, Lewis Cole wrote:

    I assume that you are probably aware of this,
    but just in case, what I'm specifically referring
    to is the fact that due to their evolutionary history,
    many/most? folks used to micros/minis often
    times assume that there's a one-to-one
    relationship between disks and file systems.

    Why on earth would you think that?

    You mean, aside from the fact that what I said is true?

    That is each disk must have on it one and only
    one file system, and for each file system must
    exist on one and only one disk.
    Given that in the Good Old Days folks were lucky
    if there as even one disk on early micro/mini
    systems and the media on such a disk might be
    physically removeable, it makes sense to assume
    that any given disk must contain a complete file
    system so that moving the media doesn't cause
    the data on it to become inaccessible.

    Sorry, but that isn't at all real. Unix, which began on
    the PDP-11 minicomputer, not only supported multiple
    file systems on a single disk (even on disks as small
    as the 10 Meg RL02) but in some cases required it
    for a properly working system.

    Sorry, but no.

    Unix began on a PDP-7, not a PDP-11, and in the beginning there were *NO* disks on the PDP-7 ... zero, zip, nada, none. Instead it had tapes.

    Sorry, I thought we were discussing disks and partitions and not the
    history of Unix development.

    Although I'm certainly no expert on Unix development history, the story I heard is that when Unix was first being developed on the PDP-7 with *ONE*, count 'em, *ONE* disk which had a capacity of a few megabytes at most, and it was not partitioned.

    Having started with Verison 7 I have no idea how things were handled
    on the PDP-7 but I suspect even then it may have been partitioned,
    just not like we think of partitioning today.


    Unix was ported to the PDP-11, but that's not how it began.
    I assume that you are confused by the fact that when Unix was first announced to the World, it was on a PDP-11.

    Again, I didn't think we were discussing Unix History.


    In any event, it is my understanding that while Unix file system has changed a bit since the early days, back in the time of the PDP-11, it still involved what amounts to a file descriptor (an "inode") and a list of granules allocated to a particular
    file.
    Each entry in the granule list basically contained what amounts to a disk address without any further identification as to location, unlike an 1100/2200 DAD (Device Address Descriptor) pointed at by an 1100/2200 file item.
    IOW, the list could *NOT* indicate that a particular granule was located on a different disk.

    True, but that has nothing to do with whether or not there were
    multiple filesystems on a single disk. In fact, there were.


    So while you could argue that by partitioning a real physical disk into multiple virtual disks, you could have more than one file system per (physical) disk (with one file system per virtual disk), that's only from the prospective of the human looking
    at the system and not the OS that actually has to deal with the "disks".
    In effect, it was basically impossible for a file in a file system to span more than one "disks" the way files on "fixed" mass storage do on the 1100/2200.

    Now we're talking about two distinct concepts. Multiple filesystems
    on a single disk and a single filesystem on multiple disks. The first
    existed in Unix from very early on and the second much later.


    If you think I am mistaken, then I await with bated breath for you to present evidence to show that this was the case.

    I suggest you look at: "http://bitsavers.org/pdf/dec/pdp11/ultrix-11/2.0/AA-X343B-TC_ULTRIX-11_SysMgmt_1984.pdf"

    Appendix D.


    And then, PC's from the very early days supported
    multiple (and often very different) file systems on
    single disks which gave us the concept of dual (or
    more) booting systems.

    Sorry but again no.

    Then what was FDISK for?


    In the beginning, which is to say even before the IBM PC hit the fan, disk drives of any sort were very much a rarity.
    And if they existed, they were 8.5-inch floppies, not 5.25-inch floppies or hard drives, and each floppy or hard disk contained one and only one "file system" if you can call it that.
    In the case of CP/M, for example, its file structure basically described a list of allocated granules for a file where each granule did *NOT* allow for the specification of a different disk.
    In fact, if you ever changed a floppy on CP/M, you had to effectively reboot the "OS" each time so that it could recognize the fact that a disk had changed.

    I never said every OS had partitioned disks. I only need to show
    one to disprove your argument. And I did. Unix.


    When (IBM compatible) PCs came along, 8.5-inch floppies gave way to 5.25-inch floppies and eventually hard disks.
    In each case, however, there was one-to-one relationship between disks and file systems, in no small part because they used FAT12.
    In FAT12, there's a table (well actually two tables but since one is a copy of the other, let's call it one) called a FAT (File Allocation Table) that contains 12-bit pointers to allocated clusters of a file with NO other information at all that would
    allow bits of files on one physical disk to be linked to bits of files on a different disk.
    And this continued on with FAT16 and FAT32 where the pointers simply grew in size from 12-bits to 16-bits and then 32-bits.

    "Dual booting" did *NOT* change this in the slightest.
    Instead, a trick was cooked up where a table was set up in the Master Boot Record (MBR) that allowed one to treat the disk as if it were actually four separate (virtual) "disks", one "primary" and three "logical".

    Isn't that exactly what you said they didn't do? One
    disk. Multiple partitions. Each partition with a
    different file system on it.

    And with a little extra code and this partition table, you could have a boot loader that could boot from each of the virtual "disks" on the physical disk, but once again, since the file system installed in any of these virtual disks was some version of
    FAT, it was *NOT* possible for file to span "disks".

    That's not what I was trying to show in the first place.
    We started out with the premise that no one did multiple
    filesystems on a single disk. I showed that they did.
    Now, all of a sudden it is the inverse of that. One File
    systems spanning ,multiple disks. That didn't come about
    until RAID. But it was done in Unix and eventually on
    PC class machines but usually on PC class machines it was
    done in hardware.


    Even when HPFS came along, IIRC, they are still using something that amounts to a list of granules without any drive identifier which would allow a file in a file system to span multiple "disks", no matter how you define a "disk" although pointers to
    lots of other crud in file descriptors was added.

    And OBTW, I did this with OS/2 and (I think) MSDOS (although it could have been an early version of Windows) so I can assure you that what I've said is correct from person experience.

    Even on DOS only systems
    it was not unusual to partition the disk and separate
    the DOS and USER file systems.

    Again, we're talking about something that eventually developed, but wasn't the case originally.
    And due to the limitations of the structures that described files, it wasn't possible (unless you didn't really care about file integrity at least) for files to span "drives" no matter how they were defined.

    And what I said still holds true today.

    RAID controllers?


    Just the other day, I poked around with a Linux Mint distribution "live" USB drive and looked at the hardware on an old laptop that I'm thinking about installing Linux Mint.
    What I see still clearly indicates that there's an MBR with a partition table that can make the hard drive "look" like up to four hard drives, where each "drive" contains one and only one file system.

    No. there is one drive and multiple partitions and each partition
    can have a different file system. That's what partitioning does.
    It makes a partition look like a drive but there is still only
    one drive with multiple file systems on it.

    In fact, if this weren't the case, then the old trick of putting ones "usr" tree on its own "drive" so that everything remains on that one "drive" despite installing newer versions of the OS wouldn't work.

    It's not a second "drive", although that's another way of doing it.
    It's a partition on the single drive in the system.


    bill

    If you goal was to point out that one can partition physical disk drives so that they can be treated as multiple virtual disk which allows one to have more than one file system per physical disk, then I stand corrected and that you were/are right.
    However, as this correction doesn't affect whether or not a file systems of yore could support files that span more than one "disk" -- you know, the first sentence after you asked, "Why on earth would you think that?" -- or where/when things happened
    historically, you'll pardon me if I don't particularly care about it.

    I'm just baffled at how this went from multiple file systems on one
    disk to multiple disks containing one file system. Both of which
    various Unixes have supported for several decades. I ran small disks
    combined by software into large disks back in the days we were still
    running SPARC at the University. Needed it for large user file
    space to support over a hundred students and to support very large
    storage area for our USENET News Server.

    bill

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to Paul Kimpel on Sun Nov 6 13:39:19 2022
    On Sunday, November 6, 2022 at 6:00:13 AM UTC-8, Paul Kimpel wrote:
    On 11/5/2022 8:32 PM, Lewis Cole wrote:
    When (IBM compatible) PCs came along, 8.5-inch floppies gave way to 5.25-inch floppies and eventually hard disks.
    No, 5.25-inch floppies came along quite a bit earlier (1976) than the
    IBM PC (1981). I bought an Apple ][ Plus in 1979 to host Apple Pascal
    that had dual 5.25 single-sided disks, storing a whopping 140KB each.
    Each disk could have only a single file system, and of course there was
    no spanning of file systems across disks.

    See https://en.wikipedia.org/wiki/Floppy_disk.

    Paul

    You are correct about when 5.25-inch floppies came out relative to the IBM PC. What I was trying to indicate was that there was a historical progression from 8-inch floppies to 5.25-inch floppies and hard drives that ultimately lead to the IBM PC using 5.25-inch floppies and hard drives after they too weaned themselves off of tape.
    Sorry for the confusion.

    However, let's be clear here with regard to the sequence of events so as to not leave anyone with the impression that Apple introduced the World to 5.25-inch floppies, shall we?

    Shugart introduced the 5.25-inch floppy sometime around 1977 (1976 seems a bit early to me), but they weren't standardized until a couple years later (meaning something like 1978 or 1979 ... I'm too lazy to look up the dates right at the moment).
    People began using them in their own homebrew PCs (meaning "Personal Computers", not "PCs" as in the product put out by IBM) pretty much as soon as they became available, and that occurred well before Apple ever included them with the Apple II which
    started out using tapes for mass storage.
    The first commercially produced PCs to use first 5.25-inch based system that I recall were from North Star which I believed used a tweaked version of CP/M they called North Star DOS.

    Until the standardization occurred, however, everyone and their brother who offered software on 5.25-inch floppies had to specify what format they were using, with a format by Xerox being one of the most (if not the most) popular version.

    And again, not of the various versions supported files spanning disks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to All on Sun Nov 6 13:47:52 2022
    On Wednesday, October 5, 2022 at 7:50:08 AM UTC-7, Bill Gunshannon wrote:
    On 10/4/22 21:58, Lewis Cole wrote:=20

    I assume that you are probably aware of this,=20
    but just in case, what I'm specifically referring=20
    to is the fact that due to their evolutionary history,=20
    many/most? folks used to micros/minis often=20
    times assume that there's a one-to-one=20
    relationship between disks and file systems.

    Why on earth would you think that?

    You mean, aside from the fact that what I said is true?

    Given that mainframe systems had no such constraints
    in the periods before, during and after the mini
    era, and most people using minicomputers in those
    days were familiar with one or more mainframe
    families, I'm not sure why you think that is true.

    I think it's true because the "givens" you think applied at the time, didn't.

    I don't know you hung out with in your youth, but the people that I was familiar with who messed with minis did so because the college they were had one in one of their departments.
    Said mini was fed and cared for by students (because they were cheap) under the nominal control of some faculty member who may well have never set foot in the campus computing center where the mainframe was kept.
    For the most part, most students' familiarity with mainframes, including those who played with a mini, was in the form of submitting a deck to a window/keyhole in the morning and hoping that their job would be run by the next day.
    Terminals (often times dial-up) eventually came onto the scene to access the mainframe, but you didn't know how/where anything was physically stored on disk (or in my case, drum).

    But moreover, we're talking about a time that is now more than two generations ago, and as it so happens, information tends to get lost as time passes.
    In one of my previous posts, I bitched about a Retro Computing Roundtable video or two.
    In that video, or in one a few videos earlier, the four roundtable members ALL indicated that they had NO IDEA what they were talking about when it came to mainframes.
    Some snapshot/slide was shown that had words like JCL, MVS, OS1100, MCP, and one of the members (who happens to be a programmer by the way) said they didn't know what any of the terms meant.

    For PC and hobby users, on the other hand, multivolume
    floppies or cassettes weren't uncommon.

    In the early days, this was not the case because disk mass storage of any type was a luxury.
    Until prices dropped, one was lucky to have even a cassette drive.

    Eventually, disk prices did drop and you could have more than one hard drive in your PC, but as I indicated before, the very structure of FAT rules out the possibility of files that span more than one disk.
    So to the extent that you had "multivolume" floppies, each floppy contained one file system and had stored as a file one part of a larger file or collection of files, NOT at all like files are stored on "fixed" mass storage on an 1100/2200.
    (And yes, I had a lot of "fun" feeding floppy after floppy into my PC in the Good Old Days to install OS/2, so been there, done that.)

    In any event, it is my understanding that while Unix file system has change= >>d a bit since the early days, back in the time of the PDP-11, it still invo= >>lved what amounts to a file descriptor (an "inode") and a list of granules = >>allocated to a particular file.

    That fundamentally describes most file systems, with variations in terminology.


    Well, sort of.

    I would agree that a "file system" is a system for managing files.
    But the devil is in the details when it comes to how/why that management is done.

    Yes, many OSs use a list of allocated granules to keep track of the parts of a file, but for a single disk system, you can also use bit maps to keep track of what records are allocated and to who.
    And this was in fact done on at least one homebrew FORTH system I read about many, many, many moons ago (I think in BYTE).
    It worked just fine AFAIK, but you're clearly not going to be able to describe a file spanning multiple disks with this system.
    Why? Because you can't describe what drives some part of a file that's spread across multiple drives is located.

    The thing is that you can't do that with a list of granules unless that list allows you to associate granules with disks for basically the same reason.
    You can't identify where granules are that are on some other disk unless you happen to partition a physical disk into multiple virtual disks and then keep track of space by an address that identifies physical records.
    And in this latter scheme, you can't spread the file beyond the confines of the single physical disk.

    This is NOT the case with Exec8/OS1100/OS2200 on the 1100/2200 Series.
    Device Address Descriptors (DADs) describe where the granules of a file are located, not just in terms of what records make up the granules, but also what device the records are on.

    Multivolume filesystems showed up in Unix in the late 80's/early 90's with the
    Tolerant filesystem volume manager (later Veritas VxFS/VxVM).

    I'm sorry, but I really don't give a rat's ass when multivolume file systems showed up on Unix.
    Whenever year you'd like to point at, that year was sometime *AFTER* Exec8 appeared with "fixed" mass storage in its quiver.
    This clearly demonstrates that spreading files across multiple disks is a feature that appeared BEFORE Unix ever came onto the scene, and so any notion that its being a "modern" feature, especially one that made its way out of Unix, is wrong.


    In the beginning, which is to say even before the IBM PC hit the fan, disk >> drives of any sort were very much a rarity.

    For PCs, perhaps. There were of course wide ranges of disk subsystems
    from the 1960's forward on mini and mainframe computers.

    Disks were expensive even back in the 1960s.
    They were prevalent in places where there were Big Bucks.
    Since minis were often times purchased because they were relatively "cheap", they too often times had very few, if any, disks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to All on Sun Nov 6 14:02:01 2022
    < lots of irrelevant stuff SNIPPED >

    If you goal was to point out that one can partition physical
    disk drives so that they can be treated as multiple virtual
    disk which allows one to have more than one file system per
    physical disk, then I stand corrected and that you were/are
    right.
    However, as this correction doesn't affect whether or not a
    file systems of yore could support files that span more than
    one "disk" -- you know, the first sentence after you asked,
    "Why on earth would you think that?" -- or where/when things
    happened historically, you'll pardon me if I don't particularly
    care about it.

    I'm just baffled at how this went from multiple file systems on
    one disk to multiple disks containing one file system. [...]

    Perhaps you'd be less baffled if you re-read what I wrote, including the part you referenced in your original response.
    I'll include the relevant part below so you don't have to search for it:

    [...] but just in case, what I'm specifically referring
    to is the fact that due to their evolutionary history,
    many/most? folks used to micros/minis often
    times assume that there's a one-to-one
    relationship between disks _*AND*_[emphasis added is mine]
    file systems.

    I thought (and still think) that I was plainly saying many people conflate the word "disk" with the words "file system".
    I stand by this statement as nothing you've written gives me cause to think otherwise.

    Since I was interested in pointing something out about how Exec8/OS1100/OS2200 deals with files on "fixed" storage, namely how files can be spread across multiple disks, I expressed the conflation by stating two separate statements about disks and file
    systems which I joined together with the word "and".
    IOW, both parts are supposed to be read and taken together.
    You, however, appear to have read only the first condition, stopped reading, and then started pounding away at your keyboard to "correct" me for my ignorance.
    And now you want to feign ignorance about how we got here ....

    [...] Both of which
    various Unixes have supported for several decades. [...]

    Once again, you are conveniently ignoring what I wrote.
    Further down in my original post, I wrote:

    But if the pack was prepped "fixed", then the OS regarded it
    as being permanently a part of the system and so the OS
    doesn't do anything to try to restrict the files so that they
    reside entirely on one and only one disk pack.
    IOW, parts of files can be spread out over just about ANY ("fixed")
    disk in the system.
    _This is of course something that folks familiar with Unix/Linux
    think of as a modern invention of Sun in the form of the ZFS
    file system and its ilk since 2000-something ... except that it's
    been present in OS2200/OS1100/Exec8 for something like 40+ years
    before._ [emphasis added is mine]

    And to try to be clear so hopefully I don't have to deal with more misreading of what I wrote, I'm not saying that Unix doesn't support file systems that allow the spreading of files across disk.
    I am not saying that this isn't something that hasn't been around for a LONG time in Unix or other "modern" OSs.
    I am not saying that other mainframe OSs didn't/don't have this feature either. And I am not saying that Exec8/OS1100/OS2200 was the first to implement this feature.

    What I am saying -- what I have said -- is that this is something that existed long ago even before it made its appearance on more "modern" computers and OSs ... something I think that many/most? people seem to forget.
    Computing history did not start with the PDPs, Altairs, Apples, IBM PC, or with Unix.
    Many of the features that youngsters like to think of as (relatively) "new" and "innovative" are actually the result of old stuff being rediscovered during their own evolutionary path.
    One example of that is files being spread across disks which occurred long before it appeared on Unix, something which clearly shows that it wasn't something added to Exec in response to Unix or some other more "modern" OS.

    In response to me pointing out that you were wrong about what machine Unix (at least started on) being developed on, you tried to deflect from the fact that you stated something that was wrong you said that you thought "we" were talking about partitions
    and file systems, not Unix history.
    Well, "we" which is to say "I" am talking about history by way of an example involving disks and file systems.
    The fact that one can partition a physical drive into more than one virtual drive doesn't change what I'm talking about, and your attempts to harp on this fact does nothing to change what I'm talking about either.
    It's just a piddly aside, but if you want to bring up piddly asides, I'm willing to do the same vis-a-vis the fact that Unix didn't start out on the PDP-11.

    I ran small disks
    combined by software into large disks back in the days we were still
    running SPARC at the University. Needed it for large user file
    space to support over a hundred students and to support very large
    storage area for our USENET News Server.

    That's nice. And when was that compared to the introduction of fixed mass storage on Exec8? Ten years later? Twenty years later?
    If you can't come up with a date that's *BEFORE* the introduction of Exec8, this comment is like others in your response that I don't care about.

    Just to quickly take a swipe a few of them:

    1. FDISK (and with it the MBR and its partition table) was introduced into MS-DOS to compensate for the fact that disk sizes had grown beyond the 10MB that FAT12 could deal with sometime in the 1980s IIRC.
    The MBR's partition table allowed a single physical hard drive could be broken up into multiple virtual drives, each of which would hold another instance of a FAT12 file system, not some foreign file system.

    2. The Appendix that you cited simply shows that Ultrix supported partitioning of a physical drive into more than one virtual drive.
    You seem to think that this disproves by counterexample my "argument". It doesn't since I didn't claim in any of my posts that once couldn't do such partitioning.
    In fact, since I said that it could, but instead pointed to the fact that each such partition can be thought of/treated as a "disk", showing that partitioning can be done simply shows that I am right about that one part.

    3. You seem intent on playing word games with "drive"/"disk" and "partition" when it suits you.
    That "works" on Unix I supposed where there are separate entries for drives and partitions in the /dev directory, but for the rest of us with Windows on our desktops, a partition is a drive and has a drive letter assigned to it just alike a real live
    different physical disk has.
    And oddly enough, it's one drive/one file system for us.

    4. Since you apparently are intent on not reading both parts of the statement I tried together with the word "and", you "understandably" failed to realize what would actually show that I'm wrong, which is that granule list pointed at by an Inode in some
    way contains enough information to allow a part of a file that's on a different disk entirely to be located.
    The best you can do with partitioning is to say, "well if the granule address is indeed a record address, then that address can reference a different partition on the same physical disk" which unfortunately for you doesn't get you into the same ballpark
    as spreading a file across any "fixed" disk on an 1100/2200.

    5. You mentioned RAID for some reason.
    Since I don't know what you were trying to get at, I'll just point out that as an expression it showed up sometime in the late 1980s while the first use of RAID (mirroring=RAID 1) occurred sometime in the early 1980s on the 1100.
    (The first 8470s had a nasty habit head crashing and so the "UD" key was cooked up so that the contents of a disk could be moved to a good disk before the head(s) finally gave out.)
    Some form of RAID was used on other machines before (Tandem?) and I'm pretty sure that IBM patented at least some form of RAID even before the 1980s.
    Are you trying to claim that RAID sprang forth from Unix before anyone else thought of it as well???

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Scott Lurndal@21:1/5 to Lewis Cole on Mon Nov 7 15:56:06 2022
    Lewis Cole <l_cole@juno.com> writes:
    On Wednesday, October 5, 2022 at 7:50:08 AM UTC-7, Bill Gunshannon wrote:
    On 10/4/22 21:58, Lewis Cole wrote:=20

    I assume that you are probably aware of this,=20
    but just in case, what I'm specifically referring=20
    to is the fact that due to their evolutionary history,=20
    many/most? folks used to micros/minis often=20
    times assume that there's a one-to-one=20
    relationship between disks and file systems.

    Why on earth would you think that?

    You mean, aside from the fact that what I said is true?

    Given that mainframe systems had no such constraints
    in the periods before, during and after the mini
    era, and most people using minicomputers in those
    days were familiar with one or more mainframe
    families, I'm not sure why you think that is true.

    I think it's true because the "givens" you think applied at the time, didn't.

    Well, I was "messing" with mini's (HP2k, PDP-8, in particular) in the middle
    of the 1970s. They had disks, and both hosts were basically obsolete at that time.
    I was also messing with HP-3000's during the same timeframe, which had many disks,
    and I spent 14 years at Burroughs writing mainframe operating systems (which supported multivolume filesystems since the 1960s).

    Eventually, disk prices did drop and you could have more than one hard
    drive in your PC, but as I indicated before, the very structure of FAT
    rules out the possibility of files that span more than one disk.

    DOS was never the only operating system, nor was FAT the only filesystem
    on disks for personal computers even in the early days.

    Yes, many OSs use a list of allocated granules to keep track of the
    parts of a file, but for a single disk system, you can also use bit
    maps to keep track of what records are allocated and to who[m].

    In generally, you can divide filesystems into two fundamental types:
    - extent-based allocators
    - fixed-block-size allocators.

    Both have their advantages and both have their disavantages, based on
    workload.

    In Unix filesystems, the 'inode' encapsulated filesystem metadata, including addresses of the sectors (or groups of sectors) containing file data. This should not be confused with a 'directory entry', because it was not such.

    This was no different than the Burroughs filesystems other than the terminology changed; there the 'inode' was called a 'file header'. Both contained the same metadata, and in both cases, the 'directory' was just a file of tuples <filename, metadata-pointer>.

    The Sperry/Univac systems were similar to the Burroughs systems in that the device addresses in the file metadata included a device identifier and a
    device relative sector address.

    The Univac filesystem structure and access methods however, are quite different from
    the Burroughs, Unix or microsoft OS methods.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lewis Cole@21:1/5 to Scott Lurndal on Mon Nov 7 11:07:04 2022
    On Monday, November 7, 2022 at 7:56:08 AM UTC-8, Scott Lurndal wrote:
    Lewis Cole <l_c...@juno.com> writes:
    On Wednesday, October 5, 2022 at 7:50:08 AM UTC-7, Bill Gunshannon wrote: >>> On 10/4/22 21:58, Lewis Cole wrote:=20
    < snip >

    Why on earth would you think that?

    You mean, aside from the fact that what I said is true?

    Given that mainframe systems had no such constraints
    in the periods before, during and after the mini
    era, and most people using minicomputers in those
    days were familiar with one or more mainframe
    families, I'm not sure why you think that is true.

    I think it's true because the "givens" you think applied at the time, didn't.

    Well, I was "messing" with mini's (HP2k, PDP-8, in particular) in the middle of the 1970s. They had disks, and both hosts were basically obsolete at that time.
    I was also messing with HP-3000's during the same timeframe, which had many disks,
    and I spent 14 years at Burroughs writing mainframe operating systems (which supported multivolume filesystems since the 1960s).

    As I said with Mr. Gunshannon, that's nice.

    Eventually, disk prices did drop and you could have more than one hard
    drive in your PC, but as I indicated before, the very structure of FAT
    rules out the possibility of files that span more than one disk.

    DOS was never the only operating system, nor was FAT the only filesystem
    on disks for personal computers even in the early days.

    No, it wasn't. Nor did I say it did. But let's not try to dismiss it as if it weren't influential either and therefore relevant, shall we?

    Yes, many OSs use a list of allocated granules to keep track of the
    parts of a file, but for a single disk system, you can also use bit
    maps to keep track of what records are allocated and to who[m].

    In generally, you can divide filesystems into two fundamental types:
    - extent-based allocators
    - fixed-block-size allocators.>>>

    Both have their advantages and both have their disavantages, based on workload.

    In Unix filesystems, the 'inode' encapsulated filesystem metadata, including addresses of the sectors (or groups of sectors) containing file data. This should not be confused with a 'directory entry', because it was not such.

    This was no different than the Burroughs filesystems other than the terminology
    changed; there the 'inode' was called a 'file header'. Both contained the same metadata, and in both cases, the 'directory' was just a file of tuples <filename, metadata-pointer>.

    The Sperry/Univac systems were similar to the Burroughs systems in that the device addresses in the file metadata included a device identifier and a device relative sector address.

    The Univac filesystem structure and access methods however, are quite different
    from the Burroughs, Unix or microsoft OS methods.

    Thank you for the historical background.
    Seriously. I actually do appreciate it.

    But (yes, there's a "but") now, please go back and re-read what I originally wrote. Why? Because in it, you'll hopefully note that I wrote "many/most?" people.
    That wasn't a typo.

    With all due respect to you (and even Mr. Gunshannon), I would submit that you are *NOT* "many/most?" people.
    Instead, "many/most?" people are those people who are more represented by those who view you as their unpaid go-to guy when they are looking for "tech support" for their PCs (where again, by "PC" I mean "Personal Computer" rather than a particular brand
    or type).
    What is their view of what constitutes a disk and whether or not it contains one and only one file system?

    Rather than trying to argue with me over what constitutes a disk versus a partition, or whether or not a file system keeps track of things with bit maps, record numbers, or tuples or whether or not an inode is the same as file item, may I humbly suggest
    that you just ask them.
    I suspect that you already have enough personal experience with them (as I do with mine) that you don't really even need to bother, but if you want to re-affirm what you believe, then I am fairly certain that you can do so fairly quickly and without much
    effort.

    I suggest that you start by asking them if they have any idea what's on their "C:" drive.
    I suspect that you'll know right away from their answer whether or not they have a Windows based system because they will know what you are talking about even if they say something like, "How the hell should I know"?
    I suspect that you'll get an answer well in excess of 50% if the people you ask are fairly representative of "many/most?" people because Windows is still the dominant OS in the desktop field despite its decline relative to other mostly Unix based or Unix
    inspired OSs.
    (According to a quick Wikipedia search as I just did, their market share is still greater than 75%.)

    I then suggest that you ask them if they have a "D:" drive.
    Again, I suspect you'll know almost right away from their answer whether or not they think of any extra partitions on their "C:" drive are "just a partition of a real physical drive" or as a separate "drive" in its own right.

    Finally, I would suggest that you ask them if they can look for/show you a file -- any file -- on "C:" and then a file -- any file -- any other "drives" they might have.
    Again, I suspect that you'll know almost right away whether they think that there's one file system on each "drive" or not by how they do the search.
    (For example, if they enter "C:" before "DIR" and "D:" before "DIR" from a command terminal, then as far as they are concerned, each drive contains a separate file system.)

    If you do this, I think you will be faced with a dilemma.
    You will know about the gory details that lies below the surface when it comes to computers, not just PCs, and you will therefore know that a disk partition is *NOT* really a separate disk, but you will be faced with empirical evidence that shows that as
    far as "many/most?" people, a "virtual disk" is still a "disk", and that, one "disk" equals one file system and vice versa.
    You will know about all the great history you gained from personal experience from before commercial PCs even hit the fan, and yet "many/most?" people don't, in no small part because they didn't have the exposure you did and instead were driven by cost
    of putting together their own small systems.

    I'm not sure what you'll do at that point (if you reach it), but I'd like to think that maybe, just maybe, you'll come to realize that my comments were not the ranting of some completely clueless idiot who doesn't know shit about anything who just
    happened to wander into this group.
    Maybe, just maybe there's a chance you'll realize that there's a chance that I too lived through those times as well, and that thanks to be lucky enough to work 15 years in the group responsible for the care and feeding of Exec8/OS1100/OS2200, I too
    might just also know a bit about what's under the surface.
    Then maybe, just maybe, you might understand why I am not particularly appreciative of responses that do not seem to be based a careful reading of what I actually wrote, and even worse, seem to be used as just an excuse for posting a "correction" that in
    effect lets the poster say, "Well Unix can do that too".

    If you want to talk about file systems, great.
    I really would welcome/appreciate it.
    But if you want to talk/argue about what I wrote, can we please stick to what I wrote?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kurt Duncan@21:1/5 to David W Schroth on Sat Jun 17 16:03:10 2023
    On Tuesday, September 27, 2022 at 8:26:54 PM UTC-6, David W Schroth wrote:
    IMO, the major difference (from a user code standpoint) between an
    1100 and a 2200 is that marketing thought 2200 sounded twice as sexy
    as 1100. Mileage almost certainly varies.

    Okay, this is the most humorous thing I've read all day. Kudos!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David W Schroth@21:1/5 to hpeintegrity@gmail.com on Tue Dec 5 11:56:01 2023
    On Mon, 4 Dec 2023 14:18:35 -0800 (PST), Kira Ash
    <hpeintegrity@gmail.com> wrote:

    I know it's been longer than I intended, but I have my OS 2200 Express license renewed (though unfortunately Unisys did let me know that the program is over for new users) and will be working on continuing the series in the coming weeks.

    I, for one, am still looking forward to seeing what you write in the
    future...

    Regards,

    David W Schroth

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Fuld@21:1/5 to David W Schroth on Tue Dec 5 10:02:29 2023
    On 12/5/2023 9:56 AM, David W Schroth wrote:
    On Mon, 4 Dec 2023 14:18:35 -0800 (PST), Kira Ash
    <hpeintegrity@gmail.com> wrote:

    I know it's been longer than I intended, but I have my OS 2200 Express license renewed (though unfortunately Unisys did let me know that the program is over for new users) and will be working on continuing the series in the coming weeks.

    I, for one, am still looking forward to seeing what you write in the future...

    Regards,

    David W Schroth

    Ditto. I find it interesting to see the reactions of someone coming new
    to this system without the "prejudice" of "It is very different from
    whatever system that I am used to and therefore it is bad."


    --
    - Stephen Fuld
    (e-mail address disguised to prevent spam)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)