Belleği programlı olarak nasıl çalıştırırım: çok sayıda parça

Son Güncelleme: 10/23/2025
  • Bellek verileri (önbellek, RAM, depolama ortamı) gecikmeleri, maliyetleri ve kalıcılığı belirler.
  • Bir süreç kodda yapılandırılır, tahmini veriler, yığınlar ve yığınlar, her biri yaşam döngüsünün bir parçası olarak.
  • En C, tamaños ve yönler için sizeof y & son esenciales; pil otomatiktir ve yığın manuel veya GC tarafından yapılır.
  • RAM çok hızlı ve değişkendir; Depolama ortamı kalıcıdır ve sanal bellek kapasitesi geniştir.

memoria en programacion

Programlanan bellek bir laboratuvara ayrılırsa, bu tek başına olmaz: tüm donanım, yığın, yığın ve veri bölümleri kolayca silinir. Bu metin, kod, veri ve dinamik yapıların düzenlenmesine kadar daha fazla temel (bit ve bayt) metin içerir, özellikle Windows'taki Tarla Yöneticisi'nde bulunan kullanıcı arayüzüne dikkat edin.

Giriş yapmadan önce, filmi tamamlamak için aşağıdakileri yapın: Bir programın belleği, fiziksel bellekte ve bir depolama ortamında (önbellekler, RAM, depolama ortamı) silinir, ve çalışma sistemi, işlem alanını çıkarılabilir kodlar, tahmini veriler, yığınlar ve yığınlar halinde bölgelere ayırır. Bu nedenle, bazı değişkenlerin "canlı" olması ve diğerlerinin program sona erene kadar beklemeye alınması en iyisidir.

Bit ve bayt sayısı: en az düzeyde aşılamaz

Yapılacaklar minimum birim olarak hesaplanır: tek başına 0 veya 1 değerine sahip olan bit; Bitler bayt halinde gruplandırılmıştır (modern uygulamalarda bayt olarak bitler), ve programın gerçek değeri veri tipine göre bir veya çeşitli baytları kaplar ve yorumlayacak derleyiciye benzer.

Çoğu zaman gözden kaçan bir ayrıntı: tüm platformlarda aynı olmayan türler. 32 bitlik mimariler 4 bayttan oluşur; 64 bitlik bir veri tabanı, 8 baytlık bir veri tabanına sahiptir, ancak normal olarak tam olarak derleyiciyi ve sistemi kullanan veri modeline bağlıdır.

Olumsuzlukları temsil etmek için, hakim olan uzlaşma, bunların tamamlayıcısıdır; Bu temsil, aritmetik işlemlerini basitleştirir ve işaretin özel bir durum olarak anlaşılmasını engellerÇok sayıda CPU ve derleyiciyi benimseyerek.

C'de program var, "bir ojo" yok: Platformda belirli bir tipte veya somut bir değişkende tamaño baytlarını öğrenmek için operatör boyutunu kullanın. Ayrıca, tam kesinlik gerektiren bir sistemdeki arabellekler, yapılar ve uygulamalardaki kırılganlıkları ortadan kaldırır.

C'de, operatör tek ve (ve işareti) bir değişkenin ilk baytının bellek yönünü gösterir; Bu cesaretle, bir kumarbaz hafızadaki verilerle gerçekten canlı bir "señalar" yapabilir, bunların bir kısmı bitişik işlevlere veya kayıt bloklarına referans verebilir.

Evet, işte size basit bir telaffuz fırsatı: “bayt”, “yem” olarak tanımlanır. Stil noktalarına rağmen istisnai bir durum yok.

Física and jerarquía: quié hay debajo del capó

Ekipmanınızın ana belleği (RAM), transistörler ve kondansatörler tarafından oluşturulan devrelerde bulunur; Her zaman bir parça depolanır ve devre veriyi aşmamak için periyodik olarak yükte yenilenir çok iyi beslenme. Bu dinamik DRAM (Dinamik RAM) tipidir.

