COMP 3000 Essay 1 2010 Question 2: Difference between revisions
No edit summary |
m →Answer |
||
Line 4: | Line 4: | ||
=Answer= | =Answer= | ||
A system call is a mean by which programs in the user space can access kernel services. Systems calls vary from operating system to operating system, although the underlying concepts tends to be the same. In general, a process is not supposed to be able to access the kernel directly. It | A system call is a mean by which programs in the user space can access kernel services. Systems calls vary from operating system to operating system, although the underlying concepts tends to be the same. In general, a process is not supposed to be able to access the kernel directly. It can'y access kernel memory and it can't call kernel functions. The CPU prevents this (called "protected mode"). System calls are an exception to this rule. For example, older x86 processors used an interrupt mechanism to go from user-space to kernel-space, but newer processor (PentiumII+) provided instructions that optimize this transition (using sysenter and sysexit instructions). | ||
The Linux operating system (2.6.30+) contains hundreds of system calls. They are roughly grouped into 5 major categories: Process Control, File Management, Device Management, Information Maintenance and Comminution. | The Linux operating system (2.6.30+) contains hundreds of system calls. They are roughly grouped into 5 major categories: Process Control, File Management, Device Management, Information Maintenance and Comminution. | ||
= References = | = References = |
Revision as of 13:07, 12 October 2010
Question
How do the available system calls in modern versions of the Linux Kernel (2.6.30+) compare with the system calls available in the earliest versions of UNIX? How has the system call interface been expanded, and why? Focus on major changes or extensions in functionality.
Answer
A system call is a mean by which programs in the user space can access kernel services. Systems calls vary from operating system to operating system, although the underlying concepts tends to be the same. In general, a process is not supposed to be able to access the kernel directly. It can'y access kernel memory and it can't call kernel functions. The CPU prevents this (called "protected mode"). System calls are an exception to this rule. For example, older x86 processors used an interrupt mechanism to go from user-space to kernel-space, but newer processor (PentiumII+) provided instructions that optimize this transition (using sysenter and sysexit instructions).
The Linux operating system (2.6.30+) contains hundreds of system calls. They are roughly grouped into 5 major categories: Process Control, File Management, Device Management, Information Maintenance and Comminution.
References
Here is the original manual --Lmundt 18:29, 7 October 2010 (UTC) http://cm.bell-labs.com/cm/cs/who/dmr/1stEdman.html
Linux Programmer's Manual, Linux man-pages project. http://www.kernel.org/doc/man-pages/