A UNIX kernel bizonyos fokig moduláris szerkezetu. Van egy (nagy)
központi része (ennek neve: os.o, mérete az Siemens i486 Release 4
UNIX esetén kb. 1.5 MByte), és vannak egyéb kiegészítések, ilyenek
például a többféle (0.5K, 1K, 2K) filesystemek, az ATT xt driver.
Nem minden UNIX konfiguráció alatt van szükség az összes ilyen
kiegészíto driverre (az xt driverre pl. csak akkor, ha olyan
speciális terminálokkal rendelkezünk, ami ezt kihasználhatja). Azt, hogy
az aktuális UNIX software-konfiguráció ezek közül mit tartalmaz az ún.
master fileokban van leírva. Két ilyen master file van: az egyik az
mdevice, a másik az sdevice. Mindketto file a
/etc/conf/cf.d directoryban található.
Ezeknek a fileoknak a pontos szerkezetérol a man paranccsal
nyerhetünk pontosabb információkat. Itt csak a legalapvetobb tudnivalók
lesznek ismertetve, ami a STREAMS drivereknél fontos.
Az mdevice file tartalmazza az összes létezo driver leírását, az
sdevice file pedig az aktuális konfigurációt írja le.
--- - Az mdevice file - ---
Az mdevice fileból egy részlet (a fejléc nem tartozik a filehoz!):
Device Funkciok Karakte- Prefix Block Char. Min. Max. DMA
name listaja risztika major nr. major nr. unit unit channel
tape ocrwi ioc tape_ 0 41 0 1 -1
ldterm - Si ldtr 0 0 1 32 -1
ptem - Si ptem 0 0 1 32 -1
timod - Si tim 0 0 1 4 -1
tirdwr - Si trw 0 0 1 8 -1
udp I iSco udp 0 29 1 256 -1
Devicename
: Ez a device (vagy a modul) belso neve.
Maximum 8 karakter hosszú lehet.
Funkciolista
: Ez a mezo egy vagy több karaktert
tartalmazhat, amely a meglévo driver szolgáltatásokat írja le ha
egyik szolgáltatás sem létezik, akkor egy minusz jelet kell ide rakni).
A driver szolgáltatások többek közt a következok (errol részletesebben
lásd a megfelelo UNIX referencia kézikönyveket) :
Karakterisztika
: Ez a device egyes jellemzoit tartalmazza.
Itt csak a fontosabbak lesznek megemlítve :
Prefix
: Ez a mezo tartalmazza azt a szöveget, ami alapján
a kernel megtalálja a belépési pontokat tartalmazó táblázatot. (STREAMS
drivernél: ha a streamtab strukturának a neve (mint a példában) :
bcndinfo, akkor ez a mezo bcnd szöveget tartalmaz.
Block major nr.
: A legtöbb esetben ennek a mezonek a
tartalma legyen 0, mert a device numberek az installáláskor az
idinstall végrahajtásakor lesznek kiosztva.
Char major nr.
: Ld. a Block major nr. mezot.
Min. unit
: Ez tartalmazza azt a minimális számot, amit az
sdevice tartalmazhat az unit mezoben.
Max. unit
: Ez tartalmazza azt a maximális számot, amit az
sdevice maximum tartalmazhat az unit mezoben.
DMA channel
: Itt lesz megadva, hogy a device melyik DMA
csatornát használja. Ha a device nem használ DMA csatornát, akkor ide
-1 kerül.
--- - Az sdevice file - ---
Az sdevice fileból egy részlet (a fejléc nem tartozik a filehoz!):
Device Con Unit Ipl Type Vector SIOA EIOA SCMA ECMA
name figu-
re
tape N 1 0 0 0 0 0 0 0
ldterm Y 16 0 0 0 0 0 0 0
ptem Y 16 0 0 0 0 0 0 0
timod Y 1 0 0 0 0 0 0 0
tirdwr Y 1 0 0 0 0 0 0 0
udp Y 256 0 0 0 0 0 0 0
Ez a file tartalmazza azt, hogy az mdevice fileban specifikált
deviceok közül az aktuális konfigurációba mely driverek kerültek bele,
és melyek nem. Ez a file az /etc/conf/sdevice.d directoryban levo
komponensekbol lesz összeállítva. (A fenti directoryban levo fileokat
vagy a rendszerrel szállították, vagy késobb lett installálva az
idinstall paranccsal.) A file bejegyzései a következok :
Device name
: A driver belso nevét tartalmazza.
Valamelyik mdevice bejegyzés nevével meg kell egyeznie.
Configure
: Ez a mezo 'Y'
-t tartalmazzon akkor,
ha installálni kell a kernelbe, egyébként 'N'
-et.
Unit
: Ez az érték a device driver által vezérelheto
aldevice-ok számát tartalmazza. (Maximális és minimális értéke az
mdevice fileban van feltüntetve.)
Ipl
: Ez a mezo azt határozza meg, hogy a driver
interrupt rutinja mely rendszer ipl (ipl=interrupt priority level)
szinten fusson. Értéke 0 és 8 közt lehet. Ha a drivernek nincs
interrupt rutinja, akkor ebbe a mezobe 0 kerüljön.
Type
: Ez a mezo tartalmazza az interruptkiosztás
módját. Értékei itt nem lesznek megnevezve. Ha a driver nem tartalmaz
interrupt rutint, akkor ide 0 kerüljön.
Vector
: Ez a mezo a devicehoz rendelt interrupt vektor
(sor-)számát tartalmazza. Ha a devicehoz nem tartozik interrupt
vektor, akkor e mezo értéke 0 legyen.
SIOA
: A Start I/O Addresst tartalmazza a mezo. Ha
ilyen dolog nem tartozik a driverhez, akkor értéke 0 legyen.
EIOA
: Az End I/O Addresst tartalmazza a mezo. Ha ilyen
dolog nem tartozik a driverhez, akkor értéke 0 legyen.
SCMA
: A Start Controller Memory Addresst tartalmazza a
mezo. Ha ilyen dolog nem tartozik a driverhez, akkor értéke 0 legyen.
ECMA
: Az End Controller Memory Addresst tartalmazza a
mezo. Ha ilyen dolog nem tartozik a driverhez, akkor értéke 0 legyen.