RTV forum PL | NewsGroups PL

Jakie materiały edukacyjne polecacie do projektowania płytek PCB pod układy SoC?

Budowa własnego linuksowego komputerka

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie materiały edukacyjne polecacie do projektowania płytek PCB pod układy SoC?

Goto page Previous  1, 2, 3, 4, 5  Next

J.F
Guest

Thu Jun 02, 2022 11:57 am   



On Wed, 1 Jun 2022 02:03:40 -0700 (PDT), Dawid Rutkowski wrote:
Quote:
wtorek, 31 maja 2022 o 23:06:56 UTC+2 heby napisał(a):
On 31/05/2022 22:57, J.F wrote:
Ale mapowanie pamieci chyba powinien miec
Nie. Jesli masz dużo ramu, to po co coś gdzieś mapować. Masa OSów
działała bez tego.

Masa OSów pozwalała też na uruchomienie tylko jednego procesu na raz
i też "działała bez tego". Tylko kijowo.
Tzn. jak wystarczało to w porządku - ale często "wystarczało"
w takim sensie, jak mówił Henry Ford: "gdybym spytał moich klientów,
czego potrzebują, odpowiedzieliby, że szybszych koni".
Ja też długo puszczałem na 386 z 4MB RAM DOSa i się męczyłem,
żeby było wolnych 620kB pamięci "konwencjonalnej" - a obok megabajty puste leżały.
Były oczywiście protezy w rodzaju TSRów - które trzeba było usuwać,
żeby jakąś lepszą grę uruchomić.
Do dziś zachodzę w głowę, w czym był problem, że potrzeba 620kB, a 600kB nie wystarczy.

Apetyt rosnie w miare jedzenia Smile
Jest 600kB wolnego, to je uzywasz, a potem brakuje :-)

Quote:
Przecież pliki są na dysku...

Ale nie zawsze chcesz z nich korzystac.
Szczegolnie, jesli modelowa maszyna ma dwie dyskietki bez HD :-(

Quote:
No i jeszcze OS nie musi się męczyć, żeby program załadować w jakieś inne miejsce pamięci
niż to, na jakie był skompilowany.
Choć hmm, czy DOS tak musiał robić?

Mowa ogolnie czy o DOS?

ładowal przeciez pod dowolny adres, pliki com byly bezadresowe,
exe relokowalne.

Quote:
I tak był jednozadaniowy, a ew. drivery można było ładować
na koniec pamięci, więc programy użytkowe zawsze mogły się ładować od tego samego adresu
(żeby było trudniej, oczywiście nie mogło to być zero).

Moze sie nauczyli z CP/M, ze to nie jest dobry pomysl,
moze przejeli z CPM ladowanie na adres 100h ... i skorzystali z
segmentacji 8086, bo mozna.

Quote:
Oczywiście *.com można było relokować po różnych segmentach ;> (choć to raczej śmiech przez łzy).

Masz na mysli ladowanie, czy "w locie", tzn w dowolnej chwili ?
Te rejestry segmentowe w 86/88 to nieglupia rzecz,
ale jak program rozwinie skrzydelka, to zacznie korzystac z wiekszej
ilosci RAM i bedzie mial gdzies absolutne adresy zapamietane.
"W locie" nie przesuniesz.

J.

J.F
Guest

Thu Jun 02, 2022 12:02 pm   



On Wed, 1 Jun 2022 01:55:24 -0700 (PDT), Dawid Rutkowski wrote:
Quote:
środa, 1 czerwca 2022 o 10:40:15 UTC+2 heby napisał(a):
On 01/06/2022 09:54, Marek 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?
Właśnie po to by bronić inne zasoby przed tym jego *jak chce*.
Do tego służy stonicowanie.

Segmentacja to był bardzo, bardzo zły pomysł. Obecnie w poważnych
systemach nie używana (czytaj: olewana) bo generuje tylko kłopoty bez
wyraźnych zysków.

Segmentacja daje to samo co stronicowanie.
Bo stronicowanie to segmentacja z wieloma segmentami o tej samej wielkości.

No wlasnie - a poniewaz typowa segmentacja ma malo segmentow i czesto
duzych, to nie to samo niestety.

Quote:
Ma zalety, ale też wady - większe zapotrzebowanie na pamięć.
A w takim Linuxie (szczególnie na x86) masz i segmentację i stronicowanie - wykorzystywane
są zalety jednej i drugiej metody.

Bo razem tez maja sens ... ale linux na x86 naprawde wykorzystuje
obie?
Unixy 32-bitowe segmentacji typu x86 chyba nie lubily, trzeba by API
modyfikować?
Na 286 mialoby to wiekszy sens, ale tam unix i tak ubogi.
Choc czyz nie zaczynal na 16-bit maszynach? :-)

