1/27
This set covers systems programming definitions, software categories, OS architecture specifically Linux, system calls, the differences between C and C++, bitwise operators, and memory manipulation functions.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
System
A collection of various components.
Programming
The activity of designing and implementing programs.
Systems Programming
The activity of designing and implementing system programs.
System Programs
Programs required for the effective execution of general user programs on a computer system.
Utilities
Small programs or tools designed to perform specific tasks that help manage, maintain, or support system functionality.
Application Software
A program or set of programs used to solve a problem using the computer as an instrument, providing services to the user like word processors or web browsers.
System Software
Software that supports the operation of the computer, interfacing between hardware and application software, including compilers, loaders, and operating systems.
Operating System (OS)
A special program that resides between the computer hardware and application software.
Linux
A multiuser, multitasking, free and open source operating system with a Unix-like feel.
Linux Distributions
Packages consisting of the Linux kernel, basic software/utilities, and a package manager; examples include Debian, Fedora, Gentoo, and Kali.
Kernel
The central part of the OS that interfaces directly with the hardware.
Shell
The user interface for command execution in a Linux OS architecture.
System Calls
Generally available as assembly-language instructions, these provide the API interaction with system resources and transition the system from user mode to kernel mode.
GNU C Library (glibc)
A library that facilitates system calls by providing wrappers, support for threading, and basic application services.
User Mode
A CPU mode where certain instructions, such as modifying page tables, are prohibited to prevent abuse.
Kernel Mode
A privileged CPU mode where the OS code takes control, updates privileges, and performs requested functions.
Context-switch
The expensive process where the hardware saves its state and the OS code takes control of the CPU during a system call.
errno
A variable used to store an error number when a system call error occurs.
perror()
A function called to display an error message when a system call fails.
Procedural Programming
The programming paradigm followed by C where importance is given to the sequence of steps and a top-down approach.
Function Overloading
A feature supported by C++ using polymorphism that allows multiple functions with the same name, which is absent in C.
NAMESPACE
A feature in C++ used to avoid name collisions that is not present in C.
Reference Variables
A feature in C++ that allows two variable names to point to the same memory location, which is not allowed in C.
Bitwise Operators
Operators that perform bit-by-bit operations on integral types, providing the power of a low-level language for memory manipulation.
Mask
A value used in conjunction with bitwise operators to set bits on or off or to determine if a bit is currently on or off.
memcpy
void∗memcpy(void∗dest,constvoid∗src,sizetn); - Copies a block of n bytes from src to dest and returns a pointer to dest.
memset
void∗memset(void∗s,intc,sizetn); - Sets n bytes of s to the byte value c.
memcmp
intmemcmp(constvoid∗s1,constvoid∗s2,sizetn); - Compares the first n bytes of two arrays; the comparison is case sensitive.