Re: Jak funguji programy v Linuxu


To dogmat zavinac gmail bod com, Debian CZ/SK project discussion list <czdebian-l zavinac debian bod cz>
From f bod mach zavinac email bod cz
Date Wed, 25 Jan 2006 23:09:38 +0100 (CET)

Tak jo, dekuju všem, kteří mi věnovaly chvily času a pomohly mi.
Zvláště děkuju za Petru Trskovi, dost mi to pomohlo. A http://www.
manualy.sk je opravdu špičkova stranka (Brian W. Kernighan & Denis 
M. Ritchie - The C Programming Language - to je poprvy kdy se k teto
knize dostavam a navi v češtině! ). Tak tedy ještě jednou děkuju...

> ------------ Původní zpráva ------------
> Od: Peter Trsko - dogmaT <dogmat zavinac gmail bod com>
> Předmět: Re: Jak funguji programy v Linuxu
> Datum: 25.1.2006 22:41:38
> ---------------------------------------------
> On Wed, 25 Jan, 2006, f bod mach zavinac email bod cz wrote:
> Takze kod ELF pracuje > stejne jako com? Odesila prikazy primo na

> procesor, nebo jej musi jadro > nejdrive zpracovat a pak teprve
samo
> jadro odesle urcity prikaz nebo > preruseni procesoru?

Vo vsetkych OS vychadzajucich z unixu ide > vsetko cez jadro. V
Linuxe
program vola konkretne volanie jadra cez int > 0x80, to je jedine
prerusenie povolene programu. Parametre volaniu jadra > sa ukladaju
do
registrov a ak sa nezmestia potom do zasobnika.
/>
Volania jadra maju aj interface pre C. Pre zoznam volani jadra:
/>
man syscalls

Stranka pre tuto uroven znalosti > programovania a programov pod
linuxom je:

> http://linuxassembly.org

Pre lepsi popis formatu ELF treba > vyhladat Executable and Linkable

Format Specification.

> Urcenie ci je subor spustitelny alebo nie sa robi pomocou
nastavenia
> executable bitu v pravach suboru, preto nie je problem s priponou
a
moze > byt nazvany akokolvek. Exustuje aj misc spustitelny subor, co
je
vlastne > subor ktory ma prvy riadok:

#!/cesta/interpret

> pricom dojde k spusteniu /cesta/interpret a subor je mu predany
ako
> vstup.

Instalacia programov nie je problem, pretoze program sa > nemusi
nikde
registrovat, jedina nutnost je aby sedeli jeho vnutorne > nastavene

cesty s cestami k jeho sucastiam, ale to sa da volit pri >
kompilacii.
Sucasti programov sa zvacsa davaju do standardizovanych > adresarov.

Treba si pozriet standardnu adresarovu strukturu linuxu.
/>
Este musia byt pritomne vsetky dynamicke kniznice s ktorymi je
> dynamicky zlinkovany. O dynamicke linkovanie sa stara dynamicky
> linker:

man ld.so

Cesty kde su kniznice su > hlavne /lib, /usr/lib pripadne
/usr/local/lib. Programom ldd sa da > zistit ake kniznice su s danym

programom zlinkovane.

> Unixove systemy su spate s programovacim jazykom C, do ktoreho
boli
> velmi rychlo po vzniku prepisane (existuje prienik mnoziny
vyvojarov
> prveho unixu a mnoziny tych co vymysleli C:-)). Preto by bolo
dobre sa
> pozriet na neaku knihu/prirucku/howto o programovani v C pod
> unixom/linuxom, kde je mozne dozvediet sa viac o tom ako je
unixovy
> program zviazany zo systemom. Tusim sa da nieco take najst na:

> http://www.manualy.sk

Pridavam sa k tomu, ze je to strasne > siroka problematika. Bolo by

vhodne klast konkretnejsie otazky, alebo > naznacit oblast zaujmu.
No
toto nie je moc zameranie tejto konferencie, > preto by bolo
vhodnejsie
googlit a citat.

--
/>(dogmaT
(icq 303140614)
(jabber > dogmat_at_njs_dot_netlab_dot_cz)
(mail > dogmat_at_dogmat_dot_us)
(web http://dogmat.us))
/>________________________________________________
CZdebian-l maillist - > CZdebian-l zavinac debian bod cz
http://www.debian.cz/mailman/listinfo/czdebian-l
/>E-mail (un)subscriptions: czdebian-l-request zavinac debian bod cz
>

František Mach
f bod mach zavinac email bod cz


Partial thread listing: