Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!romp!auschs!awdprime!chukran.austin.ibm.com!rudy From: rudy@chukran.austin.ibm.com Newsgroups: comp.unix.aix Subject: Re: Inter-process Commun. Limits, AIX 3.1 Keywords: AIX 3.1 IPC Limits lsattr? Your Info please Message-ID: <4455@awdprime.UUCP> Date: 4 Dec 90 19:02:56 GMT References: <12055@hubcap.clemson.edu> Sender: news@awdprime.UUCP Reply-To: chukran@austin.iinus1.ibm.com Distribution: na Organization: IBM Advanced Workstation Division Lines: 35 The AIX 3.1 kernel essentially hardcodes the limits to many kernel structures. WHen the structures are allocated at boot time, they allocate the whole thing in virtual memory. However, the whole virtual memory space is not mapped to real until the structure is referenced. This happens a page at a time. So, for instance, the process table is 2**17 entries, and virtual memory space is reserved for the whole thing. But, if your system nevers runs more than 100 processes at once, then the proc table has real memory allocated for 100 slots (rounded up to the next page). Whenever a table is accessed , in the fork system call in this example, the index is checked against the maximum, and the system call fails. So any system call which tries to allocate a new chunk of resource will have that resource checked against the hardcoded maximum. If the check passes, the resource (proc table in this example) is referenced. If it has to use a new slot in a page never reference before, a page fault occurs and the real memory is allocated at that time. So, the tables are usually with very large limits with no real memory wasted. sem ids 4K max sems per ID 100K max msg Q IDs 4K max msg size 8K max msg Q size 64K max msgs per msg Q 8K Max shm IDs 4K max concurrent shmattaches per process 10 ********************************************************************* IBM AIX Porting Center | RSCS: CHUKRAN at AUSTIN 11400 Burnet Rd. | AWDnet: rudy@chukran.austin.ibm.com Internal ZIP 2830 | internet: chukran@austin.iinus1.ibm.com Austin, Texas 78758 | Voice: 512-838-4674 Tieline: 678-4674 *********************************************************************