Farklı hızlar ve maliyetlerle çeşitli bellek sınıfları mevcuttur: SRAM (hızlı, geçici, önbellek olarak kullanılır), DRAM (daha yoğun ve daha fazla veri, sistem RAM tabanı), VRAM (grafiklere ayrılmış), ROM (geçici değil), flash (geçici değil ve yeniden kaydedilebilir), sanal bellek ve depolama sınıfı belleği veya SCM Bu, RAM ve depolama ortamı arasındaki mesafeyi geleneksel olarak ayırmayı amaçlıyor.

RAM geçici ve anında parlıyor: CPU'nun "ya" gerektirdiği verilere hızlı erişim oranı, ekipmandan vazgeçildiğinde içeriğinin tükendiği bir maliyettir. Ayrıca, daha uzun süre kalıcı ve gigabayt boyutunda olan ikincil depolama ortamlarını (HDD, SSD, optik) barındırır.

Önbellek belleğinizi dosyaya aktarın: Bu, CPU ve RAM'de etkili olabilecek çok hızlı ve değişken bir bellektir.gecikmeleri azaltmak için anında veri ve kullanım talimatlarını toplayın. Bu durumda, bazı soğutma programları RAM'e erişme sabitlerini korur.

RAM'in sanal belleğe girilmesi durumunda: İşletim sistemi, daha fazla ana bellek için depolama ünitesinde boş alan ayırdı; Bu "yükseltme" çok daha uzundur, ancak bu işlemlerin RAM ve diskteki ara sayfalar arasında çalışmasına izin verir.

Aracılar yoluyla keşfedilen veri merkezleri dahil: Biraz gecikme ve kalıcılık sağlayan veri depolama sınıfı teknolojileri (SCM)ve RAM maliyetini azaltmak için veri ve analiz temelinde ders eleştirilerini hızlandırmak için sağlam durumdaki özel kabinlere entegre önbellek modülleri içeren ticari çözümler.

RAM'in kullanımı için (ve başka bir şey yapamazsınız)

RAM nedeniyle CPU, veriler ve talimatlar yoluyla diske aktarılabilir; Modern SSD'nin ardından, RAM'in gecikmesinde bir yıl geçti. Sunucu mobil aygıtlarının tümü, sistemin yanıt vermesi için RAM'e ihtiyaç duyar.

Bu "ama" uçucudur: Ekipmanı ve bazı eksikleri ortadan kaldırıyoruz. Aynı şekilde, bir dosya korunursa, tüm dosyalar RAM'de saklanır. Korumak için, kalıcı olarak saklanmadan önce yazılanlar var.

Ana bellek, birincil ve ikincil alma ortamı

Dilde, ayrılmayı kolaylaştıracak şekilde ara katlar vardır. Ana bellek, RAM (geçici) ve ROM'u (geçici değil) içerir ve doğrudan CPU'dan erişilebilir.. Bir menü, birkaç saniye içinde “ana hafıza” veya “anasil” olarak adlandırılır.

Ana hafıza

  • Acceso directo de la CPU dersler ve diğer hızlı yazılar için.
  • RAM geçici ve ROM geçici değil, ancak bir kağıtta var.
  • İşletim sisteminin ve uygulamaların anında çalışma alanı budur.

ana depolama

  • Ana belleği içeren paraguay gibi şeyler kullanın alt düzey veri depolama ortamlarının diğer yinelemeleri, işyerlerinde yapılacak çok şey var.
  • CPU ve depolama ortamı olarak kullanılabilir movilizar datos con fluidez.

ikincil depolama

  • Sabit diskler, SSD, optik birimler ve benzerleri, CPU tarafından doğrudan erişilebilen hiçbir şey yok.
  • Kalıcı ve büyük kapasiteli, Büyük bir alan ve güvenlik kopyaları için ideal, RAM hızının da feda edilmesi.

La norma práctica es clara: geçici olmayan bir depolama ortamında muhafaza edilmesi gerekenler için yapılacaklar; Ana hafıza sıcaklığıyla korunur, ancak tek başına dayanıklı değildir. Veri merkezlerinde, E/S ve IOPS yoğun yakıtlara hızlı yanıt vermek için optimize edilmiş ortam gruplarına başvurmak için "öncelikli alma" hizmeti mevcuttur.

Belleğinizi bir programla organize edin: Anahtar Bölgeler

