home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sys / 3b1 / 3357 < prev    next >
Encoding:
Text File  |  1992-09-14  |  4.1 KB  |  110 lines

  1. Newsgroups: comp.sys.3b1
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!cs.utexas.edu!torn!newshub.ccs.yorku.ca!orion.yorku.ca!haroldt
  3. From: haroldt@orion.yorku.ca
  4. Subject: 3.51? && max memory of 2.4Megs?  HELP!!!
  5. Message-ID: <1992Sep14.100001.1@orion.yorku.ca>
  6. Lines: 99
  7. Sender: news@newshub.ccs.yorku.ca (USENET News System)
  8. Organization: York University
  9. Date: Mon, 14 Sep 1992 15:00:01 GMT
  10.  
  11.  
  12.   (Forgive me if some of this sounds like I'm rambling.  I'm trying
  13. to piece together in my mind all the data that I've gathered.)
  14.  
  15.   In short, I have a few questions:
  16.  
  17. 0) How do I know if I'm running OS version 3.51 
  18.  
  19. 1) How do I acquire 3.51?  
  20.  
  21. 2) How do I get to create a process in excess of 2.5Megs?
  22.  
  23.  
  24.   In detail.....
  25.  
  26. 0)  I've been doing some digging on my 3B1 and started to wonder just
  27. what I was running.  My /.version file indicates 3.5.  Would it say 
  28. 3.51 if I upgraded to 3.51 or is this a bad assumption?  How else can I 
  29. find out what release I am at?
  30.  
  31. 1)  Assuming I'm at 3.5, can someone get me access (electronically via
  32. ftp is fine by me) to the 3.51 floppies?  Is the loader the same?  Can I 
  33. just plop down a differant kernal and voila, 3.51?
  34.  
  35. 2)  Now for the big one.  The one that started all this thought and 
  36. ramblings....
  37.  
  38.   I've installed the 1.5Meg Eia/Ram card.  On the advice of others, I've 
  39. ignored the cmbpcnt program that came with it.  I've modified the startup
  40. routine cmb.rc to simply `/etc/lddrv/lddrv -a cmb`.  Someone told me (and my
  41. documentation backs that up) that cmb came with 3.51.  It was not on my 
  42. disk so I began to think about number 0 and 1 above.
  43.  
  44.   My box is now configured as follows:
  45.     3B1 in custom housing
  46.     67 Meg drive
  47.        almost 5 Meg swap partition (about 9800 blocks)
  48.     3.5Megs memory
  49.        2 Megs memory on board
  50.        1.5Megs on Eia/Ram card
  51.     3 serial ports
  52.        1 on board, 2 on card.
  53.  
  54.   Back to the process size thing...  I wanted to prove to myself that 
  55. the entire 3.5Megs were available so I wrote a quick program to allocate
  56. space.  It's a loop that allocates and repeats until an allocation fails.
  57. It then prints the result (count of allocations) and cleans up.  In pseudo-
  58. code it would look something like this (note: it is in C, compiled both with
  59. gcc and with cc, same results).
  60.  
  61.   loop_begin:
  62.     counter++
  63.     malloc(1024) /* add to link list of allocated spaces */
  64.     if successful, goto loop_begin
  65.  
  66.   print counter
  67.   point to start of list
  68.  
  69.   cleanup:
  70.     get next pointer
  71.     remove current pointer
  72.     point to next pointer
  73.     if current pointer != NULL, goto cleanup
  74.  
  75.   end.
  76.  
  77.  
  78.   The program reliably allocates 2460 units if run by itself with the 
  79. debugging information intact (ie. not stripped).  I tried running it as 
  80. root as well and got the exact same value.  2460 units of size 1024 
  81. allocated.  2.4MEGS
  82.  
  83.   I wouldn't consider that unreasonable for a 3.5Meg machine except that there
  84. is still 5Megs of swap available.  I proved to myself that it was swapping
  85. by reformatting the swap partition and watching processes die. :)  As root, I
  86. ran `newfs /dev/fp001` and each process exited at it's next convience.  A
  87. `df /dev/swap` produced the same size information as `df /dev/fp001`.  Also,
  88. when the process has allocated about 1700 units, the disk starts to run.  I'm 
  89. sure it's swapping, almost.
  90.  
  91.   Some time ago, someone mentioned that there was a fixed maximum process size
  92. of 4 Megs.  I'm nowhere near that.  I compiled with cc and gcc with the shared
  93. library and gained an extra 6 units.
  94.  
  95.   Now for the really fun part.  Obviously this is not a process level restriction
  96. because I tried running two processes.  Either both from the same account or
  97. from two accounts, if I run two copies of memhog (appropriate name I thought),
  98. one of the two exits at 1774, the other, just slightly behind it, continues to
  99. 2460 units.  This was run without the ua.  
  100.  
  101.   When run with a ua session running as well, the first exited at 1520.  Also 
  102. noted was that I would get a "no processes" notice at times if I tried to 
  103. do `ps -el` or anything else. 
  104.  
  105.   It's almost as if I'm not swapping, or perhaps, can't run a set of 
  106. processes, the sum of which won't fit into memory.  What restrictions 
  107. am I running into?  Any ideas/info would be welcomed.
  108.  
  109. Harold.t
  110.