Soyutlama katmanı - Abstraction layer

Olarak işlem , bir ayırma katmanı ve soyutlama düzeyi , bir alt sistemin çalışma ayrıntılarını gizleme sağlayan bir yöntemdir endişeleri ayrılmasını kolaylaştırmak için çalışabilirlik ve platform bağımsızlığı . Soyutlama katmanlarını kullanan yazılım modellerinin örnekleri arasında ağ protokolleri için OSI modeli , OpenGL ve diğer grafik kitaplıkları yer alır .

Gelen bilgisayar bilimleri , bir soyutlama katmanı bir genellemedir kavramsal modelin veya algoritma uzakta herhangi bir spesifik uygulanmasından,. Bu genellemeler, çeşitli özel uygulamalarda bulunan benzerlikleri ifade eden modellerle en iyi şekilde özetlenen geniş benzerliklerden kaynaklanmaktadır. İyi bir soyutlama katmanı tarafından sağlanan basitleştirme , doğru bir şekilde uygulanabileceği durumların hızlı bir şekilde tanınabilmesi için kullanışlı bir konsept veya tasarım modelini damıtarak kolay yeniden kullanıma izin verir .

O takdirde bir katman birbiri üzerine kabul edilir bağlıdır üzerine. Her katman, üstündeki katmanlar olmadan var olabilir ve işlevini yerine getirmek için altındaki katmanlara ihtiyaç duyar. Sıklıkla soyutlama katmanları, soyutlama düzeyleri hiyerarşisinde oluşturulabilir. OSI modeli yedi soyutlama katmanından oluşur. Modelin her katmanı, dijital iletişim ihtiyaçlarının farklı bir bölümünü kapsüller ve ele alır, böylece ilgili mühendislik çözümlerinin karmaşıklığını azaltır.

Bir ünlü aforizma ait David Wheeler "bilgisayar bilimi tüm sorunlar dolaylama başka bir seviyeye çözülebilir" dir. Bu genellikle kasıtlı olarak yanlış alıntılanır ve "dolaylı" yerine "soyutlama" kullanılır. Ayrıca bazen Butler Lampson'a yanlış atfedilir . Kevlin Henney'in bunun doğal sonucu, "... çok fazla yöneltme katmanı sorunu dışında."

Bilgisayar Mimarisi

Bir bilgisayar mimarisinde , bir bilgisayar sistemi genellikle aşağıdaki gibi birkaç soyutlama seviyesinden oluşacak şekilde temsil edilir:

Programlanabilir mantık genellikle donanımın bir parçası olarak kabul edilirken, mantıksal tanımlar bazen bir cihazın yazılımının veya belleniminin bir parçası olarak da görülür. Bellenim yalnızca düşük seviyeli yazılımı içerebilir, ancak bir işletim sistemi ve uygulamalar dahil olmak üzere tüm yazılımları da içerebilir. Yazılım katmanları ayrıca donanım soyutlama katmanlarına, fiziksel ve mantıksal aygıt sürücülerine, dosya sistemleri, işletim sistemi çekirdekleri, ara katman yazılımları, uygulamalar ve diğerleri gibi havuzlara bölünebilir. Bir ayırım da benzeri düşük seviyeli programlama dilleri yapılabilir VHDL , makine diline , çevirici dili bir etmek derlenen dille , tercüman ve script dili .

Giriş ve çıkış

Unix işletim sisteminde, çoğu giriş ve çıkış işlemi, bir cihazdan okunan veya bir cihaza yazılan bayt akışları olarak kabul edilir. Bu bayt akışı modeli, aygıt bağımsızlığını sağlamak için dosya G / Ç, soket G / Ç ve terminal G / Ç için kullanılır. Uygulama düzeyinde bir cihazı okumak ve yazmak için, program, bir terminal gibi gerçek bir cihaz veya bir ağ portu gibi bir sanal cihaz veya bir dosya sistemindeki bir dosya olabilen cihazı açmak için bir işlev çağırır. . Aygıtın fiziksel özelliklerine işletim sistemi aracılık eder ve bu da programcının aygıttan / aygıttan baytları okuyup yazmasına izin veren soyut bir arayüz sunar. İşletim sistemi daha sonra bayt akışını cihaza okumak ve yazmak için gereken gerçek dönüşümü gerçekleştirir.

Grafikler

OpenGL gibi çoğu grafik kitaplığı, arayüz olarak soyut bir grafik cihaz modeli sağlar. Kütüphane, programcı tarafından sağlanan komutları, grafiksel öğeleri ve nesneleri çizmek için gereken belirli cihaz komutlarına çevirmekten sorumludur. Bir çiziciye yönelik belirli cihaz komutları, bir CRT monitörüne yönelik cihaz komutlarından farklıdır , ancak grafik kitaplığı , genellikle grafiksel nesnelerin çizilmesi için yararlı olan bir dizi temel öğe sağlayan soyut bir arayüz sağlayarak uygulamayı ve cihaza bağlı ayrıntıları gizler .

Ayrıca bakınız

Referanslar