home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.development      Operating system development chatter      4,255 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,789 of 4,255   
   mutazilah@gmail.com to anti...@math.uni.wroc.pl   
   Re: PDOS/86 (1/2)   
   12 Aug 21 20:16:55   
   
   From: muta...@gmail.com   
      
   On Friday, August 13, 2021 at 1:17:26 AM UTC+10, anti...@math.uni.wroc.pl   
   wrote:   
      
   > > The correct thing to do, when programming on a   
   > > 1 MiB machine, is to think about a 2 MiB machine.   
   > >   
   > > The correct thing to do when programming on a   
   > > 2 MiB machine is to think about a 1 MiB machine.   
      
   > Nobody puts arbitrary restriction for no reason.   
      
   Someone put a restriction on 16-bit x86 to stop   
   at 1 MiB. There was no reason for that. Just because   
   ONE single processor SO HAPPENED to have a   
   4-bit segment shift is not a reason to tie your   
   code down.   
      
   > > Ok, my interest is in placing the 3 MB GCC executable   
   > > on unpaged memory and running it directly on the   
   > > processor. If there was some 10% overhead because   
   > > of some design decision, that would be OK.   
      
   > Hmm, you in several places rejected various possible   
   > solutions as too inefficient or too complex. So,   
   > how much inefficiency is acceptable?   
      
   10%, negotiable.   
      
   > > TSS-360 is an operating system, and there is nothing   
   > > they can do to prevent GCCMVS, which is bottlenecked   
   > > on CPU speed/memory access, not I/O, from running   
   > > at identical (or at least within 10%) speed as CP-67.   
   > > The OS simply doesn't have control of a S/360 executable   
   > > that is running.   
      
   > You forget about issues like paging, executable format,   
   > etc. gcc-3.2.3 is big enough that it will not fit   
   > into real memory of any machine on whcih TSS-360 was   
   > developed, so you would have to depend on virtual   
   > memory and paging.   
      
   No, I don't want virtual memory and paging. I will wait   
   until the hardware becomes available so that I can place   
   TSS/360 and GCC 3.2.3 into real memory. I don't care   
   about executable format so long as the 3 MiB image is   
   loaded onto real memory as expected and run at native   
   speed.   
      
   > > If TSS-360 uses more memory for the OS itself, I don't   
   > > really care. I'll just sell my car or rob a bank to pay for the   
   > > memory. I'm not willing to change my OS design from what   
   > > I think is clean. And bear in mind that I know I'm going to   
   > > have 4 GiB of RAM within my lifetime, when I need less   
   > > than 32 MiB of RAM for everything that is important to me.   
      
   > OK, so you reall do not care about old/small machines. So   
   > why make fuss about 8086 1M limit? You can cheaply get ARM   
   > board with 1G RAM, but you are unlikely to ever get   
   > money for 8086 with 512M of memory. And if you get this   
   > money, tiny fraction will be enough to hire somebody   
   > to wrote your deam editor. OK, you could cheat and   
   > use FPGA or emulator. But then we are into silly   
   > game like "how fast you can run with both you legs   
   > closely tied together".   
      
   No. None of those things are what I want. I want to   
   write an editor for the 8086, and watch my executable   
   (completely unchanged) exceed 1 MiB when the   
   80386 is released with 2 MiB of memory and   
   MSDOS-32.   
      
   And today I expect that same executable to be accessing   
   512 MiB of memory. In fact, that should have happened   
   roughly a couple of decades ago.   
      
   > I doubt that you fixed (or even noticed) problem   
   > that I mentioned. It is possible that you got   
   > version already containing the fix (I am not sure   
   > if fix is in GCC 3.2.3, it is in GCC 3.4.6).   
      
   When I picked up GCC 3.2.3, there was code that was   
   supposed to reload the base register at 4k intervals,   
   but it wasn't working.   
      
   What I did to solve the problem was unconditionally   
   load the base register once a function exceeded   
   4k, instead of the convoluted algorithm previously   
   being used to determine whether that was needed   
   or not.   
      
   > gcc was able to compile itself also before the   
   > problem I mention was fixed: gcc constains a bunch   
   > of large funtions that apparently they did not   
   > trigger the bug. More generally, testing compiler   
   > by rebuilding itself is weakest possible test.   
   > Minimal thing to do is to run compiler test suite.   
      
   No, the minimal thing to do was to just get gcc   
   to compile itself on MVS. It didn't even pass that   
   test until an awful lot of work by me and others.   
   One guy (Dave Wade) fried something like 3   
   CPUs in the process of endlessly rebuilding GCC   
   (on CMS).   
      
   > > I am only interested in the code generated by   
   > > gcc, or something better than gcc. IBM's C   
   > > compiler produces beautiful code, better than   
   > > gcc, but I'm happy to use gcc as a reference   
   > > point.   
   > >   
   > > I have no interest in PL/1.   
      
   > OK, you are thinking only about yourself. Do not you   
   > think that numerous folks who used IBM systems would   
   > appreciate better performance?   
      
   When I have C working to my satisfaction, using   
   characters on the US ASCII keyboard, in EBCDIC,   
   I'll start branching out. PL/1 is not my first priority.   
   I'm more interested in 6 ASCII control characters   
   being relinquished for use by Vietnamese.   
      
   > > The amount of code involved in access methods is   
   > > completely trivial compared to the 4 GiB of memory   
   > > I have available, and everything fits into less than   
   > > 32 MiB, and I just realized that PDOS/3X0 supports   
   > > the subset of access methods that I care about, and   
   > > PDOS/3X0 is only about 5k lines of C code total.   
      
   > If efficiency is no a concern, programming gets much   
   > simpler.   
      
   My idea of efficiency is compiled C code, in real   
   memory, running at native speed, and with all   
   its data cached, so quibbling about I/O is a   
   non-issue.   
      
   That is the nature of GCCMVS.   
      
   > Do you know that every programming problem   
   > was solved in 1957, when General Problen Solver was   
   > invented? The only trouble is that we are still   
   > waiting for machines fast enough so that is can   
   > solve some interesting problems in reasonable time.   
      
   No, I'm not familiar with that.   
      
   > > Well, if we're talking about what I want, then I also want   
   > > the OS to be written in C90. So the proper solution is to   
   > > write PDOS/3X0 and that is already underway.   
      
   > For new code there is no reason to stay with limitations   
   > of 370. Why do not you go direcly to s390 mode?   
      
   S/370, or even S/360, is the "lowest common denominator"   
   for 32-bit registers.   
      
   I am happy to provide the C source code so that other   
   people who want to use the S/390-only instructions can   
   recompile.   
      
   > It seems that your PDOS needs much more memory just for   
   > single user. And list of supported commands looks very   
   > short...   
      
   It uses less than 32 MiB for everything that I am   
   interested in, and the vast bulk of memory usage   
   is consumed by GCC 3.2.3 which I have no easy   
   control over (or solution for), so I am perfectly   
   satisfied with PDOS/3X0 (and PDOS/386 for   
   that matter, other than the bugs).   
      
   > > > If you look at technical problems, in a sense biggest   
   > > > one is endiannes, as one needs extra instructions to   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca