Kalıcılık (bilgisayar bilimi) - Persistence (computer science)

İçinde bilgisayar Bilimi, sebat karakteristiğini ifade eder durum daha uzun süren (daha fazla devam eden) bir sistemin süreç onu yaratan. Bu, uygulamada durumu veri olarak depolayarak elde edilir. bilgisayar veri depolama. Programlar, verileri depolama cihazlarına ve cihazlarından aktarmalı ve yerelden eşlemeler sağlamalıdır. Programlama dili veri yapıları depolama cihazı veri yapılarına.[1]

Resim düzenleme programları veya kelime işlemcileri örneğin başarmak durum belgelerini kaydederek kalıcılık Dosyalar.

Ortogonal veya şeffaf kalıcılık

Kalıcılığın "dikey Bir programın yürütme ortamının kendine özgü bir özelliği olarak uygulandığında "veya" şeffaf ". Ortogonal bir kalıcılık ortamı, içinde çalışan programların bunları almak veya kaydetmek için herhangi bir özel eylemi gerektirmez. durum.

Ortogonal olmayan kalıcılık, verilerin bir programdaki belirli talimatlar kullanılarak depoya yazılmasını ve depodan okunmasını gerektirir; ısrar etmek geçişli bir fiil olarak: Tamamlandığında, program verileri devam ettirir.

Ortogonal kalıcılık ortamlarının avantajı, daha basit ve hataya daha az meyilli programlardır.[kaynak belirtilmeli ]

Benimseme

Ortogonal kalıcılık, işletim sistemlerinde yaygın olarak benimsenmiştir. kış uykusu ve platform sanallaştırma gibi sistemler VMware ve VirtualBox durum tasarrufu için.

Araştırma prototip dilleri, örneğin PS-algol, Napier88, Fibonacci ve pJama, programcılara avantajların yanı sıra kavramları başarıyla gösterdiler.

Kalıcılık teknikleri

Sistem görüntüleri

Kullanma sistem görüntüleri en basit kalıcılık stratejisidir. Not defteri kış uykusu makinede çalışan programların herhangi bir eylemini gerektirmediği için sistem görüntüsü kullanan ortogonal kalıcılığa bir örnektir. Bir sistem görüntüsünü kullanan ortogonal olmayan kalıcılığa bir örnek, bir belgenin tamamını bir dosyaya kaydetmek için belirli talimatları yürüten basit bir metin düzenleme programıdır.

Eksiklikler: Tüm sistem durumunu tutmak için yeterli RAM gerektirir. Son görüntüsü kaydedildikten sonra bir sistemde yapılan durum değişiklikleri, sistem arızası veya kapanma durumunda kaybolur. Her değişiklik için bir görüntünün kaydedilmesi çoğu sistem için çok zaman alır, bu nedenle görüntüler, kritik sistemler için tek kalıcılık tekniği olarak kullanılmaz.

Dergiler

Dergi kullanmak, ikinci en basit kalıcılık tekniğidir. Günlük tutma, olayların her biri bir sisteme uygulanmadan önce bir günlükte saklanması işlemidir. Bu tür günlüklere günlükler denir.

Başlangıçta günlük okunur ve her olay sisteme yeniden uygulanır, sistem arızası veya kapanması durumunda veri kaybı önlenir.

Bir resim düzenleme programındaki kullanıcı komutlarının tüm "Geri Al / Yinele" geçmişi, örneğin bir dosyaya yazıldığında, düzenlenmiş bir resmin durumunu herhangi bir zamanda kurtarabilen bir günlük oluşturur.

Dergiler tarafından kullanılan günlük kaydı dosya sistemleri, yaygın sistemler ve Veritabanı Yönetim Sistemleri burada "işlem günlükleri" veya "yineleme günlükleri" de denir.

Eksiklikler: Yalnızca günlükler kullanıldığında, tüm sistem olaylarının tüm (potansiyel olarak büyük) geçmişi her sistem başlangıcında yeniden uygulanmalıdır. Sonuç olarak, dergiler genellikle diğer kalıcı tekniklerle birleştirilir.

Kirli yazar

Bu teknik, yalnızca son yazılmalarından bu yana değiştirilen (kirli olan) sistem durumunun bölümlerinin depoya yazılmasıdır. Örneğin, gelişmiş belge düzenleme uygulamaları, bir belgenin yalnızca son kayıttan bu yana gerçekten değiştirilen bölümlerini kaydetmek için kirli yazmaları kullanır.

Eksiklikler: Bu teknik, durum değişikliklerinin bir program içinde kesilmesini gerektirir. Bu, belirli depolama-API çağrıları gerektirerek şeffaf olmayan bir şekilde veya otomatik olarak şeffaf bir şekilde elde edilir. program dönüşümü. Bu, yerel koddan daha yavaş ve hata ayıklaması daha karmaşık olan kodla sonuçlanır.

Kalıcılık katmanları

Hiç yazılım katmanı bu, bir programın durumunu sürdürmesini kolaylaştıran, genel olarak kalıcılık katmanı olarak adlandırılır. Kalıcılık katmanlarının çoğu kalıcılığa doğrudan ulaşamayacak, ancak temelini kullanacaktır. veritabanı Yönetim sistemi.

Sistem yaygınlığı

Sistem yaygınlığı, sınırlamalarının üstesinden gelmek için yukarıda bahsedilen sistem görüntülerini ve işlem günlüklerini birleştiren bir tekniktir.

Eksiklikler: Yaygın bir sistem yeterli Veri deposu tüm sistem durumunu tutmak için.

Veritabanı yönetim sistemleri (DBMS'ler)

DBMS'ler Yukarıda bahsedilen kirli yazılar ve işlem günlüğü oluşturma tekniklerinin bir kombinasyonunu kullanın. Sadece kalıcılık sağlamakla kalmaz, aynı zamanda sorgulama, denetim ve erişim kontrolü gibi diğer hizmetleri de sağlarlar.

Kalıcı işletim sistemleri

Kalıcı işletim sistemleri işletim sistemleri bir çökme veya beklenmedik kapanma sonrasında bile kalıcı olarak kalır. Bu yeteneği kullanan işletim sistemleri şunları içerir:

Ayrıca bakınız

Referanslar

  1. ^ Balzer, Stephanie (17 Kasım 2005). "Sözleşmeli Kalıcı Nesne Programlama" (PDF). Glasgow Üniversitesi - CS Okulu - Araştırma. ETH Zürih. Arşivlenen orijinal (PDF) 31 Aralık 2006. Alındı 21 Eylül 2015.