|
|
1.1 root 1: /*
2: * Copyright (c) 1980, 1986 Regents of the University of California.
3: * All rights reserved. The Berkeley software License Agreement
4: * specifies the terms and conditions for redistribution.
5: *
6: * @(#)param.c 7.3 (Berkeley) 12/6/86
7: */
8:
9: #ifndef lint
10: char copyright[] =
11: "@(#) Copyright (c) 1980, 1986 Regents of the University of California.\n\
12: All rights reserved.\n";
13: #endif not lint
14:
15: #include "../h/param.h"
16: #include "../h/systm.h"
17: #include "../h/socket.h"
18: #include "../h/dir.h"
19: #include "../h/user.h"
20: #include "../h/proc.h"
21: #include "../h/text.h"
22: #include "../h/inode.h"
23: #include "../h/file.h"
24: #include "../h/callout.h"
25: #include "../h/clist.h"
26: #include "../h/cmap.h"
27: #include "../h/mbuf.h"
28: #include "../h/quota.h"
29: #include "../h/kernel.h"
30: /*
31: * System parameter formulae.
32: *
33: * This file is copied into each directory where we compile
34: * the kernel; it should be modified there to suit local taste
35: * if necessary.
36: *
37: * Compiled with -DHZ=xx -DTIMEZONE=x -DDST=x -DMAXUSERS=xx
38: */
39:
40: #ifndef HZ
41: #define HZ 100
42: #endif
43: int hz = HZ;
44: int tick = 1000000 / HZ;
45: int tickadj = 240000 / (60 * HZ); /* can adjust 240ms in 60s */
46: struct timezone tz = { TIMEZONE, DST };
47: #define NPROC (20 + 8 * MAXUSERS)
48: int nproc = NPROC;
49: int ntext = 36 + MAXUSERS;
50: #define NINODE ((NPROC + 16 + MAXUSERS) + 32)
51: int ninode = NINODE;
52: int nchsize = NINODE * 11 / 10;
53: int nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 32;
54: int ncallout = 16 + NPROC;
55: int nclist = 60 + 12 * MAXUSERS;
56: int nmbclusters = NMBCLUSTERS;
57: #ifdef QUOTA
58: int nquota = (MAXUSERS * 9) / 7 + 3;
59: int ndquot = NINODE + (MAXUSERS * NMOUNT) / 4;
60: #endif
61:
62: /*
63: * These are initialized at bootstrap time
64: * to values dependent on memory size
65: */
66: int nbuf, nswbuf;
67:
68: /*
69: * These have to be allocated somewhere; allocating
70: * them here forces loader errors if this file is omitted
71: * (if they've been externed everywhere else; hah!).
72: */
73: struct proc *proc, *procNPROC;
74: struct text *text, *textNTEXT;
75: struct inode *inode, *inodeNINODE;
76: struct file *file, *fileNFILE;
77: struct callout *callout;
78: struct cblock *cfree;
79: struct buf *buf, *swbuf;
80: char *buffers;
81: struct cmap *cmap, *ecmap;
82: struct namecache *namecache;
83: #ifdef QUOTA
84: struct quota *quota, *quotaNQUOTA;
85: struct dquot *dquot, *dquotNDQUOT;
86: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.