5
“ การเรียกของระบบ” มีความหมายอย่างไรหากไม่มีการใช้งานในภาษาโปรแกรม
ฉันต้องการที่จะเข้าใจคำว่า "การเรียกระบบ" ฉันคุ้นเคยกับการเรียกใช้ระบบเพื่อรับบริการเคอร์เนลจากแอปพลิเคชัน userspace ส่วนที่ฉันต้องการชี้แจงด้วยคือความแตกต่างระหว่าง "การเรียกระบบ" และ "การใช้งาน C ของการเรียกระบบ" นี่คือข้อความที่ทำให้ฉันสับสน: บนระบบที่คล้าย Unix API นั้นมักจะเป็นส่วนหนึ่งของการใช้งาน C library (libc) เช่น glibc ซึ่งมีฟังก์ชั่น wrapper สำหรับการโทรของระบบซึ่งมักจะตั้งชื่อเหมือนกับการเรียกระบบที่พวกเขาเรียก "การเรียกระบบที่พวกเขาเรียก" คืออะไร? แหล่งของพวกเขาอยู่ที่ไหน ฉันสามารถรวมพวกเขาโดยตรงในรหัสของฉัน? "การเรียกของระบบ" ในแง่สามัญเพียงแค่ POSIX อินเตอร์เฟสที่กำหนด แต่จริง ๆ แล้วเห็นการใช้งานอย่างใดอย่างหนึ่งสามารถตรวจสอบแหล่ง C และในนั้นดูว่าผู้ใช้จริงเพื่อการสื่อสารเคอร์เนลจริงไป? บันทึกพื้นหลัง: /devฉันพยายามที่จะเข้าใจถ้าในท้ายที่สุดแต่ละฟังก์ชั่นคปลายขึ้นโต้ตอบกับอุปกรณ์จาก
14
kernel
c
posix
system-calls