• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak działa pamięć ram?

Object Storage Arubacloud
0 głosów
1,974 wizyt
pytanie zadane 24 czerwca 2015 w Offtop przez jegor377 Stary wyjadacz (13,230 p.)
Witam! Mam pytanie, otóż jak działa pamięć ram tak naprawdę? Nie chodzi mi o budowę kompa ani nic takiego. Chodzi mi o to jak układana jest pamięć np. procesów, czy następny program, który ma zostać utworzony rezerwuje sobie jakąś przestrzeń w pamięci tylko dla niego. Jak ta pamięć procesów jest układana? To działa jak maszyna wirtualna? Jak to działa?

3 odpowiedzi

+5 głosów
odpowiedź 24 czerwca 2015 przez hit02 Nałogowiec (33,970 p.)
wybrane 24 czerwca 2015 przez jegor377
 
Najlepsza
Sam ram działa w ten sposób, że procesor podaje adres komórki, a ram zwraca wartość z pod tego adresu. Dużo ciekawsze są elementy, które są w procesorze.

Procesor posługuje się takim czymś, jak deskryptory. Są to strukturki, które opisują różne właściwości pamięci. Procesor z nich korzysta, aby określić, czy rzucić wyjątkiem, do jakiego adresu się odwołać itp.

Sama pamięć wirtualna działała bodajże dzięki tablicy stron (ang. page table), ale to warto by sprawdzić, bo nie pamiętam dokładnie. Na internecie znajdziesz dużo info na ten temat, a jak szukasz czegoś dokładniejszego, to polecam Trzeci Tom Dokumentacji Intela.
komentarz 24 czerwca 2015 przez Buby Pasjonat (19,590 p.)

Kurczę, jak widzę, że hit02 odpowiedział, to choćby temat był mało interesujący, to wchodzę i pochłaniam każdy post z ciekawością! Naprawdę miło uzyskiwać w taki przystępny sposób informacje o niskopoziomowych operacjach w komputerze. Jedyne co mi pozostaje powiedzieć, to gratuluję wiedzy! Gdybym mógł, to dodałbym Twój profil do ulubionych, żeby śledzić wszystkie Twoje posty cheeky

Tak mimochodem możnaby zaproponować taką funkcjonalność na forum.

komentarz 24 czerwca 2015 przez hit02 Nałogowiec (33,970 p.)

Dzięki. blush Szczeże mówiąc, to moja wiedza opiera się głównie na Wikipedii (nie rzetelne, ale wystarczające, aby mieć ogólny pogląd), dokumentacji Intela i kilku kanałach na YT. Co do ulubionych, to jest coś takiego jak wejdziesz na konto (gwiazdka), ale nie wiem, czy to jest to, bo nie miałem okazji tego wykorzystać.

komentarz 24 czerwca 2015 przez arek01996 Stary wyjadacz (12,100 p.)
Pochwal się tymi kanałami na yt!
komentarz 24 czerwca 2015 przez hit02 Nałogowiec (33,970 p.)

No dobra, niech będzie.

https://www.youtube.com/user/GynvaelColdwind/videos

https://www.youtube.com/user/CERTPolska/videos

https://www.youtube.com/user/uwteamorg/videos

Ten ostatni, to bardziej web, ale moim zdaniem jest wartościowy. Polecam też szukać randomowo, bo czasem się znajdzie coś naprawdę fajnego.

komentarz 26 czerwca 2015 przez jegor377 Stary wyjadacz (13,230 p.)
no ok, ale ja nie rozumiem... ostatnio miałem taki mały problem, bo w moim programie w cpp mogłem odczytać komórkę, która nie należy do programu i okazało się, że po prostu odczytałem to bo tam były jakieś śmieci po dawnych programach. Zapytałem się więc kogoś czemu kiedyś wywalało, a teraz nie i wyszło, że musiał po prostu jakiś program kożystać z tych danych, ale przecież CHYBA każdy program deklaruje swój własny rozmiar do wykorzystania pamięci (32 bit chyba 4gb, a 64 bit chyba 8gb). Przynajmniej do takich wniosków doszedłem robiąc prosty eksperyment. Zrobiłem jeden program, który wyświetlał adres jakiejś tam jego zmiennej, następnie wpisałem ten adres do jakiejś przykładowej zmiennej w innym programie i chciałem wyświetlić co tam się pod nim znajduje i okazało się, że program 2 odczytał wartość o tym adresie, ale z wsłasnego programu. Oczywiście wiem, że tam jest ten cały stos itp... ale nie rozumiem jak to działa... W końcu programy mogą sobie bezpośrednio kożystać z pamięci wszystkie na jednym stosie, czy każdy ma własny, czy jak to jest? xD
komentarz 26 czerwca 2015 przez hit02 Nałogowiec (33,970 p.)
Od hermetyzacji pamięci procesów jest właśnie pamięć wirtualna. Do pamięci innych procesów nie możesz się dostać nie używając API systemowego, bo procesor na to nie pozwoli. Oczywiście mówię o typowej konfiguracji pamięci znanej na przykład z Windows'a od XP w górę.

 Z tego, co kojażę, cała pamięć otrzymana od OS jest wyzerowana, więc prawdopodobnie komórka, którą mogłeś odczytać należała do którejś z biblioteczek lub struktur systemowych ładowanych w pamięć procesu.

Pamięć innego procesu możesz odczytać (na Windows) funkcją  ReadProcessMemory(), a zapisać WriteProcessMemory().
komentarz 26 czerwca 2015 przez jegor377 Stary wyjadacz (13,230 p.)
aha, czyli zapisałem dane, do jakiejś wartości zmiennej jakiejś biblioteki na stosie? xD Biedna biblioteka... xD Czyli jeżeli nie ma tam danych to wtedy wywala! Dzięki gosciu! Dzięki tobie wreszcie rozumiem! xD zapomniałem, że w pamięci siedzą jeszcze libki xD
+1 głos
odpowiedź 24 czerwca 2015 przez Czort Nałogowiec (32,500 p.)
Jeśli naprawdę Cię to interesuje tu jest dobrze opisane przystępnym językiem:

http://computer.howstuffworks.com/ram.htm
0 głosów
odpowiedź 24 czerwca 2015 przez artimal Gaduła (4,800 p.)
Naucz się wskaźników w c++. To pomaga zrozumieć jak działa RAM :)
komentarz 24 czerwca 2015 przez jegor377 Stary wyjadacz (13,230 p.)
Znam perfekcyjnie wskazniki, referencje i jedyne co mi to dalo, to doglebne zrozumienie tablic i adresowania ich pamieci. Adres zmiennej w tablicy = [adres pierwszego elementu tablicy*numer komorki*rozmiar zmiennej w bajtach].

Podobne pytania

+1 głos
7 odpowiedzi 6,258 wizyt
pytanie zadane 9 lipca 2015 w Offtop przez Rayden Użytkownik (610 p.)
0 głosów
0 odpowiedzi 176 wizyt
pytanie zadane 9 października 2022 w Inne języki przez MayDay Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 333 wizyt
pytanie zadane 16 lutego 2018 w Urządzenia mobilne przez Programista 22 Bywalec (2,270 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...