System Calls
Every piece of code can run in one of two contexts: user mode and
kernel mode. A user's program normally runs in user mode. By contrast,
device drivers and file systems run in kernel mode. In user mode, the
code executes in a protected environment and thus can't damage the
system's other processes. Code that executes in kernel mode has full
access to the hardware and low-level system resources.
Consider a device driver. In order to operate, it must have
unrestricted access to the device it controls. Therefore, it must
execute in kernel mode. It provides services to processes running in
user mode, which cannot access the device directly. The technical
details of calling through user/kernel mode are usually hidden from the
programmer. A user typically invokes a system call (syscall for short)
that interacts with the hardware and returns a value. Superficially,
syscalls look like ordinary C functions. However, they differ from
ordinary functions in two important aspects:
* Argument passing
» posted by ITworld staff
ITworld
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
Esther Schindler
If the comments are ugly, the code is ugly
claird
SVG a graphics format for 21st century
pasmith
Take Chrome OS for a test spin
Sandra Henry-Stocker
Solaris Tip: Have Your Files Changed Since Installation?
jfruh
Android fragments vs. the iPhone monolith
mikelgan
What Gizmodo missed about the Pro WX Wireless USB disk drive
Where Google Chrome security fails: the password
I heard mention that the Chrome OS will have some sort of encryption available a la bitlocker. If it's possible to encrypt personal data using another password or key, then it may have potential for very secure data.... And Ubuntu has an 'encrypt home directory' option, perhaps google should follow suit.
- Dann
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