Bir program başlatıldığında, sistem çalışma alanı yön alanını hazırlar ve mantıksal bölgelere ayırır. En alakalı konular: çıkarılabilir kod, tahmini veriler, pila (yığın) ve yığın. Hayatla ilgili bazı şeyler ve farklı kullanımlar var.

Kod hafızası: bu ikili dosyadır (derleyiciyi kaynak kodunun bir parçası olarak oluşturduğu için). Bu bölüm CPU'nun çalıştırılmasıyla ilgili talimatları içermektedir. Güvenli olması açısından tek başına ders olarak verilebilir ve yürütülebilir.

Memoria de datos estáticos: genel değişkenler ve istatistikler hakkında bilgi edinin. Programı ayarladıktan sonra rezerve edin ve finale kadar kalıcı olun, çünkü tüm süreç boyunca kullanılması gereken yapılandırmalar veya durumlar için ideal olanlardır.

Pila de llamadas (stack): başlangıçta bir işlevin çalıştığına göre, parametreler ve değişkenler yerel ayarlarıyla yeni bir bağlam (çerçeve) "apila" yapın. Kontrolü devrettiğinizde (geri döndüğünüzde), "boşaltın" ve alanınız otomatik olarak serbest kalsın.

yığın: Boşaltma sırasında dinamik hafızanın depolanacağı bölge burasıdır. Tamaño veya derlemeye uygun olmayan yapılar için Sirve (listeler, dosyalar, arşiv dosyaları arabellekleri, vb.). Bu (çalışma zamanı/GC) yaşamınızın gidişatını gösterir.

Bir uygulama işlemi: birçok uygulamada, yığını artırın ve ayrılan alandan "desde arriba"yı azaltın, yığının "desde abajo" olmasını sağlayın; sistem kararlılığı sınırları ve bu sınırlar içinde, ihtiyaçlara göre değişen alanlar.

Arama İşlemleri: Başlatma İşlevlerinin Gerçekleştirilmesi

Bu işlev, bir LIFO yapısı şeklindedir (en girişte, ilk girişte). Arama, dönüş yönleri, parametreler ve yerel ayarlarla ilgili bir çerçeve oluşturur, referans yerellerini doğrulamak için devam eden bir menü.

Selamlar(1), selamlar(2), selamlar(3), şu şekilde: Çerçeveler başarıyla oluşturuldu ve silindi. Bu otomatik mekanizma, işi basitleştiriyor: değişkenlerin yerel ayarlarını "özgürleştirmeye" gerek yok; işlevin iyi olmasını sağlar.

Şunlar gibi, uygulama sınırları: Derin bir özyineleme veya desbordarla'daki pildeki büyük dizi rezerviyığın taşmasına neden olur. Hacimli veya inanılmaz yapılar için yığın daha uygundur.

Yığın: talep edilen dinamik bellek

Bir arşivden veya konsoldan selamlar verildiğini ve hiçbir bilginin gelmediğini hayal edin. Yığın, boşaltma sırasında ortadaki blokları toplar ve disiplinle ilgili yaşam döngüsünün hareketleri (kullanılmadığında özgürdür).

C'de, tipik olarak rezerve edilmiş ve açık biçimlerde serbest bırakılmıştır; Basura hafızasıyla (GC) dillerde, çalışma zamanı hafızanın kurtarılmasına karar verir.. Her iki durumda da, bakımı zorlaştıran kaçaklardan ve mülkiyet kopyalarından kaçının.

On parça parça sunuldu: birden fazla rezervasyon ve tamaños özgürlükleri, "renkler" ile karşılaştırıldığında farklılık gösteriyor. Atananlar bu etkiyi azaltmak için modern uygulama stratejilerini kullanıyor, ancak uygulamanın kullanım patronu da çok önemli.

Yol tarifleri ve tamaños en C: & y sizeof como brújula

Platformunuzu incelemek istiyorsanız, çeşitli türlerin (karakter, int, uzun, punteros…) boyutunu belirleyecek özel bir program yazın. Her gün kaplanan bayt sayısını tam olarak ölçebilir ve yapıları ve protokolleri hassas bir şekilde tanımlayabilirsiniz..

