Tvikanje Gnu/Linuxa

poruka: 171
|
čitano: 24.166
|
moderatori: pirat, Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

Firefox se kompajlira ako nisi znao, a nekompajlirani fireofox redovito radi overhead u ramu

Firefoxov overhead proizlazi iz problematike dinamičnih objekata i garbage collectora, tu kompajliranje ne bude pomoglo. Kad bi to tako bilo onda bi ekipa iz Mozille jednostavno napravila uber optimiziran build. Guess what? To već jesu napravili, i to je ono što se može skinuti sa njihovih stranica.

 

Ali pretpostavljam da su oni budale što gube vrijeme na ovakve stvari.

 

Ono što u pravilu rade likovi koji nude kojekakve dodatno optimizirane buildove firefoxa, jest da ih kompajliraju sa switchevima koje u Mozilli ili smatraju potencijalno problematičnima, ili jednostavno premalih dobitaka da bi bili vrijedni truda. U biti se to sve svodi na LTO, PGO, O3, i postavljanje puno veće minimalne arhitekture +- još koja postavka.

 

Lekciju o GCC-u i o onim "amaterskim switchevima" (LOL) ću preskočiti.

 

cowboy kaže...
Npr firefox ce tebi na 8Gb traziti gigu dok ce meni na 4Gb traziti 500Mb a jednako ce dobro raditi oba, tako da tvoja izjava nema logike sto je proizaslo iz tvog nerazumjevanja materije

Da, samo ako predalocira memoriju u prazno. U tom slučaju to vrijedi (čiste memorijske stranice se odbacuju kao da ih i nema). Ali tada isto tako znači da nisi baš ništa postigao. U slučaju da Firefox actually i napuni gigu memorije podatcima, možeš plesati lambadu na trepavicama ali nikakvo kompajliranje kernela ti tu neće pomoći.

