/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Linux, memory mapping?
Fra : NJ


Dato : 24-04-01 07:36

Hej.

Er der nogen der kan hjælpe med et lille problem i forbindelse med en
rapport om Linux?

Benytter Linux sig af "memory mapping"?

(Jeg kan forstå at "memory mapping" handler om, at nogle af de eksisterende
memoryområder bliver tildelt de forskellige device controllere).

På forhånd tak for evt. svar.


--
Mvh. N. J. Poulsen
"Artificial intelligence is no match for natural stupidity"



 
 
Kent Friis (24-04-2001)
Kommentar
Fra : Kent Friis


Dato : 24-04-01 09:05

Den Tue, 24 Apr 2001 08:36:09 +0200 skrev NJ:
>Hej.
>
>Er der nogen der kan hjælpe med et lille problem i forbindelse med en
>rapport om Linux?
>
>Benytter Linux sig af "memory mapping"?
>
>(Jeg kan forstå at "memory mapping" handler om, at nogle af de eksisterende
>memoryområder bliver tildelt de forskellige device controllere).

Når vi snakker "memory mapping" i den sammenhæng, så er det ofte noget
hardwaren bestemmer.

Men normalt plejer memory mapping da at være mmap(2) - altså at en fil
mappes som om den lå i RAM, og derved kan tilgås med alm. pointer-
operationer.

Mvh
Kent
--
http://www.celebrityshine.com/~kfr/ - sidste billede: garden.png

frank damgaard (24-04-2001)
Kommentar
Fra : frank damgaard


Dato : 24-04-01 09:45

NJ <njep@mail.ikasths.dk> wrote:

> Er der nogen der kan hjælpe med et lille problem i forbindelse med en
> rapport om Linux?

> Benytter Linux sig af "memory mapping"?

> (Jeg kan forstå at "memory mapping" handler om, at nogle af de eksisterende
> memoryområder bliver tildelt de forskellige device controllere).

Linux kræver som andre Unix normalt en MMU (memory management unit),
men det vedrører kun den virtuelle adressering af lageret, ikke I/O.

Memory mapping som du skriver (til IO) afhænger af hardware.
Hvis du anvender et netkort der anvender memory-mapped I/O
i stedet for direkte I/O instruktioner, ja så bliver linux driveren
jo også nødt til at anvende det for at kommunikere med kortet.
Desuden visse CPU-arkitekturer har ikke specielle I/O instruktioner
(f.eks. Motorola 68x00).

Se evt. http://www.sslug.dk/artikler/ jeg syntes at huske
der var lidt relevant info.

Ellers findes der en del linux bæger, bla. om kernen (på engelsk).

--
Frank Damgaard


NJ (25-04-2001)
Kommentar
Fra : NJ


Dato : 25-04-01 07:47

Takker til Kent og Frank for gode svar vedr. memory mapping!

Har lige et tillægsspørgsmål vedr. kernen:

Linux operativsystemet anvendes jo både til workstations,
fil/web/database-servere og til indlejrede systemer.

Kan man sige at det er nøjagtig den samme kerne der anvendes - eller findes
der specielle kerner til specielle formål?

På forhånd tak for evt. andre gode svar


--
Mvh. N. J. Poulsen
"It's not a lie. It's just a very special kind of truth."






Ole Hansen (25-04-2001)
Kommentar
Fra : Ole Hansen


Dato : 25-04-01 07:58

"NJ" <njpoulsen@mail.ikasths.dk> writes:

> Kan man sige at det er nøjagtig den samme kerne der anvendes - eller findes
> der specielle kerner til specielle formål?

Som udgangspunkt vil jeg sige ja! De forskellige kerner kan meget
nemt være konfigureret og oversat fra det samme source-træ. Det er
klart, man tilpasser konfigurationen til det system, man skal have
kørende. (Hvad er en firewall uden support for ipchains/iptables :) )

