8 Aralık 2009 Salı

SİSTEM PROGRAMLARI

Sistem programları, bir bilgisayar sisteminde kullanıcı programları ile işletim sistemi arasında yer alır. Program geliştirilmesinde ve çalıştırılmasında programlara daha güvenli bir ortam sunar. -
Dosya Yönetimi
Dosya ve dizin oluşturan, silen, düzenleyen, kopyalayan ya da yeniden adlandıran programlardır.
Durum Bilgisi
Bazı programlar sisteme tarih, saat, bellek miktarı veya disk alanı gibi bilgiler sorarlar. Bu gibi bilgiler istenilen çıktı aygıtına, yine istenilen formatta gönderilir.
Dosya Değiştirme
Dosya üzerinde bulunan dosyaların çeşitli metin editörleri tarafından değiştirilmesi ya da oluşturulması.
Programların Yüklenmesi ve Çalıştırılması
Programların, derlendikten sonra tekrar çalıştırılmasını veya hata ayıklanmasını sağlayan programlardır.
İletişim
Işlemler, kullanıcılar ve değişik bilgisayar sistemleri arasındaki sanal iletişimi sağlamak için kullanılan programlardır.
Uygulama Programları
Çeşitli amaç ve ihtiyaçlar doğrultusunda geliştirilen programlardır.

5 Aralık 2009 Cumartesi

Sistem Çağrıları

Sistem çağrıları, bilgisayarda çalışan program ile işletim sistemi arasında bir arayüz sağlar

İşlem Kontrol
Bir işlemin yüklenmesi, başlatılması, sonlandırılması, iptal edilmesi,işlem özelliklerinin belirlenmesi gibi.
Dosya Yönetimi
Bir dosyanın oluşturulması, açılması, kaydedilmesi, kapatılması, silinmesi, okunması, yazılması, dosya özelliklerinin belirlenmesi gibi.
Aygıt Yönetimi
Bir aygıta bağlanılması, bağlantı isteğinin yapılması, aygıttan okunması ya da aygıta yazılması, aygıt özelliklerinin belirlenmesi gibi.
Bilgi Düzenlenmesi/Bakımı
Sistem saati ve sistem tarihi gibi sistem bilgilerinin girilmesi, düzenlenmesi.
İletişim
İletişim kurulması, mesaj gönderilmesi, durum bilgisinin gönderilmesi, iletişimin kesilmesi gibi.

Koşturulan bir programın belirli bir yerinde klavyeden bir sayı girilmesi istenir. Program klavyeden bu sayıyı direkt olarak kendisi alamayacağı için işletim sistemine bir sistem çağrısı gönderir. Bu sistem çağrısını alan işletim sistemi klavyeden girilecek sayıyı bekler. Klavyeden sayı girildiğinde bu sayıyı alır ve koşturulmakta olan programa gönderir. Sayıyı alan program kaldığı yerden koşturulmaya devam eder.

İŞLETİM SİSTEMİNİN YAPISI

İşletim Sistemi Hizmetleri