J.

J.F
Guest

Thu Jun 02, 2022 12:04 pm   



On Wed, 1 Jun 2022 01:52:35 -0700 (PDT), Dawid Rutkowski wrote:
Quote:
środa, 1 czerwca 2022 o 10:05:23 UTC+2 heby napisał(a):
On 01/06/2022 09:49, Marek wrote:
Ogólnie to nie tak, że poważne rzeczy da się robić tylko na poważnych
systemach z grep i apt-get. Małe kontrolery, nie obciązone masą
skomplikowanych detali, bywają łatwiejsze w ogarnięciu przy formalnej
weryfikacji/certyfikacji niż Unix-like.
Tak, ale niebo tym jest dyskusja. Atlantis nie pyta o małe kontrolery.
Raczej pyta o "małe". Współczesne gołe linuxy to gigabaty dysku i
gigabajty ramu i to na SAM9 raczej nie ruszy, ogólnie w grę wchodziły by
tylko jakieś prosto lutowalne SoC jak choćby procesory Hixxxx stosowane
w rejestratorach kamer czy wynalazki z okolic bardziej przyjaznych dla
hobbysty S3C2440, ale one wszystkie są obarczone problemami z żałosną
dokumentacją i zerowym wsparciem w porównaniu z Pi.

Można mieć unix-like experience bez protekcji pamięci. W zasadzie, jesli
to system zabawkowy, to nie ma dużej różnicy dla hobbysty. "Muszę mieć
koniecznie Linuxa z forkiem" może być złym kierunkiem bo zaczną się
problemy które są cięzki i nieistotne jednocześnie.

Bez protekcji pamięci nie będzie unix-like tylko jakiś taki wymysł typu amigaos.
A OP nie chce "systemu zabawkowego", tylko system, na którym zadziała Linux.
Linux, a nie ucLinux czy amigaos.

Linux zadziala, tylko co to bedzie warte, jesli procesy nie bedą
wzajemnie chronione. No cóż, OP chce linuxa do własnej zabawy, bedzie
uzywal tylko zaufane programy :-)

Quote:
Na temat tego, co stosować w embedded i czy lepszy Linux - jako "gorszy" OS,
np. bez realtime, ale za to z kupą softu - czy też coś innego, np. lepsze
jako OS (ale i gorsze, bo jednozadaniowe, np. eCos - bardzo fajny, ale to nie ledwo co OS, raczej biblioteka)
ale bez oprogramowania - można długo dyskutować - ale tutaj jest to zdecydowanie nie w temacie.

Jesli zarzutem jest brak realtime, to chyba jednozadaniowe nie są
alternatywą :-)

J.

J.F
Guest

Thu Jun 02, 2022 12:28 pm   



On Wed, 1 Jun 2022 07:18:52 +0200, heby wrote:
Quote:
On 01/06/2022 06:58, J.F wrote:
On Tue, 31 May 2022 23:05:57 +0200, heby <heby@poczta.onet.pl> wrote:
O Matko, tylko nie to badziewie.
On chyba miał na myśli tą segmentację od "segmentation fault".
Bardziej taka, ze jest segment kodu, segment danych, segment stosu,
i wszyskie niekreslonej wielkosci i jeszcze zmienne.

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.
I te dwa rosnące obszary stanowią problem, bo trzeba je jakos umiescic
w pamieci.
W dodatku Unix to system wielozadaniowy, wiec mamy wiele procesów,
kazdy z apetytem na pamiec. I z pożądaną wzajemną ochroną.

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

Cos mi chodzi po glowie, ze dawne systemy wykorzystywaly
dwa najstarsze bity adresu do wskazywania "segmentu", a prosty
MMU mogl relokowac obszary. Moze nawet w procesorze bylo to zaszyte.

J.

heby
Guest

Sat Jun 04, 2022 1:27 pm   