A ti sada slobodno vrišti kako ja ništa ne razumijem... {#}

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
10 godina
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

Ali bas morate ili mljeti bezveze ili preuvelicavati stvari ?

Ja kernel kompajliram 3-4 puta godisnje (i to samo kopiram staru konfigraciju u novu i pregledam, eventualno konfiguiram novosti koje nova verzija nosi i rekonfiguiram staru conf ako one to zahtjevaju), distribuciju ne mjenjam nikad. Source distribucije mogu biti toliko stabilne da nakon instalacije doguraju desetljeca bez da ista zasteka ili uspori uz povremeni apdejt cega zelimo, kad zelimo i kako zelimo (ja pregledam apdejte isto 3-4 puta godisnje) za razliku od debiana i slicnih one-click srodnih distribucija koje redovno uspore ili zastekaju, traze apgrejt. Prije ce crknut hardware zbog ugriza vremena nego zastekati ili usporiti source distribucija i taman da crkne,  cijeli sitem rekompajliram za novi hardware bez da izgubim ista od podataka, performansa ili stabilnosti

Kako se kaze:

Nemam dovoljno vremena da bi koristio jednostavne genericne distribucije. To sto ti mislis da je vremenski zahtjevno kompajliranje, u krivu si jer ne gledas dovoljno daleko

Zanemarujem firefox dio jer ionako koristim chrome.

 

Objasni točno kako se to sustav uspori na tim distribucijama. Što ih to točno uspori? Ja to u svim godinama korištenja linuxa kao primarnog OS-a nisam doživio pa bi molio da me prosvjetliš. Je li možda fragmentacija? A da, nema fragmentacije. Registry? Ah da nema registry-a?

 

Jedino što može usporiti sustav (i boot) jest trpanje startup aplikacija, widgeta i servisa, ali to se dogodi na bilo kojoj distri pa da joj je i sam Torvalds kompajlirao kernel.

 

Eto sad ti pokazuješ da ne znaš osnove linuxa kako ti drugima voliš govoriti. Uostalom neš ti znanja odabirati flagove prilikom kompilacije.

Samomrzeći hrvat
15 godina
odjavljen
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

Daj ne melji gluposti. Nauci se sto je linux i sto je aplikacija, skupa s ovim biserima sto ti lupaju TU

Firefox se kompajlira ako nisi znao, a nekompajlirani fireofox redovito radi overhead u ramu, da se ne ponavljam 50 puta zbog cega jer vi ocito imate problema sa shvacanjem.

Kolko ce firefox traziti ovisi o onome kako ga kompajliras, kako je kompajliran kernel, kako kernel alocira i mapira memoriju i kakav je scheduler.

Npr firefox ce tebi na 8Gb traziti gigu dok ce meni na 4Gb traziti 500Mb a jednako ce dobro raditi oba, tako da tvoja izjava nema logike sto je proizaslo iz tvog nerazumjevanja materije

Daj prekinite vise trolati svojim glupostima. Cemu vam sluzi taj linux ako u njemu nista ne ucite, samo zato da u terminalu pisete apt-get ?

Vratite se radije na windows kad vam linux slabo ide jer jos uvijek razmisljate na windows nacin

Yebemu mater, ako sam ja upalio 45 tabova sa Youtubeom i ostalim "teškim" stranicama (puno JSa, slika i CSSa), ne možeš ti natjerat da firefox pospremi te podatke ne znam kamo (u Vasionu?) jer si ga kompajlirao. Slika zauzima 2MB i točka. Gotovo. Da bi ta slika bila prikazana, ona mora biti spremljena u 2MB RAM memorije. Ne 512KB, ne 1MB i ne 14MB nego točno 2MB!

 

Dalje, rekompajlirani firefox eventualno može raditi brže (zbog izbacivanja viška i korištenja instrukcija koje ima tvoj proc) a ne može zauzimati manje prostora u RAMu jer Gecko da bi radio treba ne znam, 20MB (njegovi podaci i instrukcije), UI zauzima 2MB (grafički elementi) itd...

 

Ako moja aplikacija kod pokretanja kreira objekt veličine 8KB (hashtable sa nekim vrijednostima) onda ja mogu prekompajlirati aplikaciju, kernel i sebe do sudnjeg dana radi smanjenja potrošnje RAMa bez ikakvog uspjeha jer, zamisli čuda, ta kolekcija treba 8KB prostora u RAMu da bi se učitala u potpunosti, sa svim vrijednostima!

 

Jedini način da se smanji potrošnja RAMa je da smanjim tu kolekciju.

 

I ja još uvijek čekam usporedbe stock i tvog kompajliranog kernela....

 

[edit]

rustweaver kaže...
Da, samo ako predalocira memoriju u prazno. U tom slučaju to vrijedi (čiste memorijske stranice se odbacuju kao da ih i nema). Ali tada isto tako znači da nisi baš ništa postigao. U slučaju da Firefox actually i napuni gigu memorije podatcima, možeš plesati lambadu na trepavicama ali nikakvo kompajliranje kernela ti tu neće pomoći.

A ti sada slobodno vrišti kako ja ništa ne razumijem... {#}

Upravo o tome ja pričam. Osim što aplikacije i Windowsi vole unaprijed rezervirati RAM (prefetch, superfetch...) jer je brže i lakše kasnije pisati po toj memoriji, Firefox/Windows/CowboyOS ne može magično smanjiti veličinu nekih podataka u RAMu. Može da, kompresijom, koja ima svoje limite i prije ili kasnije postane procesorski "skupa".

 

Al jbga rust, možemo mi do sutra. Njegov kernel sprema dio firefoxa u eter....

My name is Legion... For we are many!
Poruka je uređivana zadnji put uto 12.8.2014 8:47 (Sum_of_all_fears).
10 godina
offline
Tvikanje Gnu/Linuxa

U vasionu {#} Raspao se od smijeha.

Samomrzeći hrvat
Moj PC  
1 0 hvala 1
11 godina
offline
Re: Tvikanje Gnu/Linuxa
zerocool12 kaže...

Ok,zanima me u čemu je razlika u "kompajliranom" ff-u i onom "nekompajliranom". Usput, jel se ne mora svaki program kompajlirati prije pokretanja? Također jel su onda ovi što rade ff tako retardirani da oni krivo kompajliraju ff,pa je razlika između skinutog kompajliranog ff-a i kompajliranja ff-a na svom računalu tako velika??!?!?!

 

Ovaj prvi ima friškije bitove, pa onda mogu brže ići po žicama.

Zato pravi znalci periodično podmazuju vodove na PCB-ovima.

11 godina
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...
Ono što u pravilu rade likovi koji nude kojekakve dodatno optimizirane buildove firefoxa, jest da ih kompajliraju sa switchevima koje u Mozilli ili smatraju potencijalno problematičnima, ili jednostavno premalih dobitaka da bi bili vrijedni truda. U biti se to sve svodi na LTO, PGO, O3, i postavljanje puno veće minimalne arhitekture +- još koja postavka.

Nije samo u Mozilli, GCC ARM EABI verzija 4.8.2 ne radi dobro na O3 i Os (arhitektura ARMv7, CPU je Cortex-M3). Nekada funkcionira kao da uzmeš nekakve nasumične binarne brojeve i ideš to pokrenuti. Te razine optimizacije sada nazivam "Nek' ih Bog razvrstava".

 

Ako zanemarim kako me tema na prvi pogleda asocira na - bradata žena, čovjek topovska kugla, proricanje iz kristalne kugle, slon koji balansira na jednoj nozi - nekakva mala ubrzanja ovisno o svičevima možeš dobiti ako je autor aplikacije znao da se zbog-tog-i-tog razloga mogu npr. koristiti SIMD instrukcije, pa je to i predvidio u kodu. Ili ako imaš nekakvu perverziju od koprocesora koji treba dodatno aktivirati. No i tu ima razlika između istog koda koji je kompajliran za x86 i nešto drugo. Barem sam ih imao na Cortex-A8 i dvoglavom Intel Atomu.

 

No, zato ljudi, kompajlirajmo, reče zaposlenik HEP-a.

Idem po kantu masti za vodove.

9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...
cowboy kaže...

Firefox se kompajlira ako nisi znao, a nekompajlirani fireofox redovito radi overhead u ramu

Firefoxov overhead proizlazi iz problematike dinamičnih objekata i garbage collectora, tu kompajliranje ne bude pomoglo. Kad bi to tako bilo onda bi ekipa iz Mozille jednostavno napravila uber optimiziran build. Guess what? To već jesu napravili, i to je ono što se može skinuti sa njihovih stranica.

 

Opet pricas gluposti.

Overhead proizlazi iz firefoxovih poziva procesoru i nepotrebnih instrukccija koje guse pipeline sto autoamstski sejva veci data u ram. Vidim da ti nikad neces shvatiti sto je memorija a sto procesor i kako ih aplikacije koriste. Jos sam ti i lijepo dao gcc link koji objasnjava kako koja optimiziacija koristi hardware ali to je tebi izgleda prekomplicirano za shvatiti.

 

Firefox developeri nisu budale, ja to ne govorim. Oni samo rade aplikaciju koja ce najoptimiziranije raditi na svim mogucim procesorima i kombinacijama hardware i koja ce uz to podrzavati sve sto ti treba i ne treba.

Ti bas nemas pojima o softwareu, ma melji i dalje gluposti meni se vise neda ista ti objasnjavati jer bi vec i moja polupismena baka shvatila neke stvari

9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
Sum_of_all_fears kaže...

 

Ako moja aplikacija kod pokretanja kreira objekt veličine 8KB (hashtable sa nekim vrijednostima) onda ja mogu prekompajlirati aplikaciju, kernel i sebe do sudnjeg dana radi smanjenja potrošnje RAMa bez ikakvog uspjeha jer, zamisli čuda, ta kolekcija treba 8KB prostora u RAMu da bi se učitala u potpunosti, sa svim vrijednostima!

 

Jedini način da se smanji potrošnja RAMa je da smanjim tu kolekciju.

 

I ja još uvijek čekam usporedbe stock i tvog kompajliranog kernela....

 

Ta aplikacija treba 8kb prostora po defaultu ali tebi ce uvijek za to uzeti 16kb jer je procesor koji operira memorijom preopterecen zbog neoptimizacije.

usporedbe kernela su ti bile odmah na prvoj stranici a ti cekaj i dalje nesto sto ne znas ni sam sto

Neki ljudi ce jednostavno ostati u windows nacinu rada i u svakom osu ce razmisljati na windows nacin, tako da cijela ova tema nema smisla

Poruka je uređivana zadnji put uto 12.8.2014 16:18 (cowboy).
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

Opet pricas gluposti.

Overhead proizlazi iz firefoxovih poziva procesoru i nepotrebnih instrukccija koje guse pipeline sto autoamstski sejva veci data u ram.

Koje su to nepotrebne "instrukcije"?

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...
cowboy kaže...

Opet pricas gluposti.

Overhead proizlazi iz firefoxovih poziva procesoru i nepotrebnih instrukccija koje guse pipeline sto autoamstski sejva veci data u ram.

Koje su to nepotrebne "instrukcije"?

procitaj gcc link koji sam ti dao i tamo ti pisu sve instrukcije, i to ti je tesko, lakse je spamati temu i derati po svome

Ovdje treba linux moderator da vas sve pobanira zbog trolanja i davljenja pitanjima kako 2+2 moze biti 4 kad vi mislite da je 5

Poruka je uređivana zadnji put uto 12.8.2014 16:21 (cowboy).
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

procitaj gcc link koji sam ti dao i tamo ti pisu sve instrukcije, i to ti je tesko, lakse je spamati temu i derati po svome

Ne, ne, ne. Ja želim da mi TI nabrojiš nepotrebne "instrukcije".

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...
cowboy kaže...

procitaj gcc link koji sam ti dao i tamo ti pisu sve instrukcije, i to ti je tesko, lakse je spamati temu i derati po svome

Ne, ne, ne. Ja želim da mi TI nabrojiš nepotrebne "instrukcije".

i da to napravim opet bi bilo uzaludno jer bi ti derao svoje teorije (gluposti)  koje nemaju veze s pameti

Sto je bilo ? problem nerazumjevanja objasnjenja na gcc stranici ? Sve ti tamo lijepo pise, ti ne protivis meni nego gcc developerima

daj odabi vise, popeo si mi se znas gdje

Poruka je uređivana zadnji put uto 12.8.2014 16:24 (cowboy).
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

i da to napravim opet bi bilo uzaludno jer bi ti derao svoje teorije (gluposti)  koje nemaju veze s pameti

Ne. Mene baš zanima što ti podrazumijevaš pod "nepotrebne instrukcije".

 

Ali ne mogu obećati kakva će reakcija na to biti. ^^

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put uto 12.8.2014 16:26 (rustweaver).
9 godina
neaktivan
offline
Tvikanje Gnu/Linuxa

Optimizing Linux Memory usage

 

-Recompiling the Kernel

-Compiling Applications

(nazalost ni autor linka nije dobro upucen u ove dvije stavke koje je naveo)

 

Sramite se svi kakvi ste linux nubovi.

To su kriva vremena kad linux moze instalirati svaka budala u 3 klika, a onaj ko zna kopirati i instalirati u terminalu se smatra nekim advanced userom. Da smo u devedesetima sutili biste ko picke a sad tu nesto glumite da znate

I pristup temi vam je los, da pitate sve bi se objasnilo ali ne pitate nego flejmate svojim neznanjem maskirajuci ga kao znanje (koje ste stekli koristeci windows)

 

Rusty, ne trolaj, dao sam ti link i uci nesto ako te nre zanima ne znam sta imas raditi u ovoj temi

Poruka je uređivana zadnji put uto 12.8.2014 16:36 (cowboy).
 
0 0 hvala 0
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
Entry Point kaže...

 Je li možda fragmentacija? A da, nema fragmentacije.

Bogami ima i fragmentacije, nisi ni svjestan koliko se linux fragmentira sto jedino mozes sprijeciti manualno konfiguracijom kernela

Samo sto to nije diskovna fragmentacija nego memorijska, sto je jos gore po preformanse samog sistema

 

Poruka je uređivana zadnji put uto 12.8.2014 16:45 (cowboy).
14 godina
neaktivan
offline
Tvikanje Gnu/Linuxa

S obzirom da ne možeš sročiti pošten odgovor, budući da vrlo vjerojatno ne razumiješ materiju ja ću se još jednom osvrnuti na ovaj citat:

cowboy kaže...
Overhead proizlazi iz firefoxovih poziva procesoru i nepotrebnih instrukccija koje guse pipeline sto autoamstski sejva veci data u ram.

"Overhead" o kojem ti vjerojatno pričaš zapravo nije overhead. Ti zapravo pričaš o tranformacijama na programskom kodu kojima se neke instrukcije uklanjanju a neke druge dodaju. Odnosno pričaš o najobičnijim optimizacijskim tranformacijama koje radi gotovo svaki kompajler a koje opisuješ svojom uvrnutom terminologijom.

 

I ne, ušteda (memorijska) koju dobiješ tim putem je na desktopu zanemariva, štoviše unrollanje, inlining i slične transformacije će ti i povećati konačni executable. No to je primarno poradi ubrzavanja izvršavanja (unrollanje petlji umanjuje uvjetno grananje, inlining eliminira overhead poziva funkcija...). Os provodi samo skup tranformacija koje za cilj imaju ili umanjiti ili barem ne uvećati konačni strojni kod.

 

Možeš se eventualno žaliti da veći kod više udara instrukcijski keš procesora. Ali bez opsežnih testova to je nategnuto samo tako dovoditi u korelaciju sa lošim perfomansama. Podatkovni keš je generalno govoreći bitniji.

 

Gušenje pipelinea mi nije jasno ni malo. Pipeline je u pravilu uvijek pun, osim ako ne dođe do flusha (što se smatra lošim za perfomanse, iz očiglednog razloga, jer se pipeline ponovno treba napuniti).

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put uto 12.8.2014 16:47 (rustweaver).
 
0 0 hvala 0
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...

Gušenje pipelinea mi nije jasno ni malo. Pipeline je u pravilu uvijek pun, osim ako ne dođe do flusha (što se smatra lošim za perfomanse, iz očiglednog razloga, jer se pipeline ponovno treba napuniti).

Postavljas pitanje u kojem sam sebi odgovaras ali ti to nije jasno

Pitanje je cega je pun ? onog sto ti treba i ne treba

14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...
Samo sto to nije diskovna fragmentacija nego memorijska, sto je jos gore po preformanse samog sistema

Svaki proces ima vlastiti adresni sustav koji se uništi nakon što i proces bude ubijen, te se kreira svježi kada proces nastaje. Svaka fragmentacija adresnih prostora pojedinih procesa pri tome potpuno nestaje. A i to ovisi o prirodi samog procesa, nešto sa statičnim spremnicima ti sigurno neće fragmentirati vlastiti adresni prostor.

 

I ne, memorijska fragmentacija je problem uglavnom zbog nemogućnosti alociranja kontinuiranog bloka memorije određene veličine, manje zbog perfomansi (svatko tko se doveo u situaciju da mu perfomanse vise o tome koliko malloc/free brzo rade si je sam kriv zbog toga). Kada malloc uslijed masovnih alokacija raznih veličina iskasapi memorijski adresni prostor, postaje problem naći dovoljno veliki komad, onda free može ići spajati pojedine prazne komade u nadi kako bi se stvorio veći kontinuirani blok, ali ako to ne uspije imaš sranje. Taj je problem doduše znatno umanjen sa 64 bitnim adresnim prostorom.

 

Ako su cpu keš i data locality od kritične važnosti, to se onda rješava programski, a ne kompajliranjem kernela.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
9 godina
neaktivan
offline
Tvikanje Gnu/Linuxa

{#}

 

Ne govorim o high level memoriji

nego o fragmentaciji kernela i low memorije, fragmentaciji nultog ringa kojeg fragmentiraju moduli

 

Ovo stvarno vise nema smisla, dosadan si ko proljev

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

Pitanje je cega je pun ? onog sto ti treba i ne treba

Pun je procesorskih instrukcija, eto. Ovo o nepotrebnim instrukcijama je posebno smiješno.

 

Kada su već tu onda su itekako potrebne. Uzmi neki disassembler i nasumce prebriši "nepotrebne" instrukcije serijom NOP instrukcija pa vidi koliko su "nepotrebne". Možeš samo reći da je niz potrebnih instrukcija kako bi se nešto napravilo mogao biti i kraći (što, ironično, ne podrazumijeva i kraće izvršavanje), ali pipeline će u idealnim uvjetima uvijek biti pun.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...

 

Kada su već tu onda su itekako potrebne.

{#}

14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

nego o fragmentaciji kernela i low memorije, fragmentaciji nultog ringa kojeg fragmentiraju moduli

Ista stvar vrijedi, samo što OOM greške iz ring0 koda rade jako ozbiljne probleme.

Ne znam koji si to moduli dozvoljavaju tako olako masovno alocirati i dealocirati memoriju da bi ju uspjeli fragmentirati. Najpametnija stvar je unaprijed alocirati blokove i držati ih cijelo vrijeme, kao što se to radi sa windows driverima.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...

Ista stvar vrijedi, samo što OOM greške iz ring0 koda rade jako ozbiljne probleme.

Ne znam koji si to moduli dozvoljavaju tako olako masovno alocirati i dealocirati memoriju da bi ju uspjeli fragmentirati. Najpametnija stvar je unaprijed alocirati blokove i držati ih cijelo vrijeme, kao što se to radi sa windows driverima.

{#}

 

http://linux.die.net/lkmpg/x40.html

 

Poruka je uređivana zadnji put uto 12.8.2014 17:12 (cowboy).
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

{#}

cowboy kaže...

{#}

Hvataj se ti za glavu do sutra, ali zapinješ na elementarnim stvarima. Još ne razumiješ ni kako se to točno memorijski adresni prostor fragmentira i što to implicira, a igrao bi se kernelovog defragmentera.

 

Da, i? To je identičan koncept koji se krije i iza windows drivera. To ne mijenja ništa od ovog što sam napisao.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put uto 12.8.2014 17:15 (rustweaver).
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...

Hvataj se ti za glavu do sutra, ali zapinješ na elementarnim stvarima. Još ne razumiješ ni kako se to točno memorijski adresni prostor fragmentira i što to implicira, a igrao bi se kernelovog defragmentera.

 

Da, i? To je identičan koncept koji se krije i iza windows drivera. To ne mijenja ništa od ovog što sam napisao.

{#}{#}{#}

 

By the time you load an LKM, real memory is all fragmented

 

 

14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa

Vidiš da ne razumiješ virtualnu memoriju. Virtualni adresni prostor modula je u komadu. Fizičke memorijske stranice po kojima je on razbacan su nebitne, procesor sam spaja dijelove i prevodi linearne virtualne adrese u fizičke adrese.

 

Vratit se na 80386 i pogledati "kak' to šljaka".

 

Za CPU sasvim je sporedno koliko su dvije memorijske stranice blizu, i jesu li čak i jedna do druge. Bitno je samo je li u kešu ili nije u kešu. Ako nije u kešu mora se čekati na RAM, ako jest onda se ne mora. U teoriji možeš imati penalizirani pristup memoriji koja se nalazi u jednoj jedinoj memorijskoj stranici ako kod skače naokolo kao blesav i ako je keš dovoljno malen.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Poruka je uređivana zadnji put uto 12.8.2014 17:38 (rustweaver).
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...

Vidiš da ne razumiješ virtualnu memoriju. Virtualni adresni prostor modula je u komadu. Fizičke memorijske stranice po kojima je on razbacan su nebitne, procesor sam spaja dijelove i prevodi linearne virtualne adrese u fizičke adrese.

{#}{#}{#}{#}

 

Daj se lupi vise tom supljom glavom u zid.

Kernel se ne nalazi u virtualnoj memoriji kao niti nul ring, oni su u fizickoj memoriji u kojoj kernel mapira ostatak memorije i cini je virtualnom te daje ostatku sistema ring 1 etc na koristenje

Sta ti mislis da bios radi virtualnu memoriju da bi kernel i ring 0 u njoj mogli biti

 

http://en.wikipedia.org/wiki/Protection_ring

Ti bas nemas blage veze o cemu pricas.

 

 

Poruka je uređivana zadnji put uto 12.8.2014 17:38 (cowboy).
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...
Daj se lupi vise tom supljom glavom u zid.

Kernel se ne nalazi u virtualnoj memoriji kao niti nul ring, oni su u fizickoj memoriji u kojoj kernel mapira ostatak memorije i cini je virtualnom te daje ostatku sistema ring 1 etc na koristenje

Sta ti mislis da bios radi virtualnu memoriju da bi kernel i ring 0 u njoj mogli biti

Tvoj izvor:

"By the time you load an LKM, real memory is all fragmented -- you can't simply add the LKM to the end of the base kernel. But the LKM needs to be in contiguous virtual memory, so Linux uses vmalloc to allocate a contiguous area of virtual memory (in the kernel address space), which is probably not contiguous in real memory."

Linux dakle, modulu, stvori virtualni adresni prostor. Budući da su fizičke adrese negdje pune negdje prazne pa ne može samo nakačiti modul izravno i kontinuirano nakon kernela. Stoga modul operira sa virtualnim adresama.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
9 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
rustweaver kaže...

Stoga modul operira sa virtualnim adresama.

.. i fragmentira fizicku memoriju u kojoj je kernel i najkriticniji djelovi sistema

pa kernel iz fragmentirane memorije mapira virtualnu memoriju, sto nije u korist cak ni toj virtualnoj memoriji a kamoli samom kernelu i ringu 0

Poruka je uređivana zadnji put uto 12.8.2014 17:40 (cowboy).
14 godina
neaktivan
offline
Re: Tvikanje Gnu/Linuxa
cowboy kaže...

.. i fragmentira fizicku memoriju u kojoj je kernel i najkriticniji djelovi sistema

Ne. Kernel je statičan, učitan na svoju početnu adresu u kontinuiranom bloku i ne mrda odatle.

A C program is like a fast dance on a newly waxed dance floor by people carrying razors.
Nova poruka
E-mail:
Lozinka:
 
vrh stranice