Poging GOUD - Vrij
The Linux System Call Execution Model: An Insight
Open Source For You
|August 2024
This two-part series of articles focuses on the system call execution model in Linux based operating systems. This first part explains what system calls are, why they are required and the role of the glibc wrapper in system call execution. It then touches on the system call execution model from the Linux kernel perspective.
-
A system call is a request by a user space program (application) to interact with an OS executing in the kernel space. Basically, the user application invokes a system call when it requires access to the services that can only be accessed through a higher privilege mode — for example, creating a new task, doing network I/O or file I/O, or accessing hardware resources. These operations cannot be directly performed by the user space application; hence, operating systems like Linux provide a set of routines called system calls which are basically C functions executing in the kernel space.
When a user space program invokes a system call, there is a software interrupt (nowadays x86-64 provides syscall instruction for fast system call execution) and the mode switches from user space to kernel space (or more precisely, the privilege mode changes from lower to higher). Now the system call handler in the kernel space performs the required operation on behalf of the user space application and sends the response back to it.
We will see in detail in later sections as to how the user space to kernel space mode switching happens and how kernel space system call handlers are invoked. But first let’s examine the role of the standard C library in the execution of system calls.
Role of the C library When we say C library, the most commonly and widely distributed C library with a Linux based OS is glibc or GNU C library. This C library helps implement standard C functions and APIs like print(), scanf(), malloc(), fopen(), strcpy(), etc. These standard functions may or may not invoke system calls internally — for example, printf() internally invokes write(2)
Dit verhaal komt uit de August 2024-editie van Open Source For You.
Abonneer u op Magzter GOLD voor toegang tot duizenden zorgvuldig samengestelde premiumverhalen en meer dan 9000 tijdschriften en kranten.
Bent u al abonnee? Aanmelden
MEER VERHALEN VAN Open Source For You
Open Source For You
The Role of Open Source in Building Modern Data Infrastructure
It's no secret that open source is emerging as the backbone of modern data infrastructure. Here’s a list of the core open source technologies used to deploy this infrastructure, along with some real-world examples and a brief on why open source matters.
3 mins
December 2025
Open Source For You
The Whispering Machines: How Open Source is Bringing Intelligence to the Tiniest Devices
Built on open source frameworks, TinyML is enabling complex machine learning models to run on the microcontrollers embedded in connected devices, bringing artificial intelligence to the very edge of the network.
3 mins
December 2025
Open Source For You
Setting Up Snort to Secure Your Network
Snort is a popular, open source intrusion detection system that monitors traffic in real time to detect malware. Here’s a detailed explanation of how to set it up on Ubuntu and test it by generating traffic from another system.
7 mins
December 2025
Open Source For You
When AI Meets DevOps to Build Self-Healing Systems
Traditional DevOps, with its rule-based automation, is struggling to work effectively in today’s complex tech world. But when combined with AlOps, it can lead to IT systems that predict failures and solve issues without human intervention.
7 mins
December 2025
Open Source For You
How to Automate Java Code Modernisation
This short guide illustrates that automating Java code modernisation with Python and OpenAI API is not just possible-it's remarkably effective.
5 mins
December 2025
Open Source For You
The Quest to Build a Quantum Computer
The road to large-scale quantum computing is long and hard, with incremental advances paving the way. But the destination is in sight.
12 mins
December 2025
Open Source For You
Job Opportunities: What's Hot in the Cloud Space?
If there's one field that refuses to slow down, it's cloud computing. Even as automation and AI reshape roles, cloud adoption continues to surge. From startups deploying microservices overnight to enterprises migrating decades of legacy systems, cloud remains the engine of digital transformation. For professionals, this means one thing: skills that live in the cloud won't come down anytime soon.
2 mins
December 2025
Open Source For You
Securing Client Identity with Post-Quantum Cryptography
Here's a quick tutorial on how to build a secure, real world client-server model that establishes client identity by using CRYSTALS-Dilithium, a post-quantum cryptography algorithm.
3 mins
December 2025
Open Source For You
Unlocking the Power of Multi-Agent Solutions with the Microsoft Agentic Framework
The Microsoft Agentic Framework is rapidly emerging as a cornerstone for developers, architects, and technology leaders seeking to build dynamic, intelligent systems powered by multiple collaborating agents. In an era where automation, distributed intelligence, and adaptive software are increasingly vital, this framework offers robust tools and features to accelerate the design and deployment of agent-based solutions.
6 mins
December 2025
Open Source For You
Apache Iceberg and Trino: Powering Data Lakehouse Architecture
Apache Iceberg is a cornerstone of any open data lakehouse, providing the transactional foundation upon which highly scalable and flexible analytics can flourish. Along with Trino, it can be used to build a robust, scalable, and high-performance data lakehouse.
4 mins
December 2025
Listen
Translate
Change font size
