İşletim sistemi (OS), bir önyükleme programı tarafından bilgisayara ilk kez yüklendikten sonra, bilgisayardaki diğer tüm uygulama programlarını yöneten programdır. Uygulama programları, tanımlanmış bir uygulama programı arabirimi (API) aracılığıyla hizmet isteklerinde bulunarak işletim sisteminden yararlanır. Ayrıca kullanıcılar, komut satırı arabirimi (CLI) veya grafik kullanıcı arabirimi (GUI) gibi bir kullanıcı arabirimi aracılığıyla işletim sistemiyle doğrudan etkileşim kurabilir.
Neden bir işletim sistemi kullanmalı?
Bir işletim sistemi, bilgisayar yazılımına ve yazılım geliştirmeye güçlü faydalar sağlar. Bir işletim sistemi olmadan, her uygulamanın kendi kullanıcı arayüzünün yanı sıra, disk depolama, ağ arabirimleri vb. gibi temel bilgisayarın tüm düşük düzeyli işlevlerini işlemek için gereken kapsamlı kodu içermesi gerekir. Mevcut çok çeşitli temel donanımlar göz önüne alındığında, bu, her uygulamanın boyutunu büyük ölçüde şişirecek ve yazılım geliştirmeyi pratik hale getirecektir.
Bunun yerine, bir ağ paketi göndermek veya bir ekran gibi standart bir çıktı aygıtında metin görüntülemek gibi birçok yaygın görev, uygulamalar ve donanım arasında aracı görevi gören sistem yazılımına yüklenebilir. Sistem yazılımı, uygulamaların donanımla ilgili herhangi bir ayrıntıyı bilmesine gerek kalmadan, uygulamaların donanımla etkileşime girmesi için tutarlı ve tekrarlanabilir bir yol sağlar.
Her uygulama aynı kaynaklara ve hizmetlere aynı şekilde eriştiği sürece, o sistem yazılımı – işletim sistemi – hemen hemen her sayıda uygulamaya hizmet verebilir. Bu, bir uygulamanın geliştirilmesi ve hatalarının ayıklanması için gereken süreyi ve kodlamayı büyük ölçüde azaltırken, kullanıcıların sistem donanımını ortak ve iyi anlaşılmış bir arabirim aracılığıyla kontrol etmelerini, yapılandırmalarını ve yönetmelerini sağlar.
İşletim sistemi kurulduktan sonra, işletim sistemi hizmetlerini belirli donanım ortamına uyarlamak için geniş bir aygıt sürücüsü kitaplığına güvenir. Bu nedenle, her uygulama bir depolama aygıtına ortak bir çağrı yapabilir, ancak işletim sistemi bu çağrıyı alır ve çağrıyı söz konusu bilgisayardaki temel donanım için gereken eylemlere (komutlara) dönüştürmek için ilgili sürücüyü kullanır. Bugün işletim sistemi, işlemciler de dahil olmak üzere bir dizi donanımı tanımlayan, yapılandıran ve yöneten kapsamlı bir platform sağlar; bellek aygıtları ve bellek yönetimi; yonga setleri; depolamak; ağ oluşturma; Video Grafik Dizisi (VGA), Yüksek Çözünürlüklü Multimedya Arabirimi (HDMI) ve Evrensel Seri Veri Yolu (USB) gibi bağlantı noktası iletişimi; ve Peripheral Component Interconnect Express (PCIe) gibi alt sistem arabirimleri.
Bir işletim sisteminin işlevleri
Bir işletim sistemi üç temel yetenek sağlar: Bir CLI veya GUI aracılığıyla bir UI sunar; uygulamanın yürütülmesini başlatır ve yönetir; ve sistem donanım kaynaklarını tanımlar ve bu uygulamalara sunar – tipik olarak, standartlaştırılmış bir API aracılığıyla.
Kullanıcı arayüzü her işletim sistemi ve temel donanımını kurmak, yapılandırmak ve hatta sorunları gidermek için kullanıcıların ve yöneticilerin işletim sistemi ile etkileşime girmesini sağlayan bir kullanıcı arayüzü gerektirir. Kullanılabilir iki ana kullanıcı arabirimi türü vardır: CLI ve GUI.
CLI veya terminal modu penceresi, kullanıcıların belirli görevlerle ilgili belirli komutları, parametreleri ve argümanları girmek için geleneksel klavyeye güvendiği metin tabanlı bir arayüz sağlar. GUI veya masaüstü, kullanıcıların dokunmatik yüzeyler, dokunmatik ekranlar ve fare cihazları gibi insan arayüz cihazları tarafından sağlanan hareketlere güvendiği simgeler ve sembollere dayalı görsel bir arayüz sağlar.
GUI, en sık olarak, dosyayı varsayılan uygulamasında açmak için bir dosya simgesine çift tıklamak gibi dosyaları ve uygulamaları manipüle etmekle ilgilenen sıradan veya son kullanıcılar tarafından kullanılır. CLI, çalışanlar için yeni kişisel bilgisayarlar (PC’ler) kurmak için komut dosyaları oluşturmak ve çalıştırmak gibi düzenli olarak bir dizi son derece ayrıntılı ve tekrarlayan komutu işlemesi gereken ileri düzey kullanıcılar ve sistem yöneticileri arasında popülerliğini koruyor.
Uygulama yönetimi. Bir işletim sistemi, her uygulamanın başlatılmasını ve yönetimini gerçekleştirir. Bu, tipik olarak, çeşitli görevlerin mevcut işlemcilerin zamanını paylaşabilmesi için birden çok işlemin veya iş parçacığının zaman paylaşımı dahil olmak üzere bir dizi davranışı destekler; bir işlemcinin anında dikkatini çekmek için uygulamaların ürettiği kesintileri ele almak, diğer işlemlere müdahale etmeden uygulamayı ve ilgili verileri yürütmek için yeterli belleğin olmasını sağlamak; bir uygulamanın işlemlerini zarif bir şekilde kaldırabilen hata işlemeyi gerçekleştirmek; ve diğer uygulamaları veya işletim sistemini kesintiye uğratmadan bellek yönetimi gerçekleştirme.
Bir işletim sistemi, düşük seviyeli işletim sistemi veya donanım durumu hakkında hiçbir şey bilmeye gerek kalmadan uygulamaların işletim sistemi ve donanım işlevlerini kullanmasını sağlayan API’leri de destekleyebilir. Örnek olarak, bir Windows API, bir programın klavye veya fareden girdi almasını sağlayabilir; iletişim pencereleri ve düğmeler gibi GUI öğeleri oluşturun; dosyaları bir depolama aygıtına okuma ve yazma; ve dahası. Uygulamalar hemen hemen her zaman uygulamanın üzerinde çalışmayı amaçladığı işletim sistemini kullanacak şekilde uyarlanır.