İşletim sistemleri, kullanıcı ve programlar için çeşitli hizmetler sağlar. Bu hizmetler işletim sistemine göre değişiklik gösterebilir. Bu hizmetlerin belli başlıları Tablo 4.1' de gösterilmiştir.
1- Program koşturulması
İşletim sistemi, programları ana belleğe yükleyebilmeli ve programları çalıştırabilmelidir. Örneğin, bir kelime işlemci programının çalıştırılması.
2- Girdi / Çıktı işlemleri
Çalışan bir program G/Ç (girdi/çıktı) işlemine gereksinim duyabilir. Bu G/Ç işlemi bir dosya ya da G/Ç aygıtı olabilir. İşletim sistemi bu tür ihtiyaçları karşılar. Örneğin, bir kelime işlemci programından daha önceden yazdığımız ve sakladığımız bir dosyanın tekrar açılması gibi.
3- Dosya sistemi yönetimi
İşletim sistemi, programların ya da kullanıcıların bir dosyayı okuma, yazma, oluşturma ya da silme işlemlerini gerçekleştirir. Örneğin, bir kelime işlemci programından daha önceden yazdığımız ve sakladığımız bir dosyanın tekrar açılarak üzerinde değişiklikler yapılması ve yeni haliyle bu dosyanın tekrar kaydedilmesi gibi.
4- İletişim
Bir işlem diğer bir işlemle bilgi alış-verişinde bulunmak isteyebilir. Bu iletişim sırasında işlemler aynı bilgisayarda olabileceği gibi, bir ağ ortamında bulunan iki farklı bilgisayarda da bulunabilirler. İşlem arasındaki bu tür iletişimler, ya bellek paylaşımı ya da mesajlaşma gibi çeşitli tekniklerle işletim sistemi tarafından gerçekleştirilir. Örneğin, bir kelime işlemci programından daha önceden yazdığımız ve sakladığımız bir dosyanın açılarak yazıcıdan çıktısı alınmak istenebilir. Bu durumda bu aygıttan dosyanın yazdırıldığına dair bir mesajın ekrana gelmesi gibi.
5- Hata tespiti
İşletim sistemi bilgisayar sisteminde meydana gelen her türlü hataları algılayabilmelidir. Bu hatalar, MİB, bellek, G/Ç aygıtı ya da kullanıcı programında meydana gelmiş olabilir. Meydana gelen hataya uygun gerekli eylem ya da düzeltme işlemi işletim sistemi tarafından gerçekleştirilir. Örneğin, bir kelime işlemci programında daha önceden yazdığımız ve sakladığımız bir dosyanın açılarak yazıcıdan çıktısı alınması istenebilir. Fakat, yazıcı bu işlemi gerçekleştirirken, yazıcıda kağıt bittiğine dair mesaj ya da yazıcının açık olmadığına dair gelen mesaj gibi.
6- Kaynakların paylaştırılması
Bir çok kullanıcının ya da bir çok programın aynı anda çalıştığı durumlarda elde bulunan tüm kaynakların paylaştırılması ve düzenli kullanılması gerekir. İşletim sistemi farklı kaynakların düzenli bir şekilde kullanılmasını sağlar. Örneğin bir ağ ortamında yazıcının paylaştırılması ve kullanıcıların paylaştırılan bu yazıcıyı kullanabilmesi gibi.
7- Kullanıcı işlemleri
Kullanıcıların, bilgisayar kaynaklarından hangilerini, ne kadar ve nasıl kullanıldığının incelenmesi işlemidir. Örneğin, paylaştırılmış olan bir yazıcının hangi kullanıcının ne kadar süreyle kullandığı gibi.
8- Güvenlik işlemleri
Çok kullanıcılı ortamlarda ya da ağ ortamlarında tüm bilgilerin güvenliği işletim sistemi tarafından sağlanır. Örneğin, paylaştırılmış olan bir dosyaya sadece ulaşım yetkisi olanların ulaşabilmesi gibi.

BİLGİSAYAR SİSTEMİ






Programlanabilen bir aygıt olan bilgisayar, iki temel karakteristiğe sahiptir.
1-Daha önceden tanımlanmış komutlara cevap vermesi 2-Önceden kaydedilmiş komut satırlarını işletebilmesidirBilgisayar donanım ve yazılım olmak üzere iki ana bölümden oluşur. Genel bilgisayar yapısı aşağıdaki şekilde gösterilmiştir.






Donanım


Ekran, klavye, fare, MİB, yazıcı gibi bilgisayarın somut donanım aygıtlarıdır. Donanım, beş ana bölümden oluşur.
Giriş Aygıtları
Merkezi İşlem Birimi
Bellek
Çıkış Aygıtları
Depolama Aygıtlar



Yazılım


Son kullanıcılar için tasarlanmış uygulamalardır. Yazılım,
1- Sistem yazılımları 2- Uygulama yazılımlarıolmak üzere iki ana bölümden oluşur. Sistem yazılımları, bilgisayar ile doğrudan etkileşen işletim sistemleri ve derleyiciler gibi düşük seviyeli yazılımlardır. Uygulama yazılımları, son kullanıcıların amaçları doğrultusunda kullanacakları veritabanı, kelime işlemci gibi programlardır. Uygulama yazılımlarının tamamı bir işletim sistemi üzerinde çalışırlar.

işletim sisteminin tarihsel gelişimi 2

