İçeriğe atla

Yazılım

Kullanıcının tipik bir kişisel bilgisayarda uygulama yazılımlarıyla nasıl etkileşime geçtiğini gösteren bir diyagram.

Yazılım,[1] değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır.[2]

Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle, var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı anlatımlar bütünüdür. Yazılım için çeşitli diller mevcuttur. Bunlardan bazıları Pascal, C++ ve Java'dır.

Bilgisayar yazılım türleri

Bilgisayar yazılımları genel olarak üç ana grupta incelenebilir.

Sistem yazılımları

Bilgisayarın kendisinin işletilmesini sağlayan, işletim sistemi, derleyiciler (compilers) (Yazılım programında, yazılan programı makine diline çeviren program), çeşitli donatılar (facility) gibi yazılımlardır.

Çekirdek(kernel) işletim sisteminin en temel parçasıdır. Burada çekirdek ile ilgili farklı yaklaşımlar olduğunu yani yazılım karar verme ve Programlama paradigması mevcut olsa da bir işletim sistemi çekirdeğinin esas görevi Bilgisayar Donanımı ile kullanıcıya ve kullanıcıya yazılım veya donanım üreten üreticilere Arayüz oluşturmak ve kaynakların yönetilmesi ile ilgili birimleri idare etmektir.

Uygulama yazılımları

LibreOffice Writer

Bu kullanıcıların işlerine çözüm sağlayan örneğin çek, senet, stok kontrol, bordro, kütüphane kayıtlarını tutan programlar, bankalardaki müşterilerin para hesaplarını tutan programlar gibi yazılımlardır.

Bütün sistem programları içinde en temel yazılım işletim sistemidir ki, bilgisayarın bütün donanım ve yazılım kaynaklarını kontrol ettiği gibi, kullanıcılara ait uygulama yazılımlarının da çalıştırılmalarını ve denetlenmelerini sağlar.

Çevirici yazılımlar

Herhangi bir dilde yazılan programı makine diline çeviren yazılımlardır.

Yazılım çeşitleri

Sistem yazılımları

Sistem yazılımları bilgisayar kullanımı için gerekli ana fonksiyonları sağlar ve bilgisayar donanımına ve sistemin yürütülmesine yardımcı olur. Şu kombinasyonları içerir:

  • Aygıt sürücüleri
  • İşletim sistemleri
  • Sunucular
  • Hizmet programları
  • Pencere sistemleri

Sistem yazılımı çeşitli bağımsız donanım bileşenlerinin uyum içinde çalışmalarından sorumludur.

Sistem yazılımı bilgisayar donanımının işletilmesi ve uygulama yazılımının çalıştırılması için bir platform sağlamak için tasarlanmış bir bilgisayar yazılımıdır.

En temel sistem yazılımı türleri şunlardır:

  • Bilgisayar BIOS’u ve aygıt yazılımı: Bilgisayara bağlı veya bilgisayar içindeki donanımı çalıştırmak ve kontrol etmek için gereken temel işlevselliği sağlar.
  • İşletim sistemi (önde gelen örnekler; Microsoft Windows, Mac OS X ve Linux olmak üzere): Bilgisayar parçalarının; hafıza ile diskler arasında veri alışverişi veya monitöre görüntü sağlamak gibi görevleri uygulayarak birlikte çalışmasına olanak sağlar. Ayrıca üst düzey sistem yazılımı ve uygulama yazılımlarının çalıştırılması için bir platform oluşturur.
  • Yardımcı yazılım: Bilgisayarın analiz edilmesine, yapılandırılmasına, yönetilmesine ve optimize edilmesine yardımcı olur.