Der findes sikkert et hav af patches, hvis man kører indlejrede
systemer, ligesom der findes en Real Time Linux.

> --
> Mvh. N. J. Poulsen


Kent Friis (25-04-2001)
Kommentar
Fra : Kent Friis


Dato : 25-04-01 08:52

Den Wed, 25 Apr 2001 08:47:15 +0200 skrev NJ:
>Takker til Kent og Frank for gode svar vedr. memory mapping!
>
>Har lige et tillægsspørgsmål vedr. kernen:
>
>Linux operativsystemet anvendes jo både til workstations,
>fil/web/database-servere og til indlejrede systemer.
>
>Kan man sige at det er nøjagtig den samme kerne der anvendes - eller findes
>der specielle kerner til specielle formål?
>
>På forhånd tak for evt. andre gode svar

Til indlejrede systemer er det ofte specielle kerner der anvendes. Der
er memlig ofte et krav om det man kalder "hard realtime", dvs. at
når du træder på bremsen, så skal bilen bremse NU, og ikke vente til
blinklys-processen har opbrugt sin CPU-tid (måske lidt et fremtids-
eksempel - de fleste biler er stadig mekaniske hvad kritiske systemer
angår, men det illustrerer problemet rimelig godt[1]).

Til alt andet - servere, workstations, firewalls,... er det normalt
samme source der anvendes, men man compilerer dem forskelligt. På
workstations vil man ofte bruge den kerne der ligger på distributions-
CD'en: Det er nemmest, og den understøtter næsten alt hardware. På
en server vil man derimod compilere kernen med understøttelse af lige
præcis den hardware der sidder i serveren: Når man har et 100Mbit PCI
netkort, så er der ingen grund til at kernen skal søge efter gamle
10Mbit ISA netkort, med risiko for at blive uvenner med noget andet
hardware, som tilfældigvis sidder lige der hvor man ville forvente
at finde et ISA-kort. Dertil kommer at jo mindre kernen er, jo mindre
er risikoen for bugs, og man vil jo helst have at serveren kører
non-stop. Desuden vælger man ofte driverne som en del af kernen, så
man er sikker på at den er på nettet efter et strømsvigt, så man kan
telnet'e ind på den. På en workstation er det derimod meget normalt,
at alt ligger som moduler, så man hurtigt kan skifte/tilføje hardware
uden at skulle recompilere.

(Et modul er en del af kernen, der ligger parat i en separat fil, som
først hentes ind når der bliver brug for den. Næsten alle drivere
kan være moduler, og også større dele - fx. hjælper en driver til et
ISDN-kort ikke, hvis ikke man har loadet ISDN-modulet).

På andre unixsystemet (fx. HP-UX) er det også muligt at lave nogle
(men ikke så gennemgribende) ændringer i kernen, men det sker ved
at kernen linkes igen - der er altså ikke tale om nogen compilering,
for det ville kræve at HP tager sourcen ud af pengeskabet.

Nå, nu har du vist også fået en forklaring der skulle gøre dig i stand
til selv at compilere en linux-kerne, så find noget fri plads på
harddisken, og igang med at installere. Så får du det prøvet af i
virkeligheden, og du får meget mere indsigt i systemet, end ved blot
at læse om det.

Mvh
Kent

[1] I et moderne jagerfly er det ikke ret meget andet end katapultsædet
der er mekanisk.
--
http://www.celebrityshine.com/~kfr/ - sidste billede: garden.png

NJ (25-04-2001)
Kommentar
Fra : NJ


Dato : 25-04-01 11:04

Takker mange gange til Ole og Kent for gode svar.

(Flinke mennesker i denne gruppe!)

--
Mvh. Niels Jørgen E. Poulsen
"Artificial intelligence is no match for natural stupidity"



Søg
Reklame
Statistik
Spørgsmål : 177514
Tips : 31968
Nyheder : 719565
Indlæg : 6408612
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste