Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Co před námi tají /proc (3)

Tentokrát budeme pokračovat v popisu obsahu souborů základního adresáře proc. Na řadě jsou dnes soubory devices a dma.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Pokud se podíváte na diskusi k minulému dílu, najdete tam několik zajímavých výpisů souborů z /proc. Určitě stojí za shlédnutí. Stroj, na kterém články dělám, je taky dual (Abit VP6 – Dual PIII), ale mám zatím (z finančních důvodů) osazen jen jeden procesor. Snad časem, až napíšu hodně dílů tohoto seriálu :-). K výpisům informací o obsazení sběrnice PCI se určitě dostaneme později.

Pro lepší orientaci opět výpis základního adresáře /proc:

  809  cmdline      fs/         kmsg     mounts      slabinfo  version
  840  cpuinfo      ide/        ksyms    mtrr        stat
  842  devices      interrupts  loadavg  net/        swaps
  847  dma          iomem       locks    nv/         sys/
  848  driver/      ioports     meminfo  partitions  sysvipc/
  apm  execdomains  irq/        misc     pci         tty/
  bus/ filesystems  kcore       modules  self@       uptime

Minule jsme skončili u informací o procesoru (pro některé případně procesorech) a dnes pokračujeme dál:

devices
Nejprve výpis z ukázkového stroje:
Character devices:
  1 mem
  2 pty
  3 ttyp
  4 vc/0
  5 ptmx
  7 vcs
 10 misc
 14 sound
128 ptm
136 pts
162 raw
180 usb
195 nvidia

Block devices:
  2 fd
  3 ide0
 22 ide1

Jak vidno, soubor obsahuje zaregistrovaná znaková (Character) a bloková (Block) zařízení. Rozdíl mezi nimi je ve velikosti najednou přenášených/a­dresovatelných dat. Zatímco u znakových zařízení se komunikuje po jednotlivých bajtech, znacích, případně slovech, u blokových zařízení se pracuje (kvůli efektivnosti) s větším blokem dat najednou. Jako příklad znakového zařízení lze uvést třeba zvukovou kartu (14 sound), USB sběrnici (180 usb) nebo grafickou kartu (195 nvidia). Typickými blokovými zařízeními jsou naopak disky všeho druhu, v našem případě floppy rozhraní (2 fd) a ide rohraní na (nejen) hardisky (3 ide0).

Jádro operačního systému komunikuje s ovladači zařízení pomocí jejich hlavního (major) a vedlejšího (minor) čísla. Hlavní číslo spolu s typem zařízení určuje druh hardwaru. Například char,1 jednoznačně (při statickém přidělování) určuje fyzickou paměť systému. Jednotlivá čísla zařízení jsou patrná při výpisu adresáře /dev:

brw-rw----    1 root     disk       3,   0 srp 24  2000 hda
brw-rw----    1 root     disk       3,   1 srp 24  2000 hda1
brw-rw----    1 root     disk       3,   2 srp 24  2000 hda2
brw-rw----    1 root     disk       3,   3 srp 24  2000 hda3
brw-rw----    1 root     disk       3,   4 srp 24  2000 hda4
brw-rw----    1 root     disk       3,   5 srp 24  2000 hda5

Písmeno na začátku každého řádku určuje typ souboru a b znamená právě blokové zařízení. Další informace z výpisu jsou identické jako u normálních souborů až na velikost. Na jejím místě jsou uvedena dvě čísla, a to právě hlavní a vedlejší číslo pro zařízení, které reprezentuje daný (speciální) soubor. V našem výpisu je vidět master disk na prvním kanálu ide. Při statickém přidělování čísel jsou v adresáři /dev uvedeny všechny (většina) potřebné varianty a využívají se samozřejmě pouze ty, které jsou v danou dobu v systému.

Na mém stroji jsou tedy využity (dle výpisu jádra o rozdělení disku/ů při startu) tyto soubory:

Partition check:
 hda: hda1 hda3 hda4

odpovídá využití /dev/hda, /dev/hda1, /dev/hda3 a /dev/hda4. Soubor /dev/hda, respektive soubor s hlavním a vedlejším číslem 3:0, ať už se jmenuje jakkoliv, odpovídá celému disku. Číslované /dev/hda? jsou potom jednotlivé diskové oblasti (partitions). Opět zde nezáleží (z pohledu jádra) na jménu souboru, ale na jeho hlavním a vedlejším čísle. Obdobný je význam i pro jiná zařízení než disk. Například při použití více grafických karet v jednom stroji budou mít všechny stejné hlavní číslo a jednotlivé karty se budou rozlišovat pomocí vedlejšího čísla.

Hlavní a vedlejší čísla zařízení jsou dnes přiřazována napevno (staticky) na požádání u patřičné autority. Tou je člověk z okruhu vývojářů jádra, ale jeho jméno si opravdu nepamatuji. V současné době se uvažuje o možnosti přidělování hlavních čísel dynamicky na podobném principu. jako je devfs – dynamický souborový systém pro zařízení. Celé je to o tom, že čísel (hlavních) je „pouze“ 256, a to dnes při rozmanitosti periferií počítačů přestává stačit. V našem případě je vidět, že ovladač grafické karty má číslo 195, a to už k maximu moc daleko nemá. U vedlejších čísel takový problém není, protože těžko budete mít disk s 255 oddíly nebo 255 grafických karet v systému. Zde jde spíše o to, že je adresář /dev přeplněn soubory, z nichž se využívá nepatrné procento. Proto někteří lidé přišli s tím, že se bude vytváření souborů v adresáři /dev a v dalším kroku i přidělování hlavních čísel provádět dynamicky, tedy na požádání, při zavádění ovladačů do systému. Souborový systém /devfs je již dnes součástí standardních jader (minimálně řady 2.4.x), ale přímé praktické využití je zatím minimální, neboť je nutno modifikovat také systémový software pro práci s novými jmény zařízení. Po dobu přechodu je proto k dispozici démon, který zajišťuje programům překlad přísupu do adresáře /dev statickým způsobem (překládá jména z nového systému pojmenovávání na stará).

dma
Zde by měly být informace o přiřazení jednotlivých kanálů DMA řadičů, nicméně posuďte sami:
 4: cascade

To opravdu moc informací není, že. V podstatě chybí veškeré DMA kanály kromě jediného, sloužícího pro spojení obou DMA řadičů. Z důvodu složitosti obvodu totiž řadič DMA není jeden čip, ale funkce je rozdělena mezi čipy dva, a ty spolu musí být nějak propojeny. K tomu slouží právě zmiňovaný DMA kanál.

Asi byste řekli, že se využívá více DMA kanálů, to já také, ale při požadavku na výpis se provede průchod strukturou aktivních DMA kanálů, a pouze tyto se vypíší. Zkoušel jsem pro vás vykouzlit zajímavější výpis pomocí čtení z disku nebo přehrávání hudby, ale bohužel obsah souboru /proc/dma byl stále stejný. Pokud máte někdo v tomto souboru i něco navíc, rád bych to viděl (a ostatní určitě taky).

Tak, a na další díl si budete muset počkat zase za týden. Já si teď dávám malou dovolenou a jedu si vyšlápnout do hor.

Školení: Hackujeme operační systém Android

 

Školení vám ukáže, jak se dostat k Linuxu (tzv. "rootování"), který se pod hezkou tváří Androida skrývá a jak ho naplno využít. Pomůže vám to při záloze dat, zvětšování prostoru pro aplikace nebo sdílení připojení k internetu a pokud chcete z telefonu dostat opravdové maximum, ukážeme vám, jak v něm vyměnit kompletní systém za lepší.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 3,14

Přehled názorů

Upřesnění devfsd
Martin 12. 7. 2001 07:35
Nový
/proc/dma
Pavel Palát 12. 7. 2001 10:48
Nový
└ 
Re: /proc/dma
Roman 12. 7. 2001 14:29
Nový
/proc/dma
Ludvik Tesar 12. 7. 2001 14:33
Nový
floppy
Jan Paces 12. 7. 2001 16:11
Nový
bez titulku
hkmaly 12. 7. 2001 20:19
Nový
└ 
Re:
anonymní uživatel 12. 7. 2001 22:33
Nový
bez titulku
anonymní uživatel 19. 7. 2001 10:21
Nový
DMA kanály apod.
Vladimír Arnošt 19. 7. 2001 22:34
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem