Bilişim

Yazılım nedir?

Yazılım, bir bilgisayarın veya cihazın donanımına ne yapması gerektiğini söyleyen, fiziksel olarak dokunulamayan komut ve veri bütünüdür. Donanım (hardware) ekran, işlemci, klavye gibi elle tutulabilen fiziksel parçalarken; yazılım bu parçaları belirli bir sırayla ve mantıkla çalıştıran görünmez talimatlar kümesidir.

Bu ayrım, bilgisayar biliminin en temel kavramlarından biridir ve yazılımın "ne olduğunu" anlamanın başlangıç noktasıdır.

Donanım-yazılım farkı

Bir bilgisayarı bedene, yazılımı ise o bedeni yöneten zihne benzetmek yaygın bir açıklama biçimidir: beden (donanım) hareket etme kapasitesine sahiptir ama neyi ne zaman yapacağına zihin (yazılım) karar verir. Donanım değişmeden kalsa bile, üzerine yüklenen yazılım değiştiğinde aynı cihaz tamamen farklı bir işlevi yerine getirebilir.

Kaynak kod ve makine kodu kavramı

Bir yazılım, önce insanın okuyup yazabileceği bir programlama diliyle (kaynak kod) yazılır. Bu kaynak kod, işlemcinin doğrudan anlayabileceği ikili (0 ve 1) bir dile, makine koduna, dönüştürülür. Bu dönüştürme işlemini bir derleyici veya yorumlayıcı denen ayrı bir yazılım yapar.

Yazılımın fiziksel olmaması ne anlama gelir

Bir donanım parçası kırılabilir, aşınabilir veya fiziksel olarak taşınması gerekir; yazılım ise bir dosya olarak var olur, sınırsız sayıda kopyalanabilir ve internet üzerinden saniyeler içinde bir cihazdan diğerine aktarılabilir. Bu özellik, yazılımın güncellenmesini, dağıtımını ve yedeklenmesini donanıma göre çok daha esnek kılar.

Yazılım nasıl çalışır, basitleştirilmiş bakış

Bir yazılım çalıştırıldığında, işlemci o yazılımın makine koduna dönüştürülmüş talimatlarını sırayla okur ve uygular; bu talimatlar bellekte veri okuma/yazma, ekrana bir şey çizme veya bir ağ isteği gönderme gibi görevler olabilir. Kullanıcı bir düğmeye tıkladığında, aslında bu zincirin bir adımını tetiklemiş olur.

Yazılım güncellemesi neden var

Bir yazılım yayımlandıktan sonra bile içinde fark edilmeyen hatalar (bug) veya güvenlik açıkları bulunabilir; güncellemeler bu hataları düzeltir, yeni özellik ekler veya değişen donanım/işletim sistemi sürümleriyle uyumluluğu korur. Yazılımın fiziksel olmaması, bu düzeltmelerin cihaz elden çıkarılmadan, uzaktan dağıtılabilmesini mümkün kılar.

Lisanslı ve açık kaynak yazılım farkı

Lisanslı (ticari) yazılımda kaynak kod genellikle kapalıdır ve kullanım bir ücret veya sözleşme karşılığında sağlanır. Açık kaynak yazılımda ise kaynak kod herkese açıktır, incelenebilir ve değiştirilebilir. İki model de kurumsal ortamda bir arada kullanılır; seçim, ihtiyaca, bütçeye ve destek beklentisine göre yapılır.

Yazılımın türleri: sistem ve uygulama ayrımı

Yazılım, işlevine göre büyük ölçüde iki gruba ayrılır: donanımı yöneten sistem yazılımı ve kullanıcının doğrudan etkileşime girdiği uygulama yazılımı. Bu ayrımı ve her birinden somut örnekleri, "yazılım nedir 3 tane örnek" başlıklı yazımızda daha ayrıntılı ele alıyoruz.

Yazılımın boyutu neye göre değişir

