Kernel? Hederi? Kernel hederi?
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.
Da li ste izgubili vaš aktivacioni e-mail?

Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Linuxo Forumi

Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: Kernel? Hederi? Kernel hederi?  (Pročitano 1099 puta)
0 članova i 1 posetilac pregledaju ovu temu.
GoranSTX
The inevitable...
Global Moderator
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 1011


Autoportret autostopera


« poslato: 08 Јун 2007, 23:11:01 »

Jedna od stvari koju novopeceni korisnici linuxa vrlo brzo nauce je da im za kompajliranje na linuxu treba sors kernela ili kernel hederi.
Moze li neko da mi objasni sta su kernel hederi? Ne previse strucno, jer nisam programer, vise me zanima sta predstavljaju, kakvi su to fajlovi, sta "pise" u njima i zasto su oni dovoljni za kompajliranje ako nema sorsa?

Unapred zahvalan  Smiley
Prijavi uredniku   Sačuvana

http://autostoper.blogspot.com
Two things are infinite: the universe and human stupidity; and I'm not sure about the universe. (Einstein)
Registered Linux User #411782
http://counter.li.org/
burga
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 568


Meet Linus


WWW
« Odgovor #1 poslato: 08 Јун 2007, 23:31:53 »

Hm, nisam siguran da mogu da izbegnem neku dozu strucnosti.
Kada pravis c++ program, koristis postojece biblioteke - nesto sto je neko pre tebe iskompajlirao. Prilikom programiranja, ti se oslanjas na postojece - u ovom slucaju kernel. U nekom drugom slucaju to mogu biti hederi (zaglavlja) za KDE, GNOME i sl. Prica je ista.
Dakle, kod objektno orijentisanog programiranja, ti se oslanjas na klase (cije se instance zovu objekti). Te klase se (prosto ali skoro tacno receno) nalaze u dva fajla - zaglavlju (u kome pise kako se pristupa nekoj klasi, tj sta ona radi) i biblioteci (u kojoj pise kako ona radi to sto treba, i koja je vec iskompajlirana, ucaurena i sl).
Na primeru auta - ti ne moras da znas sta je ispod haube, ali moras da znas da li ja menjac automatik ili ne, i koja je koja papucica. E to su ti zaglavlja (headers). Da bi se iskompajliralo nesto sto se oslanja na nesto postojece, moras mu objasniti sta je koja papucica, a ostalo ce vec da se desi.

Ako treba jasnije, javi pa da pokusam...
Prijavi uredniku   Sačuvana

Нема Бога, и Дирак је његов пророк
GoranSTX
The inevitable...
Global Moderator
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 1011


Autoportret autostopera


« Odgovor #2 poslato: 09 Јун 2007, 09:09:05 »

Pre svega hvala na trudu Smiley

Ako sam dobro razumeo, Heder je fajl u kome pise sta moze da se uradi, a kernel kako moze da se uradi. Znaci hederi su dovoljni za kompajliranje jer je programu (drajveru) dovoljno da zna da kernel moze nesto da uradi, ali ga se ne tice kako ce to biti odradjeno. Ako je ovo tacno, mozes li da mi kazes gde su smesteni hederi i kako se zovu da mogu pregledam jedan?
Prijavi uredniku   Sačuvana

http://autostoper.blogspot.com
Two things are infinite: the universe and human stupidity; and I'm not sure about the universe. (Einstein)
Registered Linux User #411782
http://counter.li.org/
Kosava
Full Member
***
Van mreže Van mreže

Poruke: 225



« Odgovor #3 poslato: 09 Јун 2007, 10:01:49 »

e sada na ubuntu koji su to fajlovi koji trebaju da bi se nesto kompajlirao ja kada sam pokusao jedan plugin da kompajliram za kaffeine uspeo sam da uradim ./configure jer sam skino sve programe koje mi je trazio g++ ,fort77 ... al onda kada sam make trebo da uradim jednostavno nije htelo e kakve onda hedere i sta mi treba za to ?
Prijavi uredniku   Sačuvana
Guster
Full Member
***
Van mreže Van mreže

Poruke: 208



« Odgovor #4 poslato: 09 Јун 2007, 14:29:03 »

Citat
e sada na ubuntu koji su to fajlovi

sudo apt-get install build-essential linux-headers-verzija_kernela

Верзију кернела ће ти рећи излаз команде uname -r

Код мене је то нпр. 2.6.20-16-generic Значи куцао бих: sudo apt-get install build-essential linux-headers-2.6.20-16-generic
Prijavi uredniku   Sačuvana

SUSE 10.2
Debian 4.0
Ubuntu 8.04
burga
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 568


Meet Linus


WWW
« Odgovor #5 poslato: 10 Јун 2007, 20:56:51 »

Heder jeste to, to si dobro shvatio.
Kernel nije to. Kernel je jezgro. Operativni sistem per se. Onda imas razne nadgradnje nad tim operativnim sistemom koje ti omogucavaju komunikaciju - od shella do KDEa i GNOMEa. Svi oni imaju svoje biblioteke i hedere. Zavisno od toga sa cime je povezan program koji kompajliras trebaju ti odredjene biblioteke

E sad - sto se tice konkretnih paketa i konkretnih distribucija - situacija je malo specificna. Kod OSa koji imaju repozitorijume, a danas je vecina takvih, ili koristite programe za instalaciju ili potrazite rucno taj repozitorijum. Ja npr. sve radim rucno, volim tako, i koristim adresu http://mirror.anl.gov/pub/ubuntu/pool. Kada nadjem sta mi treba pogledam fajl sa ekstenzijom .desc, tamo pisu sve medjuzavisnosti, i onda istaliram sve po redu sto mi treba, dok sve zavisnosti ne budu zadovoljene.
Prijavi uredniku   Sačuvana

Нема Бога, и Дирак је његов пророк
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na: