קריאת מערכת

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

קריאת מערכתאנגלית: system call) היא בקשה של תוכנת מחשב ממערכת ההפעלה לבצע פעולה שהיא אינה יכולה לבצע בעצמה. קריאות מערכת משמשות את התוכנות לגישה למרבית רכיבי החומרה של המחשב (למשל קריאת קובץ מהדיסק הקשיח), ליצירת תהליך חדש, להעברת מידע בין תהליכים ועוד.

כל תהליך הוא בעל רמת הרשאה שמאפשרת להפעיל פקודות מסט הפקודות של המעבד ולכל פקודה בסט הפקודות יש רמת הרשאה הנדרשת על מנת להפעילה. רמות ההרשאה האלו נקראות rings. במעבדים בעלי ארכיטקטורת IA-32 למשל, ישנן 4 הרשאות, מ-0 עד 3, כאשר ring 0 היא הרשאה שמאפשרת ביצוע של כל הפקודות ו-ring 3 היא רמת ההרשאה המוגבלת ביותר. מערכת ההפעלה רצה ב-ring 0 ומקבלת גישה לכל הפקודות שהמעבד מספק. כאשר תהליך שרץ תחת מערכת ההפעלה מעוניין להריץ פקודה שאין לו הרשאה לבצעה, עליו לפנות למערכת ההפעלה בבקשה שתבצע עבורו את השירות. הקריאות האפשריות, כמו גם הפרמטרים אותם יש להעביר נקבעים ב-API של מערכת ההפעלה.

תהליך מבצע קריאת מערכת באמצעות הרצת פקודה מסט הפקודות של המעבד שגורמת ליצירת פסיקה. הפסיקה מפסיקה את הרצת התהליך ומתחילה להריץ קוד של מערכת ההפעלה שתפקידו לטפל בקריאות מערכת. במקרה שהתהליך מנסה להריץ בעצמו פקודה שאין לו הרשאה להריצה, המעבד יזהה זאת ויודיע למערכת ההפעלה על ידי יצירת פסיקה שמפעילה שגרה של מערכת הפעלה שמטפלת בכך.

Crystal Clear app ktalkd.png ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.