On 01/06/2022 10:55, Dawid Rutkowski wrote:
Quote:
Segmentacja daje to samo co stronicowanie.
Bo stronicowanie to segmentacja z wieloma segmentami o tej samej wielkości.
Ma zalety, ale też wady - większe zapotrzebowanie na pamięć.
A w takim Linuxie (szczególnie na x86) masz i segmentację i stronicowanie - wykorzystywane
są zalety jednej i drugiej metody.

Oczywiście.

https://pl.wikipedia.org/wiki/Segmentacja_pami%C4%99ci

[...] Segmentacja jest rozwiązaniem bardzo eleganckim, lecz na tyle
kłopotliwym, że obecnie praktycznie się jej nie stosuje [...] Aby
segmentację uczynić niewidoczną, Linux wykorzystuje jeden segment o
adresie bazowym 0x0 i rozmiarze 4GB.[...]

heby
Guest

Sat Jun 04, 2022 1:41 pm   



On 02/06/2022 14:28, J.F wrote:
Quote:
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.

Quote:
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.

Quote:
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.

Quote:
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).

heby
Guest

Sat Jun 04, 2022 4:21 pm   



On 04/06/2022 17:36, Dawid Rutkowski wrote:
Quote:
https://pl.wikipedia.org/wiki/Segmentacja_pami%C4%99ci
[...] Segmentacja jest rozwiązaniem bardzo eleganckim, lecz na tyle
kłopotliwym, że obecnie praktycznie się jej nie stosuje [...] Aby
segmentację uczynić niewidoczną, Linux wykorzystuje jeden segment o
adresie bazowym 0x0 i rozmiarze 4GB.[...]
Aleś sobie źródło znalazł.

Pierwsze z brzegu. Potrzebujesz więcej?

https://www.oreilly.com/library/view/understanding-the-linux/0596002130/ch02s03.html

[...]However, Linux uses segmentation in a very limited way. In fact,
segmentation and paging are somewhat redundant since both can be used to
separate the physical address spaces of processes: segmentation can
assign a different linear address space to each process, while paging
can map the same linear address space into different physical address
spaces. Linux prefers paging to segmentation for the following reasons:[...]

Quote:
Piłeś, nie pisz.

Ale zdajesz sobie sprawę, że ta rada działa w obie strony?

Quote:
Ale nawet jeśli, to kiepski żart.

Zdecydowanie. Tym bardziej że pochodzi z humorystycznej ksiązki
"Understanding the Linux Kernel". Najwidoczniej autor nie czyta usenetu,
bo by wiedział jak jest naprawdę.

Dawid Rutkowski
Guest

Sat Jun 04, 2022 5:36 pm   



sobota, 4 czerwca 2022 o 15:28:49 UTC+2 heby napisał(a):
Quote:
On 01/06/2022 10:55, Dawid Rutkowski wrote:
Segmentacja daje to samo co stronicowanie.
Bo stronicowanie to segmentacja z wieloma segmentami o tej samej wielkości.
Ma zalety, ale też wady - większe zapotrzebowanie na pamięć.
A w takim Linuxie (szczególnie na x86) masz i segmentację i stronicowanie - wykorzystywane
są zalety jednej i drugiej metody.
Oczywiście.

https://pl.wikipedia.org/wiki/Segmentacja_pami%C4%99ci

[...] Segmentacja jest rozwiązaniem bardzo eleganckim, lecz na tyle
kłopotliwym, że obecnie praktycznie się jej nie stosuje [....] Aby
segmentację uczynić niewidoczną, Linux wykorzystuje jeden segment o
adresie bazowym 0x0 i rozmiarze 4GB.[...]

Aleś sobie źródło znalazł.
Piłeś, nie pisz.
Tak jak o kompilacji jako działaniu programu...
Chyba że o emoticonach zapominasz.
Ale nawet jeśli, to kiepski żart.

heby
Guest

Sat Jun 04, 2022 6:31 pm   



On 04/06/2022 19:01, Dawid Rutkowski wrote:
Quote:
Zdecydowanie. Tym bardziej że pochodzi z humorystycznej ksiązki
"Understanding the Linux Kernel". Najwidoczniej autor nie czyta usenetu,
bo by wiedział jak jest naprawdę.
Albo Ty nie czytałeś książki i/lub tego, co ja napisałem.

Bardzo możliwe, że jedno z tych dwóch na pewno.

