~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to install/doc/cwsparam.txt

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
CWSPARAM                provided by Charles W Sandmann (sandmann@clio.rice.edu)
 
2
                                    1206 Braelinn, Sugar Land, TX 77479
 
3
CWSPARAM OVERVIEW
 
4
 
 
5
There are certain parameters built into the CWSDPMI.EXE, CWSDPR0.EXE, and
 
6
CWSDSTUB.EXE images which might need to be modified for distributing some
 
7
programs for better performance.  The modified image could be renamed, and
 
8
then the DPMI server name in a DJGPP V2 image may be stubedited to use the
 
9
new name.  CWSPARAM can also be run directly on images created by appending
 
10
COFF images to CWSDSTUB.EXE.  The parameters which can be modified are
 
11
discussed below:
 
12
 
 
13
Full name of paging file ("" to disable) ? [c:\cwsdpmi.swp]
 
14
 
 
15
 This is where the file which provides virtual memory should be located.  It
 
16
 may be desirable to change the default to a faster disk or one with more
 
17
 free space.  To disable paging, enter two double quotes.  The file name
 
18
 MUST contain the disk, full path, and file name.  Anything less may cause
 
19
 unpredictable behavior.  The maximum length of the name is 48 characters,
 
20
 and it must be a DOS 8.3 style name.  Press return to keep the current value.
 
21
 
 
22
Number of page tables to initially allocate (0=auto) ? [0]
 
23
 
 
24
 Page tables are stored in the DOS memory area and consume this precious
 
25
 resource.  The default value of 0 chooses automatic allocation of enough
 
26
 page tables to hold all of the physical memory without paging (with the
 
27
 minimum enough to hold 20Mb without paging and a maximum to hold 128Mb).
 
28
 If your program is a fixed size (and does not spawn any other DPMI images)
 
29
 you can specify one page table for each 4Mb of your program's size.  If
 
30
 your program is small, this can save a small amount of DOS memory, which
 
31
 might be needed for other purposes.  If your program is large (typically
 
32
 larger than the physical memory) specifying a number will consume more DOS
 
33
 memory but improve performance since the page tables themselves will not
 
34
 page.  CWSDPMI will attempt to dynamically allocate additional page tables
 
35
 at run time to prevent paging, but if all of the DOS memory is free,
 
36
 performance would be degraded.  Remember to add an extra page table if
 
37
 mapping physical devices.  As of r5, you must also allocate additional
 
38
 space for the bitmaps for physical and virtual memory (one bit for each
 
39
 4K page).  Add one page for each 128Mb of total address space
 
40
 (physical+virtual).  Be generous, since someone may run the image on a
 
41
 512Mb machine (or larger) and require 4 pages for the physical bitmap
 
42
 even if you disable virtual memory.
 
43
 
 
44
Minimum application memory desired before 640K paging ? [512Kb]
 
45
 
 
46
 Typically, CWSDPMI only uses extended memory to return as DPMI memory, and
 
47
 saves the DOS memory area for DOS requests.  On small memory machines with
 
48
 applications not needing much DOS memory (or poorly tuned memory management)
 
49
 there may be very little extended memory left available, with up to 600K of
 
50
 DOS memory unused.  This parameter determines the threshold which CWSDPMI
 
51
 should start using DOS memory as DPMI memory.  If an application is known to
 
52
 not need much DOS memory, this value could be set to the size of the memory
 
53
 required for the image, which provides roughly 0.5Mb additional memory before
 
54
 paging happens.  This parameter is one I would expect might be adjusted when
 
55
 distributing an application for maximum performance on a wide variety of
 
56
 machines.
 
57
 
 
58
Paragraphs of DOS memory to reserve when 640K paging ? [3840]
 
59
 
 
60
 If the image needs to page in the DOS memory area (triggered by the parameter
 
61
 value above), this parameter tells how much DOS memory to save for DOS
 
62
 allocation requests.  The value is in paragraphs (16 byte increments), so the
 
63
 default is 60Kbytes.  You will actually end up with a bit more probably, since
 
64
 the page tables are allocated on 4Kbyte rounded boundaries.  Some amount of
 
65
 DOS memory needs to be saved for potentially expanding the file table, the
 
66
 sbrk() algorithm, DMA buffers, etc.  This amount can be tuned on an image
 
67
 by image basis, and may be as little as 0.
 
68
 
 
69
Paragraphs of memory for extra CWSDPMI internal heap ? [256]
 
70
 
 
71
 CWSDPMI is built with an internal 4K heap.  Each nested task consumes around
 
72
 300 bytes, each memory zone takes 12 bytes, and each HW interrupt (nested)
 
73
 takes around 850 bytes.  If extra DOS memory is available, the additional
 
74
 paragraphs specified here are added to the heap at execution time by DOS.
 
75
 The 8K default should be good for up to 40Mb in small requests.  If you
 
76
 compile very large C++ programs or allocate lots of memory in small pieces,
 
77
 you might need to bump this parameter.  If you are very tight on memory,
 
78
 you could decrease it to zero and pick up another 4K of DOS memory.  Each
 
79
 paragraph allows a little more than one more memory zone (or in the worse
 
80
 case around 85Kb of DPMI memory).
 
81
 
 
82
Maximum size of swap file ? [128Mb]
 
83
 
 
84
 CWSDPMI dynamically allocates memory at run time for up to 2044Mb of swap file
 
85
 space.  The bitmap for the swap usage requires 32 bytes of memory per 1Mb of
 
86
 swap usage.  The default will provide up to 128Mb of swap space with a run
 
87
 time memory requirement of 4Kb DOS memory.  The dynamic allocation is limited
 
88
 by the free space on the drive, so if you don't have much space on your hard
 
89
 drive, you don't need to worry about this.  If you run small programs and want
 
90
 to save memory (maybe to stuff the allocation in a UMB) you can decrease this
 
91
 value.  If you want to run monster programs needing 2Gb of address space you
 
92
 can increase this value (but this would increase the DOS memory usage).  This
 
93
 value is ignored by CWSDPR0.
 
94
 
 
95
Value of run option flags ? [0]
 
96
 
 
97
 There are a few run-time options in CWSDPMI which should not be needed by most
 
98
 users which can be activated by this field of bit flags:
 
99
   Bit 0 (1):  Disable allocation of run time page tables in UMBs (low only)
 
100
   Bit 1 (2):  Pre-allocate page table memory (in DPMI memory request)
 
101
   Bit 2 (4):  Disable DPMI 1.0 extensions (Null page protection, mapping)
 
102
 Other values should be zero for future compatibility but are currently ignored.