Sistem programlama - Systems programming

Sistem programlamaveya sistem programlama, programlama faaliyetidir[1] bilgisayar sistem yazılımı. Sistem programlamasının temel ayırt edici özelliği, uygulama programlama uygulama programlamasının kullanıcıya doğrudan hizmet sağlayan yazılım üretmeyi amaçlamasıdır (ör. kelime işlemci ), sistem programlama yazılım üretmeyi amaçlarken yazılım platformları diğer yazılımlara hizmet sağlayan, performansı kısıtlı olan veya her ikisi de (ör. işletim sistemleri, hesaplama bilimi uygulamalar, oyun motorları, endüstriyel Otomasyon, ve hizmet olarak yazılım uygulamalar).[1]

Sistem programlama, büyük ölçüde donanım bilinci gerektirir. Amacı, ya yazılımın kendisi performans açısından kritik olduğu için ya da küçük verimlilik iyileştirmeleri bile doğrudan önemli zaman veya para tasarruflarına dönüştüğü için mevcut kaynakların verimli kullanımını sağlamaktır.

Genel Bakış

Aşağıdaki özellikler, sistem programlamayı karakterize eder:

  • programcı Programın üzerinde çalıştığı sistemin donanımı ve diğer özellikleri hakkında varsayımlarda bulunabilir ve bu özelliklerden, örneğin bir algoritma belirli bir donanımla kullanıldığında verimli olduğu bilinmektedir.
  • Genellikle a düşük seviyeli programlama dili veya programlama dili lehçesi kullanılır, böylece:
  • Çoğu zaman sistem programları bir hata ayıklayıcı. Programı bir benzetilmiş ortam bazen bu sorunu azaltmak için kullanılabilir.

Sistem programlama, programcıların biri veya diğerinde uzmanlaşma eğiliminde olduğu uygulama programlamasından yeterince farklıdır.[kaynak belirtilmeli ]

Sistem programlamasında, genellikle sınırlı programlama olanakları mevcuttur. Kullanımı otomatik çöp toplama yaygın değil ve hata ayıklama bazen yapmak zordur. çalışma zamanı kitaplığı eğer mevcutsa, genellikle çok daha az güçlüdür ve daha az hata denetimi yapar. Bu sınırlamalar nedeniyle, izleme ve Kerestecilik sıklıkla kullanılır; işletim sistemleri son derece ayrıntılı günlük kaydı alt sistemleri olabilir.

İşletim sistemlerinde ve ağda belirli parçaların uygulanması, sistem programlamasını gerektirir, örneğin sayfalama (sanal bellek ) veya a aygıt sürücüsü bir işletim sistemi için.

Tarih

Başlangıçta sistem programcıları her zaman montaj dili. Donanım desteği ile deneyler yüksek seviyeli diller 1960'ların sonlarında şu dillere yol açtı: LÜTFEN, MUTLULUK, BCPL ve genişletilmiş Algol için Burroughs büyük sistemler. İleri ayrıca sistem dili olarak uygulamalara sahiptir. 1970 lerde, C her yerde, büyümesinin yardımıyla Unix Daha yakın zamanda bir alt kümesi C ++ aranan Gömülü C ++ bazı kullanımları gördü, örneğin I / O Kit sürücülerinde kullanılıyor Mac os işletim sistemi.[2]

Alternatif kullanım

Tarihsel nedenlerden dolayı, bazı kuruluşlar terimini kullanır sistem programcısı daha doğru bir şekilde adlandırılacak bir iş işlevini tanımlamak için sistem yöneticisi. Bu, özellikle bilgisayar kaynaklarının tarihsel olarak egemen olduğu kuruluşlarda geçerlidir. anabilgisayarlar Ancak bu terim, ana bilgisayarları içermeyen iş işlevlerini tanımlamak için bile kullanılmaktadır. Bu kullanım, IBM ana çerçeveleri genellikle özel yazımı içerir montajcı kodu (IBM'in Temel Montaj Dili (BAL)) ile entegre olan işletim sistemi gibi İşletim Sistemi / MVS, DOS / VSE veya VM / CMS. Gerçekten, bazıları IBM Yazılım ürünleri, müşteri programlama personelinin önemli kod katkılarına sahipti. Bu tür bir programlama giderek daha az yaygındır, ancak sistem programcısı hala IBM ana bilgisayarlarını doğrudan yöneten personel için fiili iş unvanıdır.

Ayrıca bakınız

Referanslar

  1. ^ a b "Panel: 2014 ve Sonrasında Sistem Programlama". Microsoft. Alındı 4 Aralık 2015.
  2. ^ Apple Inc (14 Ağustos 2009). "G / Ç Kiti Aygıt Sürücüsü Tasarım Yönergeleri". developer.apple.com. Apple Inc. Alındı 16 Eylül 2014.

daha fazla okuma