Quote:
W Linuxie stronicowanie jest podstawą, z segmentacji używane jest niedużo - i tylko to, co dobre.

A co konkretnie jest dobre w segmentacji i używane?

Dawid Rutkowski
Guest

Sat Jun 04, 2022 7:01 pm   



sobota, 4 czerwca 2022 o 18:22:55 UTC+2 heby napisał(a):
Quote:
On 04/06/2022 17:36, Dawid Rutkowski wrote:
https://pl.wikipedia.org/wiki/Segmentacja_pami%C4%99ci
[...] Segmentacja jest rozwiązaniem bardzo eleganckim, lecz na tyle
kłopotliwym, że obecnie praktycznie się jej nie stosuje [...] Aby
segmentację uczynić niewidoczną, Linux wykorzystuje jeden segment o
adresie bazowym 0x0 i rozmiarze 4GB.[...]
Aleś sobie źródło znalazł.
Pierwsze z brzegu. Potrzebujesz więcej?

https://www.oreilly.com/library/view/understanding-the-linux/0596002130/ch02s03.html

[...]However, Linux uses segmentation in a very limited way. In fact,
segmentation and paging are somewhat redundant since both can be used to
separate the physical address spaces of processes: segmentation can
assign a different linear address space to each process, while paging
can map the same linear address space into different physical address
spaces. Linux prefers paging to segmentation for the following reasons:[....]

Piłeś, nie pisz.

Ale zdajesz sobie sprawę, że ta rada działa w obie strony?
Ale nawet jeśli, to kiepski żart.
Zdecydowanie. Tym bardziej że pochodzi z humorystycznej ksiązki
"Understanding the Linux Kernel". Najwidoczniej autor nie czyta usenetu,
bo by wiedział jak jest naprawdę.

Albo Ty nie czytałeś książki i/lub tego, co ja napisałem.
W Linuxie stronicowanie jest podstawą, z segmentacji używane jest niedużo - i tylko to, co dobre.
Można tak, bo to, co złe, ale niezbędne w segmentacji, załatwia - o wiele lepiej - stronicowanie.
A samo stronicowanie jest segmentacją z wieloma segmentami o jednakowej (albo max. kilku ustalonych) wielkości segmentu.
Załatwia całość OS, więc aplikacje w ogóle o tym nie muszą wiedzieć, chyba że wchodzą niuanse Harvard/Princetown.

Dawid Rutkowski
Guest

Sun Jun 05, 2022 11:11 am   



sobota, 4 czerwca 2022 o 20:32:26 UTC+2 heby napisał(a):
Quote:
On 04/06/2022 19:01, Dawid Rutkowski wrote:
Zdecydowanie. Tym bardziej że pochodzi z humorystycznej ksiązki
"Understanding the Linux Kernel". Najwidoczniej autor nie czyta usenetu,
bo by wiedział jak jest naprawdę.
Albo Ty nie czytałeś książki i/lub tego, co ja napisałem.
Bardzo możliwe, że jedno z tych dwóch na pewno.
W Linuxie stronicowanie jest podstawą, z segmentacji używane jest niedużo - i tylko to, co dobre.
A co konkretnie jest dobre w segmentacji i używane?

Zdecydowanie łatwiej i szybciej sprawdzić, czy adres, z którego pobierane/zapisywane są dane, mieści się w granicach JEDNEGO segmentu (o danym adresie bazowym i długości), niż we wszystkich stronach.
I czy atrybuty segmentu pozwalają na przeprowadzenie danej operacji.
Zapewne rodzaj cache dla danych jednego segmentu danego typu (pewnie tego wskazywanego przez rejestry segmentowe) jest też w procesorze.
A samą pamięć wirtualną robimy oczywiście na stronicowaniu, nie trzeba wywalać całych segmentów - lub kombinować z dzieleniem ich na kawałki.

heby
Guest

Sun Jun 05, 2022 11:44 am   



On 05/06/2022 11:11, Dawid Rutkowski wrote:
Quote:
W Linuxie stronicowanie jest podstawą, z segmentacji używane jest niedużo - i tylko to, co dobre.
A co konkretnie jest dobre w segmentacji i używane?
Zdecydowanie łatwiej i szybciej sprawdzić, czy adres, z którego pobierane/zapisywane są dane, mieści się w granicach JEDNEGO segmentu (o danym adresie bazowym i długości), niż we wszystkich stronach.