Tamponlama(Buffering)
Tampon (buffer) donanım aygıtlarının veya program işlemlerinin ortaklaşa kullandığı paylaştırılmış bir bellek alanıdır. Tamponlama (buffering) bir işletim sistemi işlevidir. MİB (Merkezi İşlem Birimi) işleyeceği bilgiyi, tampon olarak kullanılan bellek alanından alır ve işlemeye başlar. Aynı anda giriş aygıtı, boşalan bu bellek alanına bir sonraki bilgiyi yerleştirir. Bu işlem giriş aygıtı ile MİB arasında gerçekleştiği gibi, MİB'de ile çıkış arasında da gerçekleşebilir. MİB işlenen bilgi bir tampon alanına yerleştirilir. Çıkış aygıtı da bilgiyi bu alandan alır ve gerekli işlemi gerçekleştirir. Bu işlevin amacı işlemci ile G/Ç (Giriş/Çıkış) aygıtlarının her zaman çalışır durumda olmasını sağlamaktır.
Kuyruklama(Spooling)
Sabit disk teknolojisinin bilgisayarlarda kullanılmasıyla birlikte ortaya çıkan bir işletim sistemi işlevidir. Aşağıdaki şekilde görüldüğü gibi G/Ç aygıtları ile MİB arasında gerçekleşek olan bilgi alış-verişi sabit disk üzerinden bu alanlar üzerinden gerçekleştirilir. Kuyruklamada, tamponlamada kullanılan bellek alanından çok daha büyük bir bellek alanı sabit disk üzerinde kullanılır. Örneğin sabit disk üzerindeki bir programın MİB’ne yüklenmesi ve koşturulması gerekmekte. Fakat program tampon bölgeye sığmayacak kadar büyük. Bunun için bellek aygıtında bir bellek alanı ayrılır ve program o alan üzerine yüklenir. MİB programı bu alandan alarak çalıştırır. Yapılan işlemler sonucunda yazıcıdan bir çıktı almak istenebilir. Gönderilen bilgi yazıcının tampon bölgesine sığmayacak kadar büyük ise bu durumda tampona sığmayan kısım yine bellek aygıtı üzerinde tutulur ve tampon boşaldıkça yeni bilgi tampona gönderilir. Tamponlama ile kuyruklamanın yararı, sistem performansını arttırmasıdır.

Kuyruklama
Sabit disk teknolojisinin bilgisayarlarda kullanılmasıyla birlikte ortaya çıkan bir işletim sistemi işlevidir. Aşağıdaki şekilde görüldüğü gibi G/Ç aygıtları ile MİB arasında gerçekleşek olan bilgi alış-verişi sabit disk üzerinden bu alanlar üzerinden gerçekleştirilir. Kuyruklamada, tamponlamada kullanılan bellek alanından çok daha büyük bir bellek alanı sabit disk üzerinde kullanılır. Örneğin sabit disk üzerindeki bir programın MİB’ne yüklenmesi ve koşturulması gerekmekte. Fakat program tampon bölgeye sığmayacak kadar büyük. Bunun için bellek aygıtında bir bellek alanı ayrılır ve program o alan üzerine yüklenir. MİB programı bu alandan alarak çalıştırır. Yapılan işlemler sonucunda yazıcıdan bir çıktı almak istenebilir. Gönderilen bilgi yazıcının tampon bölgesine sığmayacak kadar büyük ise bu durumda tampona sığmayan kısım yine bellek aygıtı üzerinde tutulur ve tampon boşaldıkça yeni bilgi tampona gönderilir. Tamponlama ile kuyruklamanın yararı, sistem performansını arttırmasıdır.
Çoklu-programlama
Birden fazla programın aynı zamanda bir işlemci üzerinde çalıştırılmasıdır. Bu yapıda işletim sistemi belirli bir zaman aralığında bir program parçasını çalıştırır. Bir sonraki zaman aralığında, diğer bir programın, bir parçasını çalıştırır. Böylece kullanıcı tüm programların aynı zamanda çalıştırıldığını görür. Bu yapıda işletim sistemleri oldukça gelişmiştir. Bellekte aynı zaman diliminde birden fazla iş çalıştırılmaya hazır olarak beklemekte olduğundan iyi bir bellek yönetimini gerektirir. Bunun yanında hazır kuyruğunda birden fazla işin çalıştırılmak için beklemesi bir MİB çizelgelemesi gerektirir.
Zaman paylaşımı (Çoklu-işlem)
Zaman paylaşımı(veya çoklu-işlem) çoklu-programlamadan sonra geliştirilmiş bir tekniktir. Bu teknikte, MİB’de işletilecek olan her işlem için belli bir süre ayrılır. Her işlem kendisine ayrılan süre içerisinde MİB'de koşturulur ve bu sürenin bitiminde MİB'ini terkeder. Bir sonraki işlem koşturulmak üzere MİB getirilir. Takip eden sürede bir diğer işlem koşturulur. Zaman paylaşımlı sistemlerde bir bilgisayar birden fazla kullanıcı tarafından kullanılmak üzere paylaştırılabilir. Bu şekildeki bir sistemde, bilgisayar her kullanıcı işlemi için belirli bir MİB süresi ayırır. Bu süre içerisinde bir kullanıcının işini yapar. Diğer MİB süresinde diğer kullanıcının işlemini gerçekleştirir. Bu tür işletim sistemlerinde de iyi bir bellek yönetimi, MİB çizelgelemesi ve ikincil bellek yönetimine ihtiyaç vardır..
Paralel Sistemler
Bilgisayar sistemleri genel olarak tek işlemciye sahiptir. Bu tür sistemlere tek işlemcili sistemler denir. Bazı sistemler aynı veri yolunu, sistem saatini, ana belleği ve çevre aygıtlarını paylaşan birden fazla işlemciye sahip olabilir. Böyle sistemlere "Sıkı sıkıya bağlı (tightly coupled)" ya da "paralel sistemler" denir. Paralel sistemlerde, MİB sayısının arttırılamasıyla daha kısa süre içerisinde daha fazla iş yapılması hedeflenir. Paralel sistemler simetrik çok işlemcili ve asimetrik çok işlemcili olmak üzere ikiye ayrılır. En yaygın şekilde kullanılan simetrik çok işlemcili modeldir. Bu modelde her işlemci için işletim sisteminin bir kopyası çalıştırılır. Gerekli olduğu durumlarda işletim sistemi kopyaları birbiri ile haberleşebilir. Unix'in Encore versiyonunu kullanan Multimax bilgisayar sistemi bu modele iyi bir örnektir. Asimetrik çok işlemcili modelde ise her işlemci kendisine özgü görevlere sahiptir. Bulunan işlemciler arasındaki bir işlemci Yönetici İşlemci'dir. Yönetici işlemci tüm sistemi kontrol eder. Diğer işlemcilere görevler verir ya da kendilerine özgü görevleri yerine getirmesini ister.

