-
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).
Następne wpisy z tego wątku
- 04.06.22 17:36 Dawid Rutkowski
- 04.06.22 18:21 heby
- 04.06.22 19:01 Dawid Rutkowski
- 04.06.22 20:31 heby
- 05.06.22 11:11 Dawid Rutkowski
- 05.06.22 13:44 heby
- 05.06.22 18:50 Dawid Rutkowski
- 05.06.22 19:09 heby
- 06.06.22 12:03 J.F
- 06.06.22 12:17 J.F
- 06.06.22 12:22 J.F
- 06.06.22 12:52 heby
- 06.06.22 12:55 heby
- 06.06.22 13:08 J.F
- 06.06.22 13:39 J.F
Najnowsze wątki z tej grupy
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
Najnowsze wątki
- 2024-11-17 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 2024-11-18 Gdynia => Spedytor Międzynarodowy <=
- 2024-11-18 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-18 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-18 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-11-18 Kraków => Business Development Manager - Network and Network Security
- 2024-11-18 Kraków => Network Systems Administrator (IT Expert) <=
- 2024-11-18 Kraków => Administrator Systemów Sieciowych (Ekspert IT) <=
- 2024-11-18 Zdunowo => Senior PHP Symfony Developer <=
- 2024-11-18 Łódź => QA Inżynier <=
- 2024-11-18 Lublin => Senior PHP Developer <=
- 2024-11-18 Gliwice => Specjalista ds. public relations <=
- 2024-11-18 Gdynia => Front-End Developer (React/Three.js) <=
- 2024-11-18 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-18 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=