Ayrıca sistem yazılımı terimi, bazı yayınlarda yazılım geliştirme araçlarını tanımlamak için de kullanılır. Bilgisayar alıcıları nadiren sahip olduğu işletim sistemini öncelikli olarak dikkate alarak bir bilgisayar alırlar. Fakat cep telefonu gibi aygıtları satın alan kişiler için bu durumun tersi geçerli olabilir. Çünkü iPhone örneğinde olduğu gibi bu tür aygıtların sistem yazılımlarının, son kullanıcı tarafından değiştirilmesi oldukça zordur. Ayrıca sistem yazılımı genellikle dahili ya da önceden yüklenmiş şekilde, yararlı ve hatta gerekli bir altyapı kodu olarak görev yapar. Sistem yazılımının dışında, kullanıcıların dokümanlar oluşturmasına, oyun oynamasına, müzik dinlemesine ya da İnternet'te gezinmesine olanak sağlayan yazılımlara uygulama yazılımı denir.

Kaynakça

  1. ^ TDK Bilişim Sözlüğü'ndeki tanımı: Bir bilgisayarda donanıma hayat veren ve bilgi işlemde kullanılan programlar, yordamlar, programlama dilleri ve belgelemelerin tümü.
  2. ^ 14:00-17:00. "ISO/IEC 2382:2015". ISO (İngilizce). 24 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Mayıs 2024. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">İşletim sistemi</span> bilgisayar donanım kaynaklarını yöneten yazılım

İşletim sistemi ya da işletim dizgesi, bir bilgisayarın donanım kaynaklarını yöneten ve uygulama yazılımlarına hizmet sağlayan yazılımların bir bütünüdür. İşletim sistemleri, bilgisayarın donanımı ile uygulama yazılımları arasında bir köprü görevi görerek kullanıcıların sistemle etkileşim kurmasını sağlar. Öne çıkan örnekler arasında Microsoft Windows, macOS, GNU/Linux dağıtımları, Android ve iOS yer alır.

<span class="mw-page-title-main">Unix</span>

UNIX türevi işletim sistemleri çok işlemcili çok pahalı makinelerden tek işlemcili, basit ve çok ucuz ev bilgisayarlarına kadar pek çok cihaz üzerinde çalışabilen esnek ve sağlamlığı çok değişik koşullarda test edilmiş sistemlerdir. Fakat özellikle kararlı yapısı ve çok kullanıcılı-çok görevli yapısıyla çok işlemcili sunucularda adeta standart haline gelmiştir ve özellikle akademik dünyada iş istasyonları üzerinde çok yaygın bir kullanım alanı bulmuştur. UNIX, Interdata 7/32, VAX ve Motorola 68000 arasında hızla yayıldı.

<span class="mw-page-title-main">Sunucu (bilişim)</span> bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi

Sunucu, bilişim alanında "istemci" denilen diğer program ve cihazlara çeşitli işlevler sunan bilgisayar donanımları veya yazılımlarıdır. Bu mimariye istemci-sunucu modeli denir. Sunucular, istemciler arasında veri veya kaynak paylaşımı, bir istemci için hesaplama yapma gibi çeşitli işlevleri yerine getirebilirler. Bu işlevlere genellikle "servis" veya "hizmet" denir. Tek bir sunucu çok sayıda istemciye hizmet verebilir, tek bir istemci de çok sayıda sunucudan hizmet alabilir. İstemci ve sunucu aynı cihaz üzerinde çalışabileceği gibi, istemci ağ üzerinden farklı bir cihazdaki sunucuya da bağlanabilir. Tipik sunucular arasında veritabanı sunucuları, dosya sunucuları, e-posta sunucuları, yazdırma sunucuları, web sunucuları, oyun sunucuları ve uygulama sunucuları sayılabilir.

<span class="mw-page-title-main">Mikro çekirdek</span>

Bilgisayar biliminde, bir mikro çekirdek, bir işletim sistemini uygulamak için gereken mekanizmaları minimuma yakın sağlayan işletim sistemi çekirdeği türüdür. Ana çekirdek sadece birimler arası iletişim ve süreçleri sıralama işlerini yapar. Bellek yönetimi, kayıt ortamı yönetimi, sürücüler ve ağ ile ilgili çok sayıda sürec birbirleriyle iletişim kurarak haberleşir. Bu sayede; parçalardan oluşan yapı ve tasarımın sadeleştirilmesi, bir parçadaki hatanın diğer parçaları etkilememesi ve çalışma anında işletim sisteminin güncelleştirilebilmesi mümkün olabilmektedir.