I tego się uzywa?

Quote:
I czy atrybuty segmentu pozwalają na przeprowadzenie danej operacji.
Zapewne rodzaj cache dla danych jednego segmentu danego typu (pewnie tego wskazywanego przez rejestry segmentowe) jest też w procesorze.

I tego się używa?

Quote:
A samą pamięć wirtualną robimy oczywiście na stronicowaniu, nie trzeba wywalać całych segmentów - lub kombinować z dzieleniem ich na kawałki.

I tego się używa?

heby
Guest

Sun Jun 05, 2022 5:09 pm   



On 05/06/2022 18:50, Dawid Rutkowski wrote:
Quote:
Zdecydowanie łatwiej i szybciej sprawdzić, czy adres, z którego pobierane/zapisywane są dane, mieści się w granicach JEDNEGO segmentu (o danym adresie bazowym i długości), niż we wszystkich stronach.
I tego się uzywa?
W Linuxie na x86 tak

Zapytam na wszelki wypadek: sugerujesz, że Linux używa segmentacji do
*czegokolwiek* poza ustawieniem jej tak, aby nie przeszkadzała?

Quote:
Po prostu dlatego, że 386 to ma.

386 ma tez real mode. Kiepski to powód do używania.

Quote:
386 ma o wiele więcej rejestrów niż 8086 - tyle że nie ogólnego przenaczenia, tylko specjalizowanych.
ARM nie ma, więc ochronę pamięci w Linuxie robi się inaczej.

Zgadnij ile procesorów na świecie ma segmentację. Zastanów się, również
ostrożnie, jakie interesujace ficzery generuje segmentacja po stronie
kodu asseblerowego. Podpowiem: podobne miewa architektura Harvard i
pozostawiają traume taką samą jak powórnywanie pointerów pod DOSem.

Możesz przybliżyć nam po ch.. komu segmentacja w systemie Unixowym,
który nie ma takowej segmentacji na ani jednej implementacji użytecznej
do czegokolwiek?

Quote:
I czy atrybuty segmentu pozwalają na przeprowadzenie danej operacji.
Zapewne rodzaj cache dla danych jednego segmentu danego typu (pewnie tego wskazywanego przez rejestry segmentowe) jest też w procesorze.
I tego się używa?
Samo się używa, jak to cache.

Ja pytam nie o to, jak jest zworkaroudowane w procesorze bo tego nie
wiemy. Czy Linux *używa* segmentacji do czegokolwiek użytecznego.

Quote:
A atrybutów segmentu - oczywiście, do ochrony.

A czego ochrony? Jest coś dodatkowego do ochrony, czego nie chroni paging?

Quote:
Np. żeby nie pozwolić wykonać danych.

Ojej. To już nonexec bit w stronicowaniu się nie nadaje?

Zaznaczam też, że to relatywnie nowy ficzer, tak na marginesie.

Quote:
Co i tak by mogło nie pójść z powodu cache, szczególnie w wieloprocesorowości.

Interesujące. Dalej mówimy o x86 czy sobie przeskoczyliśmy na jakies DEC
Alpha z jego niespójnym cache?

Quote:
A samą pamięć wirtualną robimy oczywiście na stronicowaniu, nie trzeba wywalać całych segmentów - lub kombinować z dzieleniem ich na kawałki.
I tego się używa?
Stronicowania chyba jednak na pewno tak. Znowu piłeś?

Pytanie było o *segmentację*. To że się używa stronicowania, nie
powoduje że segmentacja ma jakiekolwiek użyteczne funckcje.

Mam wrażenie, że troche się pogubiliśmy w dyspucie między segmentacją a
stronicowaniem.

Pozwól więc, że wyklaruje: segmantacji się nie używa poza problem, że
nie da się jej wyłaczyć, więc Linux zamiata ją pod dywan olewajac mniej
więcej w 100%.

Stronicowania się używa.

Pisałeś że coś z segmentacji Linux używa.

Chciałbym wiedzieć *CO* używa. Głównie dlatego że 40 lat temu i dzisiaj
segmantacja to jedne z najbardziej debilnych pomysłów w technologii CPU
i mam nadzieje że autor będzie się w piekle przewracał.

Dawid Rutkowski
Guest

Sun Jun 05, 2022 6:50 pm   