Basit bir hesap makinesi uygulaması birkaç yüz satır kodla yazılabilirken, büyük bir işletim sistemi milyonlarca satır koddan oluşabilir. Yazılımın boyutu, yerine getirdiği işlevin karmaşıklığıyla doğru orantılıdır; büyük bir yazılım genellikle küçük, birbiriyle iletişim kuran parçalara bölünerek yönetilir.

Yazılım hatası (bug) ne anlama gelir

Bir yazılımın, yazıldığı sırada öngörülemeyen bir girdi veya durum karşısında beklenmedik davranması, yazılım hatası olarak adlandırılır. Bu hatalar donanımdan değil kodun mantığından kaynaklanır; bu yüzden çözümleri de fiziksel bir tamir değil, kodun düzeltilip yeniden dağıtılmasıdır.

Yazılımın ölçeklenebilirliği

Bir yazılım, ilk yazıldığında birkaç kullanıcı için tasarlanmış olsa da, sonradan binlerce kullanıcıya hizmet verecek şekilde genişletilebilir. Buna ölçeklenebilirlik denir. Bu, yazılımın fiziksel bir sınırı olmamasının doğal bir sonucudur; donanım tarafında ek sunucu kaynağı eklenerek bu büyüme desteklenir.

Yazılımın çalışması için donanım yeterliliği

Bir yazılım ne kadar iyi yazılmış olursa olsun, çalıştığı donanım yetersizse beklenen performansı vermez; bu yüzden bir yazılımın belirttiği minimum sistem gereksinimleri, yazılım-donanım ilişkisinin pratik bir göstergesidir.

Yazılımın taşınabilirliği (platform bağımsızlığı)

Bazı yazılımlar yalnızca tek bir işletim sisteminde çalışacak şekilde yazılırken, bazıları farklı işletim sistemlerinde de çalışabilecek şekilde tasarlanır; buna platform bağımsızlığı denir. Bu özellik, aynı yazılımın farklı donanım/işletim sistemi kombinasyonlarında yeniden yazılmadan kullanılabilmesini sağlar.

Yazılımın yaşam döngüsü

Bir yazılım; planlama, yazılma, test edilme, yayımlanma ve güncellenme aşamalarından oluşan bir yaşam döngüsüne sahiptir. Bu döngü, yazılımın fiziksel bir ürün gibi bir kere üretilip bitmediğini, aksine sürekli bakım gerektiren canlı bir sistem olduğunu gösterir.

Yazılımın maliyeti neyi kapsar

Bir yazılımın maliyeti yalnızca satın alma bedelini değil; kurulum, eğitim, bakım ve gerektiğinde özelleştirme maliyetlerini de kapsar. Ucuz görünen bir yazılım, bu ek maliyetler eklendiğinde toplamda daha pahalıya gelebilir.

Yazılımın belgelenmesi (dokümantasyon) neden önemlidir

Bir yazılımın nasıl kullanılacağını, hangi ayarların ne işe yaradığını anlatan dokümantasyon, yazılımın kendisi kadar değerli bir tamamlayıcı unsurdur; iyi belgelenmemiş bir yazılım, teknik olarak güçlü olsa bile kullanıcılar tarafından verimli kullanılamayabilir.

Yazılımın güvenliği kavramı

Bir yazılımın güvenliği, yalnızca doğru çalışması değil, kötü niyetli bir kullanımın (yetkisiz erişim, veri sızıntısı) da önlenmesi anlamına gelir; bu yüzden bir yazılım yazılırken işlevsellik kadar güvenlik de baştan tasarıma dahil edilmesi gereken bir konudur.

Techno Fusion'da: TF Bilişim, işletmelerin kullandığı lisanslı kurumsal yazılımların (Microsoft 365, Windows Server gibi) kurulumunu, yapılandırmasını ve güncel tutulmasını üstleniyor.

TF Bilişim hizmetlerini incele Bize ulaşın