<span class="mw-page-title-main">Dış çekirdek</span>

Dış çekirdek ya da İngilizce özgün adıyla exokernel, uygulama geliştiricileri için işletim sisteminin en temel fonksiyonlarından birisi olan donanıma erişim yordamlarını ve donanım sürücülerini aradan kaldırarak donanıma doğrudan erişim sunan bir işletim sistemi çekirdeği mimarisidir.

HAL,, "İşletim sistemlerinin mimarisinde önemli yer tutan ve donanımlar ile yazılımlar arasında köprü görevi yapan bir yapı; HAL, NT tabanlı işletim sistemlerinde oluşan bu sorundan ötürü geliştirilmiş bir fonksiyondur. Fiziksel donanımlar ile yazılımlar arasındaki bağlantıyı kurarak çalışır hale getirilmesini sağlar. İşletim sistemi çekirdeğinde bulunan ve kendini otomatik olarak düzenleyen bu fonksiyon sayesinde farklı donanımlarda uyum sorunu yaşanmasını engeller. Çalışma prensibi ise; HAL temelde anakart için sürücü olarak kabul edilebilir ve daha yüksek düzeyde bilgisayar dillerinden talimatları doğrudan donanım gibi alt seviye bileşenleri ile iletimi sağlar. Dolayısıyla kendini buna göre programlar ve değişikliklerde sorunsuz bir kullanım sağlar. Windows XP işletim sisteminden sonra tüm tanımlamalar ve değişiklikler tamamen otomatik hale getirilmiştir. BSD, Mac OS X, Linux, CP/M, DOS ve Solaris işletim sistemlerinde de HAL'a benzer bir mimari mevcuttur.

<span class="mw-page-title-main">AmigaOS</span> Amiga kişisel bilgisayarının işletim sistemi

AmigaOS, Amiga kişisel bilgisayarının işletim sistemidir. Grafik arabirimi olan Workbench, CLI komut satırı arabirimi ile birlikte AmigaDOS ve çoğu Amiga modelinde ROM'da yer alan Kickstart'tan oluşur.

Donanım yazılımı (İng: firmware), sayısal veri işleme yeteneği bulunan her tür donanımın kendisinden beklenen işlevleri yerine getirebilmesi için kullandığı yazılımlara verilen addır. Elektronikte ve bilişimde donanım yazılımı, kalıcı bellek, program kodu ve veri deposudur. Donanım yazılımının bulunduğu cihazlara tipik örnekler; gömülü sistemler, bilgisayar çevre birimleri, cep telefonu, dijital fotoğraf makinesi verilebilir. Bu cihazlarda bulunan yazılım, cihazın kontrol programını barındırır. Donanım yazılımı ROM, EPROM, flaş bellek gibi kalıcı bellekte saklanır. Bir cihaz yazılımının değiştirilmesi, cihazın ömrü boyunca ya hiç yapılmaz ya da sadece birkaç kez yapılır. Bazı cihazların yazılımları üretim aşamasından sonra değiştirilemez. Donanım yazılımında güncelleştirme ya yazılım hatası ya da cihaza yeni bir özellik eklemek için yapılır. Bunun için mikroçip ROM'u değiştirilmesi gerekebilir veya flaş belleğin özel bir yöntemle tekrar programlanması gerekir. Bilgisayardaki BIOS yazılımı yalnızca, cihazın temel işlevlerini saklar, işletim sistemi gibi yüksek seviye yazılımlara önayak olur.

<span class="mw-page-title-main">Bilgisayar mimarisi</span>