İŞLETİM SİSTEMİNİN TARİHSEL GELİŞİMİ

Başlangıçta, sadece bilgisayar donanımı vardı. İlk bilgisayar sistemleri bir kontrol konsolünden yönetilen çok büyük makinelerdi. Programcı bu geniş makinelerin her bir aygıtının kullanımını ve yönetimini kendisi yapmaktaydı. Yani, programcı bir program yazar ve bunu yönetim konsolundan kontrol ederek çalıştırırdı. İlk önce program teyplerden ya da delikli kartlardan makinaya (belleğe) yüklenirdi. Sonra programın çalışması için gerekli butonlara kontrol panelinden basılırdı. Program doğru olarak çalışırsa kontrol paneli üzerindeki ışıklar yanardı. Programın çıktısı teyplere ya da delikli kartlara yine programcının yardımıyla kaydedilirdi. Eğer hata oluşmuşsa programcı programı sonlandırır ve programda kendisi hata ayıklardı. İleri ki zamanlarda, makinanın aygıtlarını, kullanıcı programının isteği doğrultusunda kullanabilecek programlar yazıldı. Bunlar modern işletim sistemlerinin temellerini oluşturdu. Daha sonraları tek-kullanıcılı, çok-kullanıcılı, çok-kullanıcılı_çok-işlemcili işletim sistemleri geliştirildi.

İŞLETİM SİSTEMİ VE AMACI NEDİR?


Bilgisayar sisteminin en önemli kısımlarından birisi olan işletim sistemi,bilgisayar donanım aygıtları ile kullanıcılar arası ilişkiyi sağlayan bir yazılımdır. Ayrıca kullanıcı programlarının çalıştırılabileceği bir ortam sunar. İşletim sisteminin amacı, kullanıcılar için çalışabilecekleri, bilgisayar aygıtlarını kullanabilecekleri

1- Rahat ve elverişli
2-Verimlibir ortam
sunmaktır.


İsletim Sisteminin Amacı

İşletim sistemleri programların çalışabileceği bir ortam sağlar. Bu şekilde bir ortam oluşturabilmek için işletim sistemi, mantıksal olarak, birbirleriyle iletişimi (arayüzleri) çok iyi tanımlanmış küçük alt yapılara bölünür. Bu alt yapılara " işletim sistemi öğeleri " denir. İşletim sistemleri aynı yapıda olmamakla birlikte, çoğu modern işletim sistemlerinin temel ögeleri şunlardır :

1- İşlem Yönetimi
2- Ana bellek Yönetimi
3- İkincil Bellek Yönetimi
4- Giriş-Çikiş Yönetimi
5- Dosya Yönetimi
6- Güvenlik Yönetimi
7- Ağ Yönetimi
8- Komut Yönetimi