Sistem Yazılımları Nelerdir? Sistem Yazılım Örnekleri Hangileridir?

Dec 13, 20207 dakika

Okumadan Önce: Bu makaleyi daha iyi anlayabilmek için biraz bilgisayar kavramlarına aşina olmak gerekiyor. Kritik olan bazı bilgiler için okuma linkleri verdim. Sistem yazılımları nedir? Sistem yazılımları hangileridir? Sistem yazılımları kaç ayrılır gibi soruları cevaplayabilmek için gerekli olan bu içeriklerin okunmasını tavsiye ediyorum.



Sistem yazılımı, bilgisayar bileşenlerini ve uygulama yazılımlarını çalıştıran bilgisayarlarımızdaki işletim sistemlerini oluşturan programlar ve dosyalar kümesinden oluşan bir yazılım tipidir. Bilgisayar donanımlarını ve donanımların operasyonlarını yönetmek ve kontrol etmek, uygulama yazılımlarını çalıştırmak vb. farklı görevlerden sorumludur. Hafıza ve işlem yönetimi, güvenlik vs. sistem kaynaklarının yönetilmesini sağlamak için tasarlanırlar.



Sistem yazılımlarını hacimli tek bir yazılım olarak düşünmemek gerekir. Sistem dosyaları, fonksiyon kütüphaneleri, sistem servisleri, aygıtlar için driverlar, sistem tercihleri ve diğer yönetim araçlarını içeren kapsamlı ve büyük bir yazılımdır. Her sistem yazılımında alt programları içeren üst bir yazılım katmanı bulunması gerekmez ancak çoğu sistem yazılımı bu kabiliyettedir. Sistem yazılımlarında disk birleştirici, sistem kurtarıcı, hata ayıklayıcı(debugger) veya derleyici gibi farklı görevleri olan alt yazılımlar bulunur.





Bilgisayarlardaki yazılımları katmanlı bir yapı olarak ele alırsak, kullanıcıların direkt iletişime geçtiği uygulama yazılımları ve bilgisayarın donanımsal parçalarında yüklü olan donanım yazılımları arasındaki köprü görevini yerine getirir. Sistem yazılımları ve uygulama yazılımları bilgisayarda bulunan farklı iki yazılım tipidir. Tarayıcılar, email clientlar, excel vb gibi uygulama yazılımları arayüzleri vasıtasıyla kullanıcı ile iletişime geçerken, sistem yazılımları ise makine kodları aracılığıyla bilgisayar donanımları ile iletişim halindedir. Sistem yazılımları ile kullanıcı direkt olarak iletişime geçmiyor olsa bile kullanıcılar farkında olmadan başka yazılımlar aracılığıyla sistem yazılımlarının servislerini bilgisayardaki her iş için kullanırlar. Eğer kullanıcı yazılımcı değilse bu yazılımlara müdahale etmek zordur. Örneğin, bylge.com 'a gelmek için kullanmış olduğunuz tarayıcının çalışması için gerekli assembler sizin kontrol edebileceğiniz bir yazılım çeşidi değildir.





1. Sistem Yazılımın Bileşenleri



Sistem yazılımları aşağıdaki elemanlardan oluşur:



Aygıt Sürücüsü: Bilgisayar donanımları aygıt sürücüsü yardımıyla yüksek programlama diller ile oluşturulmuş yazılımlarla iletişim kurar. Aygıt sürücüleri, kullanıcının uygulama yazılımlarıyla bilgisayar donanımları arasında tercüman işlevini yerine getirerek genel anlamda yazılımı kolaylaştırır.



İşletim Sistemi: Bilgisayar donanımlarını kontrol eder. İşletim sistemleri, diğer programlardan ve verilerden meydana gelir. Buna ek olarak, işletim sistemleri uygulama yazılımları ile iletişim kurabilmemiz için bize servisler temin eder.



Server: Bilgisayarın ağ bağlantı sistemini dinleyen bir soket gibi çalışan programdır. Server bilgisayarı, diğer bilgisayarları kendine bağlayan bir bilgisayarlar serisidir. Ağ boyunca özel ve genel kullanıcılara gerekli olan servisleri düzenler.



Yardımcı Yazılımlar: Bilgisayar donanımlarını ve uygulama yazılımları üzerindeki belirli küçük görevleri yerine getiren bağımsız boyut olarak nispeten daha küçük sistem yazılım elemanıdır.





2. Sistem Yazılımlarının Tipleri



Sistem yazılımları başlığı geniş bir konudur. Sistem yazılım tanımlaması çok farklı tipte ve özellikle yazılım tiplerini içerir. Günümüzde, sistem yazılımları beş farklı başlık altında sınıflandırılır.



1. İşletim Sistemi

İşletim sistemi bilgisayar sisteminin merkezidir. İnsanda kalp hangi görevi yerine getiriyorsa, işletim sistemi de bilgisayar aynı görevi yerine getirir. Bilgisayar sisteminin sorunsuz çalışması bilgisayar OS(Operating System) mutlaka yüklü olmak zorundadır. Bilgisayardaki fare, klavye, CPU ve monitor gibi farklı donanımların güç düğmesiyle çalışmasını sağlar ve işletim sistemi olmadan bu donanımlar çalıştırılamaz.



Aşağıdaki kritik görevleri yerine getirmesinden dolayı her bilgisayarda yüklü olmalıdır:



  • Görevlerin kaynak bölüşümünü yapar.
  • Kullanıcı tarafından verilen işlemlerin yerine anlık olarak getirilmesi için bütün sistem donanımlarını hazır halde tutar.
  • Kullanıcıların uygulama yazılımına ulaşmasını ve kullanmasını sağlar.
  • Görevleri önceliklerine göre terminler.
  • Bilgisayar düzensiz kullanılmasının önüne geçer.
  • Farklı cihazlar arasındaki koordinasyonu ayarlar.
  • Yazılımın kullanımı sırasında oluşacak hatalardan korur.
  • Bilgisayarın, ağa erişimini sağlar.
  • Donanımlardaki kaynakları yönetir.
  • Bilgisayara giren ve çıkan aygıtları kontrol eder.
  • Cihazları algılar, yükler ve sorunlarını giderir.



Örnekleri: İşletim sisteminin ilk örneği Komut Satırı(CLI) ile çalıştırılan MS-DOS'dur. Microsoft tarafından geliştirilen Windows ile birlikte Grafiksel Kullanıcı Arayüzü ile birlikte kullanılmaya başlanmıştır. İşletim sistemleri günümüzde gelişmeye ve değişmeye devam ediyor.



2. Programlama Dili Çeviricileri

Programlama dil çeviricileri yüksek ve orta yazılım dillerini makinelerin kendi anlayabilecekleri makine kodlarına çevirir. Yüksek yazılımı kullanıcının bilgisayar ile iletişim kurmasını sağlayan dillerdir. Java, C, C++, PHP, PHP ve JS hepsi yüksek yazılım dillerinin örnekleridir. Makine kodları sadece işlemci tarafından anlaşılabilir, normal bir insanın anlaması çok zordur.



Compiler, Interpreter ve assembler bilgisayar sistemindeki en bilinen programlama dili çeviricileridir. Bilgisayar tedarikçileri tarafından tasarlanırlar. Çeviriciler, asıl işleri olan makine kodlarını bir anda çevirebilecekleri gibi satır satırda işleyebilirler.



Çeviricilerin görevleri aşağıdaki gibidir:

  • Kod kuralları takip edilmediği zaman, raporlar sunar.
  • Programı detaylandırır ve kodların listesini tutar.
  • Söz dizimi hatalarını derleme sırasında tespit ederek gerekli değişikliklerin yapılmasını sağlar.
  • Verilerin depolanmasını tahsis eder.



3. Aygıt Sürücüleri

Aygıt sürücüleri, cihazlarımızın sorunsuzca çalışmasını sağlayan bir sistem yazılım tipidir. Bu tip yazılımlar, işletim sistemini tarafından kendilerine verilen görevleri bileşenler vasıtasıyla yerine getirir.



Aygıt Sürücüsü gerektiren cihazlardan bazıları şunlardır:



  • Fare
  • Klavye
  • Touch Pad
  • Yazıcı
  • Ekran Kartı
  • Ağ Kartı
  • Ses
  • Fonksiyon Tuşları(Ekranı açma kapama, bilgisayar güç düğmesi vb.)



Fare, klavye ve touchpad gibi araçların bazılarının sürücüleri standart olarak bilgisayarda yüklüdür. Sonrada bilgisayar sistemine dahil edilen Yazıcı, Router gibi araçların kullanılabilmesi için işletim sistemine sürücüler yardımıyla tanıtılması gerekir. İnternetten, üreticilerin sitelerinden veya daha farklı kaynaklardan elde edilerek elle yüklenebilir.



4. Donanım Yazılımları

Donanım yazılımları, işletim sistemi tarafından hızlı bir şekilde tanınmak için ROM; EPROM, EEPROM gibi bellek yongalarına gömülen operasyonel yazılımlardır. Bir donanımın bütün aktivitelerini direkt olarak yönetir ve kontrol eder. Geleneksel olarak uçucu olmayan belleklere yüklenir. Yeni programlanabilir çiplere istersek yeni sürümlerini güncelleyebiliriz. Bu günlerde donanım yazılımları, yazılım güncelleme esnasında mikroçip değişimi gerektirmeyen flash belleklere yüklenir. İki tip çip vardır, BIOS(Basic Input/Output System - ) çipi ve UEFI (Unified Extended Firmware Interface) çipi. Üretici, donanım yazılımını ana karta yükler, bu şekilde farklı tipteki mikroçipler tarafından kullanılmasını sağlar.



Anakart donanım yazılımı, bilgisayar başlatıldığı zaman bütün donanım yazılımlarının uyandırarak bilgisayarın operasyon görevlerini yerine getirmesini sağlar. Ana kart donanım yazılım ilk olarak bütün bileşenlerini aktif olup olmadığını kontrol eder, eğer herhangi bir sorun görmezse daha sonra işletim sistemini çağıracak olan boot-loader'ı yükler. Eğer RAM'de herhangi bir sıkıntı ile karşılaşırsa, BIOS işletim sisteminin tekrar açılmasını engeller.



Donanım yazılımları ile aygıt sürücüleri kimi zaman birbiriyle karıştırılır. Donanım yazılımları cihazların kendilerine yüklenir, aygıt sürücüleri ise işletim sistemine yüklenir. Aygıt sürücüleri, işletim sistemi ile cihaz arasındaki iletişime yönetirken, donanım yazılımları cihazın kendi işlevlerini yerine getirir. Her cihazın donanım yazılımı bulunmak zorunda değil, sadece kompleks işlevleri yerine getiren cihazlar donanım yazılımına sahiptir.



5. Yardımcı Yazılımlar

Yardımcı yazılımlar, uygulama yazılımları ve sistem yazılımları arasında arayüz gibi davranın sistem yazılımının bir çeşitidir. Bu tip yazılımlar, bilgisayarın bakımını ve hataların tespit edilmesi gibi özellikli amaçlar için tasarlanırlar. Bu üçüncü parti araçlar, çoğunlukla işletim sistemi ile birlikte gelirler.



Yardımcı yazılımların özellikleri aşağıdaki gibidir;



  • Güvenlik duvarı var ise dışarıdan bilgisayara gelebilecek tehditlere karşı korur.
  • Donanımların performans, onarım ve denetleme gibi işlemlerin tanıları koyabilmesi için gerekli olan servisleri sunar.
  • Disk kapasitesinin optimizasyonu için dosyaları sıkıştırabilir.
  • Windows Disk Yönetimi gibi servislerle diskin bölümlendirebilir.
  • Kaybolan verilerin kurtarılmasında yardımcı olur.
  • Cobion ve Clonezilla gibi yazılımlar aracılığıyla sistemin veri güvenliğini sağlar.
  • Antivirüs ve güvenlik yazılımlarının çalıştırarak dosyaları ve uygulamaları korur.





3. Sistem Yazılımının Özellikleri



Makaleyi sistem yazılımlarının genel özellikleri ile bitirmek istiyorum;

  • Sistem yazılımı programsal hiyerarşi bakımından bilgisayar donanıma en yakın olanıdır.
  • Makine kodu veya assembly gibi alt seviye programlama dilleri ile yazılır.
  • Sistem yazılımları uygulama yazılımlarına kıyasla tasarlanması ve anlaşılması daha zordur.
  • Hızlı çalışmasa bu yazılım tipinin birincil önceliğidir.
  • İnteraktif kısmı çok azdır.
  • Boyut olarak küçüktür.
  • Manipüle edilmesi zordur.
  • Sistem yazılımı, gücün açıldığı zaman başlar, güç kapatıldığı zaman kapanır.
  • Sistem yazılımı, genel amaç programlar alt grubundadır. Paket yazılımı veya özelleştirilmiş yazılımları sınıfında yer alır.
  • Bağımsız olarak çalışma yeteneğine sahiptir.
  • Kullanıcı sistem yazılımıyla asla iletişime geçmez, arka tarafta kendisi çalışır.
  • Sistemin efektif çalışması için önemlidir.





Sistem yazılımları konusu aslında daha fazla işlenebilecek ve detaylandırabilecek bir konu ama içeriği burada bitirmek istiyorum. İçeriğe katkıda bulunmak isteyen arkadaşlar aşağıya yorum yazarlarsa yazıda eklemeler yapabiliriz.





Küçük bir destek binlerce beğeniden daha değerlidir
https://bylge-images.s3.amazonaws.com/wheat-3241114_1920.jpg
Ali Söylemez

Endüstri Mühendisi, Yazılımcı - Bylge.com Kurucusu

Bylge Icon
Bylge Icon