niedziela, 5 czerwca 2022 o 13:45:14 UTC+2 heby napisał(a):
Quote:
On 05/06/2022 11:11, Dawid Rutkowski wrote:
W Linuxie stronicowanie jest podstawą, z segmentacji używane jest niedużo - i tylko to, co dobre.
A co konkretnie jest dobre w segmentacji i używane?
Zdecydowanie łatwiej i szybciej sprawdzić, czy adres, z którego pobierane/zapisywane są dane, mieści się w granicach JEDNEGO segmentu (o danym adresie bazowym i długości), niż we wszystkich stronach.
I tego się uzywa?

W Linuxie na x86 tak - tak realizowana jest ochrona pamięci, zarówno kernel space / user space jak i separacja procesów.
Po prostu dlatego, że 386 to ma.
386 ma o wiele więcej rejestrów niż 8086 - tyle że nie ogólnego przenaczenia, tylko specjalizowanych.
ARM nie ma, więc ochronę pamięci w Linuxie robi się inaczej.

Quote:
I czy atrybuty segmentu pozwalają na przeprowadzenie danej operacji.
Zapewne rodzaj cache dla danych jednego segmentu danego typu (pewnie tego wskazywanego przez rejestry segmentowe) jest też w procesorze.
I tego się używa?

Samo się używa, jak to cache.
A atrybutów segmentu - oczywiście, do ochrony.
Np. żeby nie pozwolić wykonać danych.
Co i tak by mogło nie pójść z powodu cache, szczególnie w wieloprocesorowości.

Quote:
A samą pamięć wirtualną robimy oczywiście na stronicowaniu, nie trzeba wywalać całych segmentów - lub kombinować z dzieleniem ich na kawałki.
I tego się używa?

Stronicowania chyba jednak na pewno tak. Znowu piłeś?

J.F
Guest

Mon Jun 06, 2022 10:03 am   



On Sun, 5 Jun 2022 09:50:58 -0700 (PDT), Dawid Rutkowski wrote:
Quote:
niedziela, 5 czerwca 2022 o 13:45:14 UTC+2 heby napisał(a):
On 05/06/2022 11:11, Dawid Rutkowski wrote:
W Linuxie stronicowanie jest podstawą, z segmentacji używane jest niedużo - i tylko to, co dobre.
A co konkretnie jest dobre w segmentacji i używane?
Zdecydowanie łatwiej i szybciej sprawdzić, czy adres, z którego pobierane/zapisywane są dane, mieści się w granicach JEDNEGO segmentu (o danym adresie bazowym i długości), niż we wszystkich stronach.
I tego się uzywa?

W Linuxie na x86 tak - tak realizowana jest ochrona pamięci, zarówno kernel space / user space jak i separacja procesów.
Po prostu dlatego, że 386 to ma.

Ale 386 ma tez ochrone pamieci na poziomie pamieci stronicowania.

A na poziomie segmentow ... nie wymaga to jawnego poslugiwania sie
segmentami? A Linux chyba tego nie robi.

Quote:
386 ma o wiele więcej rejestrów niż 8086 - tyle że nie ogólnego przenaczenia, tylko specjalizowanych.
ARM nie ma, więc ochronę pamięci w Linuxie robi się inaczej.

I czy atrybuty segmentu pozwalają na przeprowadzenie danej operacji.
Zapewne rodzaj cache dla danych jednego segmentu danego typu (pewnie tego wskazywanego przez rejestry segmentowe) jest też w procesorze.
I tego się używa?

Samo się używa, jak to cache.
A atrybutów segmentu - oczywiście, do ochrony.
Np. żeby nie pozwolić wykonać danych.
Co i tak by mogło nie pójść z powodu cache, szczególnie w wieloprocesorowości.

A samą pamięć wirtualną robimy oczywiście na stronicowaniu, nie trzeba wywalać całych segmentów - lub kombinować z dzieleniem ich na kawałki.
I tego się używa?

Stronicowania chyba jednak na pewno tak. Znowu piłeś?

J.

Goto page Previous  1, 2, 3, 4, 5  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie materiały edukacyjne polecacie do projektowania płytek PCB pod układy SoC?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map
Nasz serwis wykorzystuje pliki cookies. Korzystanie z witryny oznacza zgodę na ich zapis lub odczyt zgodnie z ustawieniami przeglądarki. Informacja o ciasteczkach