Bilgisayar mimarisi, en küçüğe ve en başarılıya ulaşmayı hedeflerken aynı zamanda maliyeti de göz önünde bulundurduğu için sanat ve bilimin ortak buluştuğu nokta olarak da tanımlanır. Bilgisayar Mimarisi, bilgisayar parçalarının iç yapıları ve aralarındaki haberleşme bağlantıları ile ilgilidir.

<span class="mw-page-title-main">BIOS</span> EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan yazılım

BIOS,. EPROM adı verilen bir yonga üzerinde ROM Bellek biçiminde yer alan bir tür yazılımdır. Bilgisayar açıldığı anda işlemciye tüm diğer donanımları sırasıyla tanıtır. Donanımların temel iletişim protokollerini belirler. İşletim sisteminin başlangıç öğelerinin herhangi bir sürücüden yüklenmesini sağlar. İşletim sistemi çalışırken donanım ve işletim sistemi arasındaki ilişkileri düzenler.

Çok çekirdekli işlemci, ikiden fazla işlemciden (çekirdek) oluşan bir hesaplama birimi. Bilgisayarlarda temel komut kümesi işlemlerini gerçekleştirir.

<span class="mw-page-title-main">Çekirdek (bilgisayar bilimi)</span>

İşletim sistemi çekirdeği, kısaca çekirdek (kernel), işletim sistemindeki her şeyin üzerinde denetimi olan merkezi bileşenidir. Uygulamalar ve donanım seviyesindeki bilgi işlemleri arasında bir köprü görevi görür. Çekirdeğin görevleri sistemin kaynaklarını yönetmeyi de kapsamaktadır. Genellikle çekirdek, işletim sisteminin temel bir elemanı olarak, yazılımın fonksiyonunu yerine getirebilmesi için kontrol etmesi gereken kaynaklar için düşük seviye soyutlama katmanı sağlayabilir. İşletim sistemi görevleri, tasarımları ve uygulanmalarına göre farklı çekirdekler tarafından farklı şekillerde yapılır. Sistem açılırken belleğe yüklenir ve sistem kapatılıncaya kadar ana bellekte kalır.

Sanallaştırma bilgisayar kaynaklarının kullanıcılardan soyutlanması işlemine verilen isimdir. Bunu yapmak için kullanılan metodlar bilgisayar kaynaklarının paylaştırılmasını veya birleştirilmesini sağlar. Sanallaştırmanın ilk hedefi kullanıcıya bir soyutlama tabakası sunarak kullanıcıyı kaynaklardan soyutlamak. Böylece kullanıcı ve kaynaklar arasına bir mantıki katman eklenmiş oluyor. Bir hiper yönetici veya sanal makine monitörü (VMM), sanal makineleri oluşturan ve çalıştıran bilgisayar yazılımı, bellenim veya donanımdır. Bir hipervizörün bir veya daha fazla sanal makineyi çalıştırdığı bir bilgisayara ana makine adı verilir ve her sanal makineye konuk makinesi adı verilir. Hiper yönetici, konuk işletim sistemlerini sanal bir işletim platformuyla sunar ve konuk işletim sistemlerinin yürütülmesini yönetir. Çeşitli işletim sistemlerine sahip birden fazla aygıt, sanallaştırılmış donanım kaynaklarını paylaşabilir. Örneğin; Linux, Windows ve macOS işletim sistemlerinin tümü, tek bir fiziksel x86 makinede çalışabilir. Konuk işletim sistemleri aynı çekirdeğe sahip farklı Linux dağıtımları gibi kullanıcı alanında farklılık gösterebilse de, bu, tüm örneklerin tek bir çekirdeği paylaşması gereken işletim sistemi düzeyinde sanallaştırma ile çelişir.

<span class="mw-page-title-main">Windows Server 2012</span> 4 Eylül 2012 tarihinde tam sürümü yayınlanmış Microsoft ürünü

