Movatterモバイル変換


[0]ホーム

URL:


İçeriğe atla
VikipediÖzgür Ansiklopedi
Ara

Soyutlama katmanı

Vikipedi, özgür ansiklopedi

Bilişim sistemlerinde, birsoyutlama katmanı veyasoyutlama seviyesi, bir alt sistemin çalışma ayrıntılarını gizlemenin bir yoludur. Soyutlama katmanlarını kullanan yazılım modellerine örnek olarak,ağ protokolü içinOSI modeli,OpenGL ve diğergrafik kütüphaneleri verilebilir. Bu katmanlar,kaygıların ayrılması ilkesine dayanarakbirlikte çalışabilirlik veplatform bağımsızlığı sağlar.

Bilgisayar biliminde soyutlama katmanı, herhangi bir belirli uygulamadan bağımsız olarak birkavramsal modelin veyaalgoritmanın genelleştirilmesidir. Bu genelleştirmeler, çeşitli uygulamalarda ortak olarak gözlemlenen benzerliklerin en iyi şekilde ifade edildiği modellerle ortaya çıkar. İyi tasarlanmış bir soyutlama katmanı, işe yarar bir kavramı veyatasarım desenini sadeleştirerek yeniden kullanılmasını kolaylaştırır. Alt seviyedeki öğeleri bir araya getirmek, ancak kullanıcıyı bu öğelerin karmaşıklığından izole ediyorsa bir soyutlama katmanı sayılır.[1]

Bir katman, diğerine bağımlıysa onun üzerinde kabul edilir. Her katman, üstündeki katmanlar olmadan var olabilir; ancak çalışması için altındaki katmanlara ihtiyaç duyar. Soyutlama katmanları genellikle hiyerarşik bir yapı oluşturacak şekilde düzenlenebilir. OSI modeli yedi soyutlama katmanından oluşur. Modelin her katmanı, sayısal iletişimin farklı bir yönünü kapsar ve böylece ilgili mühendislik çözümlerininkarmaşıklığını azaltır.

David Wheeler'a atfedilen ünlü bir söz, "Bilgisayar bilimindeki tüm sorunlar, bir başkadolaylılık seviyesi ile çözülebilir" şeklindedir.[2] Bu söz genellikle yanlış biçimde "soyutlama" ile değiştirilerek aktarılır.

Bilgisayar mimarisi

[değiştir |kaynağı değiştir]

Bilgisayar mimarisi kapsamında bir bilgisayar sistemi genellikle aşağıdaki soyutlama seviyeleriyle temsil edilir:

Programlanabilir mantık genellikle donanımın bir parçası olarak kabul edilirken, tanımları bazen bir cihazın yazılımı veyadonanım yazılımı (firmware) olarak da görülebilir. Donanım yazılımı yalnızca düşük seviyeli yazılımı içerebilir ancak bazen işletim sistemi ve uygulamalar dahil tüm yazılımları da kapsayabilir. Yazılım katmanları; donanım soyutlama katmanları, fiziksel ve mantıksal aygıt sürücüleri, dosya sistemleri gibi depolama birimleri, işletim sistemi çekirdeği, ara katman yazılımı, uygulamalar ve diğer bileşenlere ayrılabilir. Ayrıca,VHDL,makine dili,assembly dili gibi düşük seviyeli dillerden;derlenen dil,yorumlanan dil vebetik dili gibi dillere geçiş de bir soyutlama olarak değerlendirilebilir.[3]

Girdi ve çıktı

[değiştir |kaynağı değiştir]

Unix işletim sisteminde çoğu giriş ve çıkış işlemi, bir aygıttan okunan veya bir aygıta yazılan bayt akışları olarak değerlendirilir. Bu bayt akışı modeli;dosya,soket ve terminalG/Ç işlemlerinde cihazdan bağımsızlık sağlamak için kullanılır. Bir uygulama düzeyinde cihaza okuma/yazma yapmak için, program cihazı açmak üzere bir işlev çağırır. Bu cihaz, gerçek bir aygıt (örneğin bir terminal) ya da sanal bir cihaz (örneğin bir dosya veya ağ bağlantı noktası) olabilir. Aygıtın fiziksel özellikleri, işletim sistemi tarafından soyutlanarak programcının yalnızca bayt okuma ve yazma işlemleriyle ilgilenmesi sağlanır. İşletim sistemi ise bu soyutlamayı gerçek donanıma uygun işlemlere dönüştürür.

Grafikler

[değiştir |kaynağı değiştir]

Çoğu grafik kütüphanesi (örneğin OpenGL), bir grafik cihazı modelini soyutlama arayüzü olarak sağlar. Programcı tarafından verilen komutlar, kütüphane tarafından aygıtın ihtiyaç duyduğu özel komutlara çevrilir. Örneğin, birçizici (plotter) için gerekli komutlar ile birCRT monitör için gerekenler farklıdır. Ancak grafik kütüphaneleri bu farklılıkları soyutlayarak, genel olarak geçerli çizim komutları (örneğin çizgi, çokgen gibi ilkel şekiller sunar.

Ayrıca bakınız

[değiştir |kaynağı değiştir]

Kaynakça

[değiştir |kaynağı değiştir]
  1. ^Hohpe, Gregor (9 Mart 2012).Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler)). Addison-Wesley Professional.ISBN 978-0321200686. 
  2. ^Spinellis, Diomidis (2007)."Bölüm 17. Another Level of Indirection".Beautiful Code: Leading Programmers Explain How They Think. Sebastopol, CA: O'Reilly and Associates. ss. 279-291. 6 Mart 2024 tarihindekaynağından arşivlendi. 
  3. ^Tanenbaum, Andrew S. (1979).Structured Computer Organization.Englewood Cliffs, New Jersey: Prentice-Hall.ISBN 0-13-148521-0. 
"https://tr.wikipedia.org/w/index.php?title=Soyutlama_katmanı&oldid=35722658" sayfasından alınmıştır
Kategoriler:

[8]ページ先頭

©2009-2025 Movatter.jp