İşletim Sisteminde Sistem Çağrısı (Operating Sistemi): Nedir, Türleri ve Örnekleri
Sistem Çağrısı Nedir? OperaSistem mi?
A sistem çağrısı bir işlem ile işletim sistemi arasında arayüz sağlayan bir mekanizmadır. Bir bilgisayar programının işletim sisteminin çekirdeğinden bir hizmet talep ettiği programlı bir yöntemdir.
Sistem çağrısı, işletim sisteminin servislerini API (Uygulama Programlama Arayüzü) aracılığıyla kullanıcı programlarına sunar. Sistem çağrıları çekirdek sistemi için tek giriş noktalarıdır.

Sistem Çağrısı Örneği
Örneğin, bir dosyadaki verileri okumak için bir program kodu yazmamız gerekiyorsa, bu verileri başka bir dosyaya kopyalayın. Programın ihtiyaç duyduğu ilk bilgi, iki dosyanın, yani giriş ve çıkış dosyalarının adıdır.
Etkileşimli bir sistemde, bu tür program yürütme, işletim sistemi tarafından bazı sistem çağrıları gerektirir.
- İlk çağrı ekrana bir teşvik mesajı yazmaktır
- İkincisi, klavyeden iki dosyayı tanımlayan karakterleri okumaktır.
Sistem Çağrısı Nasıl Çalışır?
İşletim Sisteminde Sistem Çağrısı adımları şunlardır:
Yukarıda verilen Sistem Çağrısı örnek şemasında görebileceğiniz gibi.
) 1 Adım Bir sistem çağrısının onu kesmesine kadar kullanıcı modunda yürütülen işlemler.
) 2 Adım Bundan sonra sistem çağrısı çekirdek modunda öncelik esasına göre yürütülür.
) 3 Adım Sistem çağrısının yürütülmesi bittiğinde kontrol, kullanıcı moduna geri döner.,
) 4 Adım Kullanıcı işlemlerinin yürütülmesine şu tarihte devam edildi: Çekirdek modu.
İşletim Sisteminde neden Sistem Çağrılarına ihtiyacınız var?
İşletim sisteminde sistem çağrılarına ihtiyaç duyulan durumlar şunlardır:
- Dosyalardan okuma ve yazma, sistem çağrılarını gerektirir.
- Bir dosya sistemi dosya oluşturmak veya silmek istiyorsa sistem çağrıları gereklidir.
- Sistem çağrıları yeni süreçlerin oluşturulması ve yönetilmesi için kullanılır.
- Ağ bağlantılarının paket göndermek ve almak için sistem çağrılarına ihtiyacı vardır.
- Tarayıcı, yazıcı gibi donanım cihazlarına erişim, sistem çağrısı gerektirir.
Sistem çağrısı türleri
İşletim sistemindeki beş Sistem Çağrısı türü şunlardır:
- Süreç kontrolü
- Dosya yönetimi
- Cihaz yönetimi
- Bilgi Bakımı
- İletişim
Süreç kontrolü
Bu sistem çağrıları süreç oluşturma, süreç sonlandırma vb. görevlerini yerine getirir.
fonksiyonlar:
- Bitir ve İptal Et
- Yükle ve Çalıştır
- Süreç Oluştur ve Süreci Sonlandır
- Bekle ve Signal Etkinlikler
- Bellek ayırma ve boşaltma
Dosya yönetimi
Dosya yönetimi sistemi çağrıları, dosya oluşturma, okuma ve yazma vb. gibi dosya işleme işlerini yönetir.
fonksiyonlar:
- Bir dosya oluştur
- Dosyayı sil
- Dosyayı aç ve kapat
- Okuyun, yazın ve yeniden konumlandırın
- Dosya niteliklerini alma ve ayarlama
Cihaz yönetimi
Aygıt yönetimi, aygıt tamponlarından okuma, aygıt tamponlarına yazma vb. gibi aygıt manipülasyonu işini yapar.
fonksiyonlar:
- Cihazı talep edin ve serbest bırakın
- Cihazları mantıksal olarak takma/çıkarma
- Cihaz niteliklerini alma ve ayarlama
Bilgi Bakımı
Bilgiyi ve işletim sistemi ile kullanıcı programı arasındaki aktarımını yönetir.
fonksiyonlar:
- Saati ve tarihi alma veya ayarlama
- Süreç ve cihaz niteliklerini alın
Yakın İletişim
Bu tür sistem çağrıları özellikle süreçler arası iletişim için kullanılır.
fonksiyonlar:
- İletişim bağlantılarını oluşturun, silin
- Mesaj gönder, al
- İşletim sisteminin durum bilgilerini aktarmasına yardımcı olun
- Uzak cihazları takın veya çıkarın
Sistem Çağrısı için Parametreleri geçirme kuralları
Parametreleri Sistem Çağrısına geçirmek için genel ortak kurallar şunlardır:
- Parametreler işletim sistemi tarafından yığının üzerine itilmeli veya yığından çıkarılmalıdır.
- Parametreler kayıtlara aktarılabilir.
- Kayıtlardan daha fazla parametre olduğunda, bir blokta saklanmalı ve blok adresi bir kayıt defterine parametre olarak aktarılmalıdır.
İşletim Sisteminde Kullanılan Önemli Sistem Çağrıları
Bekle()
Bazı sistemlerde, bir sürecin başka bir sürecin yürütülmesini tamamlamasını beklemesi gerekir. Bu tür bir durum, bir ana sürecin bir alt süreç oluşturduğunda ve ana sürecin yürütülmesi, alt süreç yürütülene kadar askıda kaldığında ortaya çıkar.
Ana sürecin askıya alınması wait() sistem çağrısıyla otomatik olarak gerçekleşir. Alt süreç yürütmeyi sonlandırdığında kontrol ana sürece geri döner.
çatal()
İşlemler bu sistem çağrısını kendilerinin kopyası olan işlemler oluşturmak için kullanır. Bu sistemin yardımıyla Call parent süreci bir alt süreç oluşturur ve ana sürecin yürütülmesi, alt süreç yürütülene kadar askıya alınır.
yürüt()
Bu sistem çağrısı, halihazırda çalışmakta olan bir işlemin bağlamında eski yürütülebilir dosyanın yerini alan yürütülebilir bir dosya olduğunda çalıştırılır. Ancak, yeni bir süreç oluşturulmadığından orijinal süreç tanımlayıcısı kalır, ancak yığın, veri, kafa, veri vb. yeni süreçle değiştirilir.
öldürmek()
Kill() sistem çağrısı, işletim sistemi tarafından, işlemin çıkmasını teşvik eden bir işleme sonlandırma sinyali göndermek için kullanılır. Bununla birlikte, bir kill sistemi çağrısı mutlaka sürecin sonlandırılması anlamına gelmez ve çeşitli anlamlara sahip olabilir.
çıkış()
Exit() sistem çağrısı program yürütmeyi sonlandırmak için kullanılır. Özellikle çok iş parçacıklı ortamda bu çağrı, iş parçacığı yürütmesinin tamamlandığını tanımlar. İşletim sistemi, çıkış() sistem çağrısının kullanılmasından sonra işlem tarafından kullanılan kaynakları geri alır.
ÖZET
Kategoriler | Windows | Unix |
---|---|---|
proses kontrol | Süreci oluşturmak() Çıkış İşlemi() WaitForSingleObject() |
çatal() çıkış() Bekle() |
Cihaz manipülasyonu | SetConsoleMode() ReadConsole() WriteConsole() |
loctl() oku () yazmak() |
Dosya işleme | Dosya oluştur() Dosyayı Oku() Dosya Yaz() CloseHandle() |
Açık() Okumak() yazmak() kapalı!) |
Bilgi bakımı | GetCurrentProcessID() Zamanlayıcıyı Kur() Uyku() |
getpid() alarm() uyku() |
Yakın İletişim | CreatePipe() CreateFileMapping() MapViewOfFile() |
Boru() shm_open() mmmap() |
Koruması | SetFileSecurity() Güvenliği BaşlatDescriptveya() Güvenlik AyarlaDescriptveyaGrup () |
Chmod() Umask() Chown() |