Language Selection

English French German Italian Portuguese Spanish

How System Calls Work in Linux?

Filed under

Every GNU/Linux programmer here reading this article must have used system calls to code their programs. GNU/Linux programming is incomplete without system calls. System calls are initiated by software interrupts. Before we delve into that, however, let’s define system calls.

A system call is the mechanism used by an application program to request service from the operating system, or more specifically, the operating system kernel.

Modern processors execute instructions in different privilege states. In system, where just two levels are defined (as in i386), these states are known as user mode and supervisor mode. These privilege levels are defined so that an operating system restrict can control the operations performed by the program. Controlling is done for reasons of security and stability. The kernel of the operating system should always run in privilege mode since it needs to do some operations. Such operations include accessing hardware devices, enabling and disabling interrupts, changing privileged processor state, and accessing memory management units.

Now with this setup of an operating system (with two modes of execution (considering only i386 architecture only)), we need a mechanism to transfer control safety from lesser privileged modes to higher privileged modes.

Full Story.

More in Tux Machines

At the Heart of OpenStack Evolution

As it matures, OpenStack's parallel to Linux is clearer. Linux emerged 20 years ago as a somewhat exotic challenger to proprietary operating systems. Today, it is one of the most popular and widely used OSes. However, Linux still exists in a market of mixed use. It's likely that OpenStack will be subject to the same effect, becoming a viable option among a number of cloud infrastructures. Read more

GParted Live Gets the Latest Updates from Debian Sid

GParted Live, a small bootable GNU/Linux distribution for x86-based computers that can be used for creating, reorganizing, and deleting disk partitions, has been upgraded to version 0.23.0-2 and is now available for download. Read more

MATE-Desktop 1.11 Released, Working Towards MATE 1.12

MATE developers are currently working towards MATE 1.12. MATE 1.12 is expected to have full support for GTK3, initial support for Wayland, support for GNOME Account Servers, full support for systemd's logind, xf86-input-libinput driver support, and various other changes. The work-in-progress items can be found via the MATE-Desktop Roadmap. Read more

Enlightenment 0.20 Alpha Has Full Wayland Support, Better FreeBSD Support

Enlightenment DR 0.20 Alpha has been released as the first step towards E20 with one year having passed since E19. Enlightenment E20 in its current state has full Wayland support with much better, more featureful support than what's found in E19. That's why Wayland support was removed from E19 rather than for any nefarious reasons. Read more