ArchiveJuly 2019

Linux Device Model


Prior to version 2.6, the kernel did not have a unified model to obtain information about it. For this reason, a model has been developed for Linux devices, Linux Device Model. The main purpose of this model is to maintain internal data structures that reflect the state and structure of the system. Such information includes what devices exist in the system, in what state they are in terms of...

Plug and Play


Plug and Play is a technology that provides support for automatically adding and removing devices in the system. In this way the conflicts related to the resources used by them are reduced by automatic configuration at system startup. To meet these goals, the following characteristics are required: – Automatic detection of adding and removing devices from the system (the device and its bus...

Memory mapping in Linux


In the Linux kernel, it is possible to map a kernel address space to a user address space. This eliminates the overhead due to the copying of user-space information into kernel-space and vice versa. This can be done through a device driver and its device (/ dev) interface in user-space. This feature can be used by completing the mmap operation from the struct file_operations associated with the...

VFS Virtual Filesystem


Virtual Filesystem, also known as VFS, is a component of the kernel that handles all system calls related to files and file systems. VFS is a generic interface between the user and a particular file system. This simplifies the implementation of file systems and provides easy integration of multiple file systems. In this way, the implementation of a file system is achieved by using the API...

Programming the kernel


It is important to note that kernel programming differs significantly from userspace programming. The kernel is a standalone entity, which cannot use userspace libraries, even libc on Linux or kernel32.dll on Windows. As a result, the usual functions used in userspace (printf, malloc, free, open, read, write, memcpy, strcpy, etc.) can no longer be used. In conclusion, kernel programming is based...

The GO programming language


The GO language was created by Google to eliminate licensing issues with Java and C # (net dot) languages ​​and in order to avoid legal processes regarding the Java and Dalvik virtual machine in the Android system. More specifically, Google wanted to eliminate the dependency on proprietary systems of Oracle and Microsoft, giving developers a new toy. Go was created by Google because they have...

C++ language instructions


In order to generate the desired results, a program has to handle the data in a well-specified way. The description of these actions is done using the programming language instructions. The commands the program gives to the computer when the program is running are called instructions. The C ++ language instructions are: 1. expression statement 2. the compound statement 3. the if statement 4. the...

The C++ programming language


In the early 70’s appeared the C-language, developed by Dennis Ritchie and Brain Kernighan. The C ++ language is the creation of Bjarne Stroustrup and is an extension of the C language that allows programming on objects. Creating a C ++ written program requires four steps: 1. editing-writing the source program by creating a file with the cpp extension; 2. compile-it returns to the internal...

Command Line Parameters in the C language


CLI is an acronym for command-line interface or command line interpreter and represents a mechanism for interacting with a computer, operating system or software by introducing sequential, line-by-line commands. This interface, which is based only on text input, contrasts with graphical user interface (GUI) interactions, which use mouse devices to select options or menus. Entering commands via...

File operations in the C language


A file is a dynamic structure located in the secondary memory. The C language allows the following file operations: – like text – such a file contains a line of lines separated by a newline (‘\ n’) – by binary – such a file contains a sequence of bytes without any structure. Editing a file involves associating it with an I/E channel called stream or stream...

Recent Posts