Skip to content

Glossary

Steve Cirelli edited this page May 18, 2022 · 14 revisions

Block device:
Block devices behave in a similar fashion to regular files, allowing a buffered array of cached data to be viewed or manipulated with operations such as reads, writes, and seeks. Can be accessed through device files that are attached to the file system tree. Block devices are identified by a b in the first column of a listing ls -l.

Character device:
A character device typically transfers data to and from a user application — they behave like pipes or serial ports, instantly reading or writing the byte data in a character-by-character stream. They provide the framework for many typical drivers, such as those that are required for interfacing to serial communications, video capture, and audio devices. Can be accessed through device files that are attached to the file system tree. Character devices are identified by a c in the first column of a listing ls -l.

Device driver major number:
Device drivers have an associated major and minor number. The major number is used by the kernel to identify the correct device driver when the device is accessed. Device driver minor number:
The role of the minor number is device dependent, and is handled internally within the driver.

General Purpose Input/Outputs:
GPIOs

Interrupt service routine:
ISR. Interrupt handler function.

LKM:
loadable kernel module.

Linux SBC:
Linux single board computer.

VFS:
Virtual File System

Sysfs:
Is a memory-based file system that provides a mechanism to export kernel data structures, attributes, and linkages to Linux user space.

kobject:
A kobject is a struct that consists of a name, a reference count, a type, a sysfs representation, and a pointer to a parent object. Importantly, kobjects are not useful on their own, rather they are embedded within other data structures and used to control access. This is similar to the object-oriented concept of generalized top-level parent classes (e.g., such as the Object class in Java, or the QObject class in Qt).

ktype:
A ktype is the type of the object that the kobject is embedded within. It controls what happens when the object is created and destroyed.

kset:
A kset is a group of kobjects that can be of different ktypes. A kset of kobjects can be thought of as a sysfs directory that contains a collection of sub-directories (kobjects).

size_t, ssize_t:
The size_t type is used to represent the size of objects in memory. The ssize_t is the same as size_t, but is a signed type - read ssize_t as "signed size_t". ssize_t is able to represent the number -1, which is returned by several system calls and library functions as a way to indicate error.

Clone this wiki locally