Syscall

Linux nüvəsinin müxtəlif komponentləri və istifadəçi sahəsi arasında əlaqəni idarə edən sistem çağırışı interfeysi

Sistem çağırışı (ing. system call) və ya daha qısa şəkildə syscallkompüter proqramının icra olunduğu əməliyyat sistemindən xidmət tələb etdiyi proqrammatik metod. Bura cihazla bağlı xidmətlər (məsələn, sərt disk drayverinə daxil olmaq və ya cihazın kamerasına daxil olmaq), yeni proseslərin yaradılması və icrası, prosesin planlaşdırılması kimi inteqral nüvə xidmətləri ilə kommunikasiya daxil ola bilər. Sistem çağırışları proses və əməliyyat sistemi arasında mühüm interfeys təmin edir.

Əksər sistemlərdə sistem çağırışları yalnız istifadəçi məkanındakı proseslərdən edilə bilər, bəzi sistemlərdə isə, məsələn, OS/360-da imtiyazlı sistem kodu da sistem çağırışları edir.[1]

Bəzi gömülü sistemlər istisna olmaqla, əksər müasir prosessorların arxitekturası təhlükəsizlik modelini ehtiva edir. Məsələn, mühafizə halqaları proqram təminatının icra oluna biləcəyi çoxsaylı imtiyaz səviyyələrini müəyyən edir. Proqram adətən öz ünvan fəzası ilə məhdudlaşır. Beləcə o digər işləyən proqramlara və ya əməliyyat sisteminin özünə daxil ola və ya dəyişdirə bilmir və adətən cihaz təminatına (məsələn kadr buferişəbəkə cihazları) birbaşa manipulyasiyanın qarşısı alınır.

Bununla belə, bir çox proqramlar bu komponentlərə giriş tələb edir, ona görə də sistem çağırışları bu cür əməliyyatlar üçün dəqiq müəyyən edilmiş, təhlükəsiz tətbiqetmələri təmin etmək üçün əməliyyat sistemi tərəfindən əlçatan edilir. Əməliyyat sistemi ən yüksək imtiyaz səviyyəsində işləyir və tətbiqlərə sistem çağırışları vasitəsilə xidmətlər tələb etməyə imkan verir ki, bu da tez-tez kəsilmələrlə başlanır. Kəsilmə avtomatik olaraq CPU-nu bəzi yüksək imtiyazlar səviyyəsinə qoyur və sonra nəzarəti nüvəyə ötürür, bu da çağırışı edən proqrama tələb olunan xidmətin verilməsini müəyyən edir. Əgər xidmət verilirsə, nüvə həmin proqramın birbaşa nəzarəti olmayan xüsusi təlimatlar toplusunu yerinə yetirir, imtiyaz səviyyəsini çağıran proqramın imtiyaz səviyyəsinə qaytarır və sonra nəzarəti çağıran proqrama qaytarır.

  1. IBM. Writing SVC Routines // IBM System/360 Operating System System Programmer's Guide (PDF). Third Edition. March 1967. 32–36. C28-6550-2. 2020-04-02 tarixində arxivləşdirilib (PDF). İstifadə tarixi: 2023-11-08.

Xarici keçidlər

[redaktə | mənbəni redaktə et]