ਇੱਕ system call (syscall) ਉਹ ਵਿਧੀ ਹੈ ਜੋ ਇੱਕ user-space ਪ੍ਰੋਗਰਾਮ kernel ਤੋਂ ਕੋਈ ਸੇਵਾ ਮੰਗਣ ਲਈ ਵਰਤਦਾ ਹੈ — ਇੱਕ file ਖੋਲ੍ਹਣੀ, network data ਭੇਜਣਾ, ਮੈਮੋਰੀ allocate ਕਰਨੀ, ਇੱਕ process ਬਣਾਉਣਾ। ਕਿਉਂਕਿ ਇਹ ਕਾਰਵਾਈਆਂ ਹਾਰਡਵੇਅਰ ਨੂੰ ਛੂੰਹਦੀਆਂ ਹਨ ਜਾਂ ਦੂਜੇ processes ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀਆਂ ਹਨ, ਸਿਰਫ਼ kernel ਹੀ ਇਹ ਕਰ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਇੱਕ syscall ਜਾਣਬੁੱਝ ਕੇ ਸੁਰੱਖਿਆ ਸੀਮਾ ਨੂੰ ਪਾਰ ਕਰਦਾ ਹੈ।
user mode ਬਨਾਮ kernel mode
CPU (ਘੱਟੋ-ਘੱਟ) ਦੋ ਅਧਿਕਾਰ-ਪੱਧਰਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚ ਚੱਲਦਾ ਹੈ:
user mode → restricted: no direct hardware access, no privileged instructions
kernel mode → full access: hardware, all memory, privileged CPU instructions
