eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBudowa własnego linuksowego komputerkaRe: Budowa własnego linuksowego komputerka
  • Data: 2022-06-04 15:41:58
    Temat: Re: Budowa własnego linuksowego komputerka
    Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 02/06/2022 14:28, J.F wrote:
    >> A po co te segmenty i w czym są lepsze w porównaiu gdy proces ma
    >> najzwyczajniej pamięc RAM dla siebie, jak chce?
    > Sprawa jest taka, ze program unixowy ma swój kod, powiedzmy ze stały,
    > ma dane w pamieci, ktorych ilosc moze rosnac i ma stos, ktory tez moze
    > rosnąc.

    Stosy w typowych systemach operacyjnych są śmiesznie małe. Tak około
    1000x mniej niż dostepna pamięć i raczej mało kto narzeka.

    > I te dwa rosnące obszary stanowią problem, bo trzeba je jakos umiescic
    > w pamieci.

    Nie stanowią problemu, choć nie mogę wykluczyć, że bardzo źle napisany
    program może marudzić. Shit happens.

    > W dodatku Unix to system wielozadaniowy, wiec mamy wiele procesów,
    > kazdy z apetytem na pamiec. I z pożądaną wzajemną ochroną.

    To nie ma związku z segmentacją. Segmentacja to tylko dziadowski system
    przełączania banków pamięci z 8-bit maszyn, zaszyty w procesorze. Tak,
    troche przesadzam, ale prawdę mówiąc niewiele. Jak zerkniesz na to jakie
    machnizmy były popluarne na Z80 i 6502 do ogarniania pamięcu >64k to
    niebezpiecznie blisko koncepcji segmentacji wylądujesz. x86 zrobił to
    tylko "lepiej" czyli skrajnie skomplikował proste zagadnienie adresacji
    pamięci a potem dodawał w kolejnych wersjach procesorów coraz to nowsze
    "usprawnienia w odpowiedzi na potrzeby rynku" które zakończyły się tym,
    że obecnie z tego nikt nie korzysta, bo to guano, zaprojaktowanie
    skrajnie bezmyślnie i psute iteracyjnie przez dziesięciolecia.

    https://en.wikipedia.org/wiki/Memory_segmentation

    [...]In a x86-64 architecture it is considered legacy and most
    x86-64-based modern system software don't use memory segmentation.
    Instead they handle programs and their data by utilizing memory-paging
    which also serves as a way of memory protection.[...]

    Czyli wyszło jak wykle, u Intela.

    > Nowsze programy ładują jeszcze dynamicznie biblioteki, wiec trzeba
    > wiecej nowego miejsca.

    Bibliteki shared sa zazwyczaj kompilowane z kodem position independent
    (sprawdzić, czy to nie zabawkowy Windows) i znowu, to nie ma związu z
    segmentacją. Procesory bez segmentacji też ładuja te bibliteki w trybie
    współdzielenia i też je dzielą. x86 się do tego nie nadaje z powodu
    żałosnych problemów z kodem PI, ale już AMD64 tak.

    Co zabawne, współdzielenie biblitek jest znacznie łatwiejsze w systemach
    bez ochrony pamieci (Amiga OS). I było powszechne w latach 80 w
    systemach bez MMU, co nie oznacza, że było rozsądne (fragmentacja była
    problemem).

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: