Sistem Çağrıları Nedir ve Nasıl Çalışır?

0
anonim
Her şey burada başladı. FM'de yayımlanan bir yazıda gördüğüm "kernel mode" ve "user mode" deyimlerini araştırıken bu konuda açık bir Türkçe makale olmadığını farkettim. Bu konudaki araştırmalarım sonucu günlüğüme yazdığım ufak bir bilgi notundaki hataların Sn. Tonguç Yumruk tarafından düzeltilmesi ve gelip giden e-postalar sonucunda aklımdaki soru şuydu: "Sistem Çağrıları Nedir ve Nasıl Çalışır?"

Sorunun cevabı ise artık bu kısa makalede. Faydalı olması dileğiyle...

Görüşler

0
ttk
Elinize sağlık, güzel ve açıklayıcı bir belge olmuş.
0
Geryon
Güzel olmuş tebrikler.fakat 1-2 noktanın altını çizmek istiyorum
1...
Assembly programcıları int80'i direkt kullanmak zorunda değildir. Mesela ben libc kullanıyorum :)

2...
Linux'de sistem cağrıları sadece int80 ile yapılmaz
callgates'de kullanılabilir(eski çekirdeklerde sadece callgates vardı)

3..
Microsoft'un CPU ailesi(P2 ve üzeri) SYSENTER ve SYSEXIT adında 2 tane süper hızlı(x100 kat) kernel çağrısı opcodu desteklerler. Ve bu kodlar sadece ve sadece MS'in kullanabilesi için üretilmiştir.

Ancak 2.6.x'den itibaren Linux kernel'ide bunları kullanabilecek şekilde değiştirilmiştir.(sanırım önce 2.4x için patch çıkmıştı ????)
0
Nightwalker
Eleştirileriniz için teşekkür ederim. Belgenin bir sonraki sürümünde gerekli değişiklikleri yapacağım.

Ancak 3. maddeki 100 kat hız iddanızı destekleyen bir benchmark bulamadım internette. Konu ile ilgili bir benchmark raporu önerebilirseniz bu durumu da belgeye ekleyebilirim.

Görüş belirtmek için giriş yapın...

İlgili Yazılar

rsync ile Windows makinelerin Debian/GNU Linux'a yedeklenmesi

ctengiz

Uzunca bir süredir ağ içerisinde yer alan kullanıcılara ait MS Windows makinelerinin yedeklenmesi için bir çözüm arayışı içerisindeydim. Sistemin sahip olması gereken özellikleri şu şekilde sıralayabilirim :
  1. Yedek makinesinin yönetimi kolay olmalı.
  2. Sistem ağ üzerinden çalışmalı.
  3. Yalnızca değişen dosyaları yedekleyecek kadar akıllı olmalı.
  4. Çok fazla ağ trafiğine sebep olmamalı.
  5. GNU/GPL yazılımlar ile minumum maliyete sahip olmalı.
  6. Son kullanıcı için kullanımı kolay olmalı.
  7. Kendi başına zamanlanmış yedekler alabilmeli.
Bu yazıda bu hedeflere nasıl ulaşılabilineceği anlatılyor.

DNA´ya Problem Çözdürmek - Biyolojik Bilgisayarlar

malkocoglu

Matematikçi/biyolojist Leonard Adelman, biyolojik bilgisayar'ın olabileceğini ispatlamak için, DNA ve biyolojik yöntemler kullanarak, seyahat eden satış görevlisi (traveling salesman) probleminin ufak bir şeklini DNA'ya çözdürmeyi başardı. Seyahat eden satış görevlisi (SESG) problemi, çizit (graph) olarak temsil edilen şehirler arasındaki en az yol tutacak olan seyahat rotasını bulan algoritmadır.

Özgür Yazılımla ilgili bir Özgür Kitap :)

dfisek

M. Ali Vardar, yazdığı üçüncü programlama kitabı "Açık Kodlu Yazılım Geliştirme Araçları"nı yayınevlerine vermek yerine, özgür yazılım meraklılarına özgürce kullanabilecekleri bir elektronik kitap olarak PDF formatında sunmakta ve "eğer kitabı beğendiyseniz bizi destekleyin" diyerek Linux Kullanıcıları Derneği hesabına bağışta bulunmaya davet etmektedir.

C Programlama Dilinin Evrimi

sametc

Aşağıdaki yazı benim çok ilgimi çekti paylaşmak isterim sanırım herkes benim gibi bu dilin nasıl ortaya çıktığını merak etmiştir.

C'nin tarihini tartışmaya UNIX'ten bahsedilmeden başlanamaz çünkü işletim sistemi ve sistem üzerinde çalışan programların bir çoğu C'de yazılmıştır.

SFTP chroot için mini nasıl belgesi

conan

Amaç:
Bilgilerin şifreli olarak transfer edileceği bir sftp sunucusu yaratmak.

İhtiyaçlar:
SFTP kullanıcılarını işletim sistemi dosyalarından uzak tutmak. Bağlantıları için kendilerine özel bir chroot yaratmak.
SFTP kullanıcılarının sunucuya ssh üzerinden ulaşımını engellemek.
Becerebilirsek aynı servisi normal sistem yönetimi işlerinde de kullanabilecek şekilde ayarlamak.

Çözüm:
OpenSSH kaynak kodu içerisindeki sftp-server.c dosyasını yamamak ve kullanıcıları sınırlandıran bir kabuk yaratmak.

Nasıl?