Windows Server 2012, Microsoft tarafından sunulan Windows Server serisinin bir sürümüdür. 4 Eylül 2012 tarihinde tam sürümü yayınlanmıştır, deneme sürümü ise 9 Eylül 2011 tarihinde MSDN kullanıcılarına sunulmuştur. Bu sürümün en avantajlı yanı Özel Bulut sistemine entegre olmuş olmasıdır. Windows Server 2008 R2-nin ardılı, Windows Server 2012 R2-nin öncülü olarak tanıtılmıştır.

<span class="mw-page-title-main">Gömülü sistem</span> Belli bir fonksiyonu yapmaya yönelik bilgisayar sistemi

Gömülü sistem, bilgisayarın kendisini kontrol eden cihaz tarafından içerildiği özel amaçlı bir sistemdir. Genel maksatlı, örneğin kişisel bilgisayar gibi bir bilgisayardan farklı olarak, gömülü bir sistem kendisi için önceden özel olarak tanımlanmış görevleri yerine getirir. Sistem belirli bir amaca yönelik olduğu için tasarım mühendisleri ürünün boyutunu ve maliyetini azaltarak sistemi uygunlaştırabilirler. Gömülü sistemler genellikle büyük miktarlarda üretildiği için maliyetin düşürülmesinden elde edilecek kazanç, milyonlarca ürünün katları olarak elde edilebilir.

<span class="mw-page-title-main">GNU Projesi</span> Özgür yazılım projesi

GNU Tasarısı, toplu işbirliğini temel alan bir özgür yazılım tasarısıdır. Richard Stallman tarafından Massachusetts Teknoloji Enstitüsü'nde 27 Eylül 1983 tarihinde kamuoyuna duyurulmuştur. Tasarının hedefi işbirliği yoluyla özgür yazılımlar geliştirip dağıtarak bilgisayar kullanıcılarının bilgisayarlarını ve benzeri araçlarını kendi istekleri doğrultusunda özgürce kullanmalarını sağlamaktır. Bu tasarının temelinde kullanıcıların yazılımı çalıştırma, paylaşma, inceleme ve değiştirme konularında özgür olmaları yatar. GNU yazılımları bu özgürlükleri dağıtıldıkları lisans ile yasal olarak güvence altına alır, dolayısıyla GNU yazılımları özgür yazılımlardır.

Bilgisayar güvenliğinde, Sandbox, çalışan programları ayırmak için kullanılan bir güvenlik mekanizmasıdır.

Bir sistem mimarisi veya çoklu sistemlerin mimarisi; sistemin yapısını, davranışını ve biçimselliğini tanımlayan kavramsal modeldir. Bir mimari tanımı; sistemin yapıları ve davranışları hakkında mantıksallığı destekleyecek şekilde organize edilen ilişkiselliğin standart bir açıklaması veya temsilidir.

<span class="mw-page-title-main">Windows NT mimarisi</span>

Microsoft tarafından üretilen ve satılan bir işletim sistemi satırı olan Windows NT'nin mimarisi, kullanıcı modu ve çekirdek modu olmak üzere iki ana bileşenden oluşan katmanlı bir tasarımdır. Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici, yeniden gelen bir işletim sistemidir. Giriş/çıkış isteklerini işlemek için, I / O istek paketlerini (IRP'ler) ve zaman uyumsuz G / Ç'yi kullanan paket odaklı G / Ç kullanırlar. Windows XP'den başlayarak, Microsoft Windows'un 64 bit sürümleri hazırlanmaya başladı; Bundan önce, bu işletim sistemleri yalnızca 32-bit sürümlerde mevcuttu.

Yazılım mühendisliğinde, bir uyumluluk katmanı, bir ana sistem üzerinde, eski veya yabancı bir sistem için yazılmış ikili dosyaların çalıştırılmasını sağlayan bir arabirimdir. Bu, yabancı sistem çağrılarını, yerel sistem çağrılarına çevirir. Yabancı sisteme yönelik bazı kütüphaneler, ana sistem üzerinde yabancı ikili dosyaları çalıştırmak için yeterli olacaktır genellikle. Donanım uyumluluğu katmanıysa donanım emülasyonu sağlayan araçlardan oluşur.