Mehmet Akif Akkus

Bir Bilgisayar Mühendisinin Günlüğü

Wednesday, Feb 08th

Last update:01:05:22 PM GMT

Headlines:
RSS
You are here: Dersler Proje

Proje

Uğraştığım Projeler burada!

Sistem Yazılımları

e-Posta Yazdır PDF

Computer Science and Engineering Department

Name Surname                : Mehmet Akif AKKUŞ

Identity Number                 : 20624305

Course                            : Bil-220 Sistem Programlamaya Giriş

Sistem Yazılımları

Sistem yazılımları bilgisayara fonksiyon katan,  programcıların üzerinde rahatlıkla program geliştirmesini ve bakım yapmalarını sağlayan programlardır. 1950 li yıllarda sistem programları çok verimsiz ve kullanışsızdı. Bunun sebebleri arasında yetersiz donanımlar yatıyordu. Bu da programcıları makine kodunda program yazmaya  itiyordu ki, daha kullanıcı dostu yazılımların ortaya çıkmasına ortam sağladı.

1960 lı yıllarda assemby dilinin yaygınlığı Fortran, Cobol, Lisp gibi dilleri ortaya çıkardı. Compiler ve diğer geliştirme araçları lar çok fazla sistem kaynağı tükettiğinden işletim sistemine entegre şekilde satılmasına karşın, 1970 li yıllarda bunlar çeşitli üreticilerden bulunabilir olmuştu.

Yazılımları uygulama yazlımları ve sistem yazılımları olarak 2’ ye ayımak mümkündür. Uygulama yazılımları bireysel programcılar tarafından özel gereksinimlere göre yazılırken, sistem yazılımları sisteme hükmetmek üzere üreticilier tarafından yazılır. Sistem yazılımları daha çok kullanıcı ve donanım arasında haberleşmeyi sağlarken, uygulama programlarına ve sistem bakımına da yataklık eder.

 

Sistem Yazılımlarına Genel Bakış

1.1 İşletim Sistemleri

İşletim sistemleri kullanıcılara kaynak kullanımını ve yönetimini sağlayan, donanımla irtibat kuran ortamlardır. İçerisinde şu modülleri içerir:

İşlem Yönetimi : İşlemlerin üretilmesi ve programlı bir şekilde yürütülmesiyle başa çıkar.

Kaynak Yönetimi : Sistem kaynaklarının (CPU, ana bellek, hard disk vb..) tahsisini ve yönetilmesini sağlar.

Bellek Yönetimi : Fiziksel bellek ile sanal bellek kullanımını yönetir. Performansta önemli ölçüde rol oynar.

İkincil Bellek Yönetimi : Hard disk gibi ikincil belleği etkili bir şekilde kullanmayı sağlar.

Kullanıcı Yönetimi : Sistemdeki kullanıcıların yönetimini sağlar ve onlara çeşitli erişim sınırlandırmaları getirir.

Güvenlik Yönetimi : Sistem stabilitesini ve güvenliğini sağlar. Zararlı programlara karşı bilgisayarı korur.

 

1.2 Compiler

Compiler kaynak dildeki programı eşdeğer hedef dile çevrilmesini sağlayan programlardır. Kaynak kod bir kere derlendikten ve bağlandıktan sonra artık ilişkisi kesilir ve bir diğerolumlu yanı da kod güvenliliğinin artmasıdır. Derleyici içerisinde bazı evreleri içerir :

Lexical Analiz : Kaynak kodun sözlüksel analizini yapar ve yorum satırları ve boşlukları kaldırır.

Syntax Analizi : Sözdizimsel analiz kodların dilin gramerine uygunluğunu araştırır.

Semantic analiz : Değişken tiplerini ve scope kurallarının uygunluğunu denetler.

Hedef Kod Üretimi : Bilgisayarın anlayabileceği dile çevrimi yapar.

Kod optimizasyonu : Hedef kod üretimi sırasında üretilen gereksiz kodların kaldırılmasını sağlar.

Sembol tablosu yönetimi : Değişkenlerin çeşidi, boyutu ve aralarında ilişkileri saklayan tablodur.

Hata yakalama ve geri alma : Hata yakalama bize çalışma anında oluşabilecek istisnaları değerlendirmemizi sağlar ve derleyicinin kalitesini ele verir.

 

1.3 Assembler

Assembler diğer bir adıyla çevirici assembly diliyle yazılmış programları makine kodlarına (object kodlar) çevirmeyi sağlayan araçtır. İlk zamanlarda komut formatının basit olmasıyla assembly den makine koduna çevirimi elle yapılabiliyordu. Sonraları komut setinin karmaşıklaşması ile bu imkansız hale geldi ve böylece derleyicilerin çoğu hedef kod üretimi için assembly dilini kullandı.

1.4 Linker

Bir yazılımın kaynak kodu birden fazla dosyadan oluşabilir ve bir kütüphaneye ait kod parçalarını da kullanıyor olabilir. Bu durumda her bir dosya ayrı ayrı derlenir ve meydana gelen nesne kodları ile durağan ya da dinamik kütüphaneler linker (bağlayıcı) ile bağlanır ve böylece çalıştırılabilir (executable) program elde edilir.

1.5 Loader

Linker (bağlayıcı) tarafından oluşturulan çalıştırılabilir dosyaları ikincil bellekten alarak birincil belleğe yükleyen ve işletim sistemi ve tarafından çalıştırılmasını sağlayan yapıdır. Artık yeni sistemlerde loader işletim sistemlerinin bir parçasıdır ve kullanıcıya gözükmez. Birden fazla çalıştırılabilir dosya eğer aynı kütüphaneyi kullanıyorsa bunun tekrar yüklenmesi engellenir paylaşma sağlanır.

1.6 Text Editor

Programcıların sıklıkla kullandığı program üretmeye yarayan araçtır. Eğer kullanıcı ikincil diskteki bir text dosyasını düzenlemek isterse bu veriler birincil belleğe alınır. Pencere tabanlı editörler yazının herhangi bir kısmını düzenleme ve okunabilirliği kolaylaştırma için otomatik renklendirme yapabilmektedir.

1.7 Debugger

Programcıya derleme esnasında hata yakaladığında , bir veya daha fazla sayıda break point(işletim durdurma noktaları) koyarak , adım adım ilerlemeyi ve bu esnada değişkenlerin değerini ve durumunu görmeye olanak sağlayan çok yararlı bir araçtır.

Sonuç

Sistem yazılımları program geliştirmeye ve onları üzerinde çalıştırmaya ve bakım yapmaya yarayan araçlardır. Bu ozet çeşitli sistem yazılımlarını ana hatlarıyla anlatmaktadır.

 

 

Son Güncelleme: Pazartesi, 29 Mart 2010 08:11