Tüm yönlerde ve bir değişkende, birincil baytınızın yerelleştirmesini elde edin. Bunun bir parçası olarak, derleyicinin gösterge tipi bu bellek bloğunu, baytlar halinde ve doğrusal erişimlerle yorumlanacak şekilde gösterilir.

Relaciona esto con la pila: Yerel değişkenler hafızada art arda bir araya gelir, yerel ayarların kaydedilmesinin verimli olduğunu açıklamak için (yerel bilgileri ve işlemci önbelleklerini onaylayın).

Nesneler ve POO: Yaşam ve Yer Döngüsü

Nesnelere yönelik bir programda, bir nesneyi "canlandırmak", dile ve kullanım patronuna bağlıdır. C++, otomatik (bir yığın halinde) veya dinamik (yığın halinde) nesneler oluşturabilir.; Java veya C#'ta, tüm nesneler çalışma zamanı yığınında bulunur ve referansları vardır.

Bu ayrıntılar anlam açısından etkileyicidir: blokta bulunan nesneler ve yaratma/yıkma maliyeti çok yüksek; Yığın, yapılar ve modüller arasında en önemli şekilde karşılaştırılır ve ekstra bir kullanım çeşitliliği (manuel veya GC tarafından) sağlanır.

Windows 10'da neler var: Dosya ve bellek yöneticisi

Dosya yöneticisini açtığınızda, bir işlem hafızasının şifresi basit bir şekilde iş (çalışma seti) ile birleştirilir ve diğerleri toplu olarak tüketilir. Belleğin bir kısmı özeldir (yalnızca ABD'deki işlemlerde) ve diğer kısımlarda (sistem modülleri, kitaplıklar).

Además, Windows "uzlaşma" (taahhüt) manejisi yapıyor, bu da Sistemin RAM veya sayfa dosyasındaki rezervleri yeniden doldurma sözü. Böylece, RAM'de ve sayfalarda yer alan daha fazla bellek "uzlaşılabilir".

Con esa traducción mental, "pila" ve "yığın" lamaları birbirinden ayrı olarak görülmez; bu durumda, küresel olarak atanan sayfalarda, şirketlerde ve sakinlerde. Tanılama amacıyla, yığınları, yığınları ve bölümleri ayıran yinelemeler veya temizleyiciler Monitörü gibi analizleri kullanın.

Bellekle İlgili Olmayan Uygulamalar

Primero, mide y verifica: asumas tamaños yok; Bir miktar tüketime hazır olun ve gerçekleri kaydedin. Bir süre sonra, hafızaya bir miktar değer atayın: küçük ve küçük eşyalar için pila; Genişletilmiş yaşam koleksiyonları ve yapıları için yığınla.

Evita'nın sorumlulukları: Serbest bırakılan bir işlev rezervi varsa veya açıklanacak belge "gerekli" ise. C ve C++'da, sahiplik sözleşmesi, kaçak medya çözümüdür ve özgürlüğü ikiye katlar.

Piensa en la jerarquía: önbelleklerde doğrusal ve tahmin edilebilir bir biçime erişin ve böylece veri aktarımını gerçekleştirin. Oyun içi CPU için ekstra gereksinimler varsa yapıları (SoA ve AoS) yeniden düzenleyin.

Y recuerda las limitaciones: RAM hızlıdır, ancak sınırlıdır ve geçicidir. Bunu yaptığınızda ısrar edin (güvenlik öncesi koruma sağlayın) ve onayladığınız takdirde sanal bellek mekanizmalarını, haritaları ve SCM'yi göz önünde bulundurun.

Son olarak, "otomatik değerlendirme" pedagojisini göz ardı etmeyin: Plantearte Preguntas Sencillas, Qué Zone Aloja Cada Data'da, işgal edildiğinde ve serbest bırakıldığında ancak üretime geçmeden önce tüm bunlar iptal edildi.

Parçalar (bitler ve baytlar, bellek dosyaları ve işlem bölgeleri) açıksa, Bu büyünün ne kadar iyi olduğu ve bunu sağlayıp sağlamadığı konusunda anlaşılır bir patron olduğu ortaya çıktı..

İlgili Mesajlar: