İşletim sistemi (kısaca OS), bir bilgisayar kullanıcısı ile bilgisayar donanımı arasındaki bağlantıyı kuran arabirimdir. Bir işletim sistemi, dosya yönetimi, bellek yönetimi, süreç yönetimi, girdi ile çıktıyı işleme ve disk sürücüleri ile yazıcılar gibi çevre birimi aygıtlarını kontrol etme gibi tüm temel görevleri yerine getirebilen bir yazılımdır. (*)
Her bilgisayar sistemi, diğer programları çalıştırmak için en az bir işletim, sistemine sahip olmak zorundadır. Tarayıcılar, ofis programları, oyunlar vb. gibi uygulamalar, görevlerini çalıştırmak ve gerçekleştirmek için bir ortama ihtiyaç duyarlar. İhtiyaç duyulan bu ortam işletim, sistemidir.
İşletim Sistemi Nedir?
İşletim sistemi, bir önyükleme programı tarafından bilgisayara ilk kez yüklendikten sonra bilgisayarda yer alan tüm uygulamaları yöneten bir programdır. Uygulamalar, tanımlanmış bir uygulama programı arabirimi (API) aracılığıyla hizmet isteklerinde bulunarak işletim, sisteminden yararlanmaya çalışırlar.
Buna ek olarak kullanıcıların bir işletim, sistemiyle doğrudan etkileşim kurabilmesi mümkündür. Kullanıcılar bunu komut satırı arabirimi (CLI) veya grafik kullanıcı arabirimi (GUI) aracılığıyla gerçekleştirilirler. Bu iki yöntem sistemiyle doğrudan etkileşim için gereklidir.
İşletim Sistemi Neden Kullanılır?
Bir işletimde özellikle bilgisayar yazılımına ve yazılım geliştirmeye oldukça güçlü faydalar sağlar. Bir işletim olmadan, her uygulamanın kendi kullanıcı arabirimine ek olarak disk depolama gibi temel düzeydeki tüm düşük düzeyli işlevleri işlemek için ihtiyaç duyulan kapsamlı kodu içermesi gerekmektedir.
Mevcut çok çeşitli temel donanımlar göz önüne alındığında bu durum, her uygulamanın boyutunu büyük ölçüde şişirecek ve yazılım geliştirmeyi pratik olmayan bir hale getirecektir. Dolayısıyla işletim olarak adlandırılan sistem yazılımı, uygulamaların donanımla ilgili herhangi bir ayrıntıyı bilmesine gerek kalmadan, uygulamaların donanımla etkileşime girmesini sağlar.
İşletim, sistemi kurulduktan sonra, hizmetlerini belirli donanım ortamına uyarlamak için geniş bir aygıt sürücüsü kitaplığı kullanılır. Bu nedenle, her uygulama bir depolama aygıtına çağrı yapabilir. İşletim ise bu çağrıyı söz konusu bilgisayardaki temel donanım için gereken eylemlere dönüştürmek için ilgili sürücüyü kullanır.
İşletim Sisteminin Avantajları Ve Dezavantajları Nelerdir?
Bilgisayar donanımını yöneten bir yazılımdır. Donanım, bilgisayar sisteminin doğru çalışmasını sağlamak ve kullanıcı programlarının sistemin düzgün çalışmasına müdahale etmesini önlemek için uygun mekanizmalar sağlamalıdır. Bu anlamda sisteminin bazı avantajları ve dezavantajları vardır.
İşletim Sisteminin Avantajları
- Bir soyutlama oluşturarak donanım ayrıntılarını gizlemenizi sağlar.
- Grafik kullanıcı arabirimi sayesinde kullanımı oldukça kolaydır.
- Bir kullanıcının programları veya uygulamaları çalıştırabileceği bir ortam sunar.
- Bilgisayar sisteminin kullanıma uygun olmasını sağlar.
- Uygulamalar ve donanım bileşenleri arasında aracı görevi görür.
- Bilgisayar sistem kaynaklarının kullanımını kolay formatta sunar.
- Sistemin tüm donanım ve yazılımları arasında aracılık yapar.
İşletim Sisteminin Dezavantajları
- Herhangi bir sorun oluşursa sisteminizde saklanan tüm içeriği kaybedebilme şansınız vardır.
- Yazılımı, küçük ölçekli kuruluşlar için oldukça pahalıdır ve bu da ekstra yük anlamına gelir.
- Herhangi bir zamanda bir tehdit oluşabileceğinden asla tamamen güvenilir değildirler.
- İyi performans gösteri için çok fazla belleğe yani kaynağa ihtiyaç duyması söz konusudur.
- Sabit sürücünüzde büyük bir yer kapladığından depolama problemleri ortaya çıkabilir.
İşletim Sisteminin Fonksiyonları Nelerdir?
Bir işletim, sistemi üç temel yetkinlik sunar. Bir CLI/GUI aracılığıyla bir kullanıcı arayüzü sunar, uygulamanın yürütülmesini başlatarak yönetir ve sistem donanım kaynaklarını tanımlayarak onları uygulamalara sunar. Genel olarak tüm bunlar standartlaştırılmış bir API aracılığıyla gerçekleştirilmektedir.
- Kullanıcı Arayüzü: İşletim sistemini ve temel donanımını kurmak, yapılandırmak ve hatta sorunları gidermek için kullanıcıların 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.
- Uygulama Yönetimi: 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.
- Cihaz Yönetimi: Temel bilgisayar donanım aygıtlarına ortak erişime sahip uygulamaları tanımlamaktan sorumludur. Donanımı tanıdığı ve tanımladığı için işletim, sistemi üzerinde çalışan uygulamaların, donanım ve aygıtların kullanılmasını sağlayan ilgili sürücüleri kuracaktır.
- Kaynak Yönetimi: İşletim sisteminde paralel erişim gerçekleştiğinde birden fazla kullanıcının sisteme eriştiği anlamına gelir. Kaynak yöneticisi olarak çalışır. Sorumluluğu kullanıcıya donanım sağlamaktır. Bu sayede sistemdeki yükü azaltır.
- Süreç Yönetimi: Planlama, sürecin sonlandırılması gibi çeşitli görevleri içerir. Aynı anda çeşitli görevleri yönetir. Bu noktada CPU programlaması gerçekleşir. Tüm görevlerin zamanlama için kullanılan birçok algoritma tarafından yapılacağı anlamına gelir.
- Depolama Yönetimi: Depolamanın yönetimi için kullanılan dosya sistemi mekanizmasıdır. Tüm veriler, tümü depolama yöneticisi tarafından yönetilen çeşitli sabit disk parçalarında depolanır. Buna sabit diskin kendisi dahildir.
- Bellek Yönetimi: Birincil belleğin yönetimini ifade eder. Ne kadar bellek kullanıldığını ve kim tarafından kullanıldığını takip etmelidir. Hangi işlemin bellek alanına ve ne kadar ihtiyaç duyduğuna karar vermelidir. Aynı zamanda bellek alanını tahsis etmeli ve gerektiğinde serbest bırakmalıdır.
İşletim Sistemi Türleri Nelerdir?
Bir işletim, sisteminin temel rolleri her yerde bulunabilecek bir şeydir. Buna rağmen çok çeşitli donanım ve kullanıcı ihtiyaçlarına hizmet eden sayısız işletim sisteminden bahsetmek mümkündür. En bilinenler arasında elbette Windows, Android ve iOS gibi işletim sistemleri vardır. Ancak gruplandırma yapılırken işletim sistemlerinin amaçlarına göre gruplandırmalar gerçekleştirilir.
- Genel amaçlı işletim sistemi: Genel amaçlı bir işletim, bir kullanıcının bir uygulamayı veya görevi aynı anda çalıştırmasını sağlayan, geniş bir donanım yelpazesinde çok sayıda uygulamayı çalıştırmayı amaçlayan bir dizi işletim sistemini temsil eder. Windows, Mac OS ve Linux bu türün ideal örnekleridirler.
- Mobil işletim sistemi: Mobil işletim sistemler, akıllı telefonlar ve tabletler gibi mobil bilgi işlem ve iletişim merkezli cihazların benzersiz ihtiyaçlarını karşılamak için tasarlanmıştır. Mobil cihazlar genellikle sınırlı bilgi işlem kaynakları sunar. Android ve iOS bu türün ideal örnekleridirler.
- Gömülü işletim sistemi: Bilgi işlem cihazlarının tümü genel amaçlı değildir. Ev asistanları, ATM, POS gibi cihazlar dahil olmak üzere çok çeşitli özel cihazlar bir işletim gerektiren bilgisayarı içerir. Temel fark, ilişkili bilgi işlem cihazının yalnızca tek bir önemli işi yerine getirmesidir.
- Ağ işletim sistemi: Bir yere alan ağında çalışan cihazlar arasındaki iletişimi kolaylaştırması açsından önemlidir. Ağ işletim sistemi, ağ paketlerini oluşturmak, değiş tokuş etmek ve ayrıştırmak adına ağ protokollerini anlamak için gereklidir. RouterOS ve ZyNOS bu türün ideal örnekleridirler.
- Gerçek zamanlı işletim sistemi: Bir bilgi işlem cihazının gerçek dünya ile tekrarlanabilir zaman kısıtlamaları içinde etkileşime girmesi gerektiğinde cihaz üreticisi gerçek zamanlı bir işletim sistemi kullanmayı tercih edebilir. Örneğin, enerji santralinin operasyonlarını yöneten sistemler bu şekildedirler.
Türleri arasındaki farklar mutlak değildir. Bazı işletim sistemleri diğerlerinin özelliklerini paylaşabilirler. Örneğin, genel amaçlı işletim sistemleri rutin olarak geleneksel bir ağ işletim sisteminin özelliklerini içerebilir. Bir mobil işletim sistemi, genel amaçlı işletim sistemleri gibi aynı anda çok sayıda uygulamayı çalıştırabilirler.