Terms
This is my (currently not so) big list of software engineering terminology and definitions, in alphabetical order.
- Cooperative multitasking
- Tasks run and yield control to other tasks of their own volition
- Common in event loops, such as
asyncio
inPython
- Exit status
- A special termination status that the process sets itself as it calls the
_exit()
system call - Note that
_exit()
is a system call - a process cannot terminate itself!
- A special termination status that the process sets itself as it calls the
- File descriptor
- Unique integer denoting an open file
- Sometimes referred to as a file handle
- Group process id (GPID)
- Only for shells with job control
- Each process in a process group has the same GPID
- The process group leader has
PID == GPID
- Kernel space
- Area of virtual memory that can only be accessed in kernel mode
- Parent process ID (PPID)
- Process ID of the parent process
- Preemptive multitasking
- A scheduler (such as an OS kernel) decides when and how tasks (e.g. processes) run.
- See Linux
- Process
- A running instance of a program
- Process group
- A collection of related processes
- Sometimes called a job
- Requires a shell with job control
- Process ID (PID)
- A small non-negative integer representing the process
- Root (username)
- The (most common) login name of the superuser on a *NIX system
- Root (hierarchy)
- The topmost element of some hierarchy, usually a tree
- Session (UNIX)
- A collection of process groups
- Used primarily by job-control shells
- Session leader (UNIX)
- Process that created its session
- Static library
- A library that is statically linked with (i.e. copied into) a program at compile time
- Shared library
- A library that is dynamically linked with a program as it is loaded
- Single UNIX Specification (SUS)
- Standards for UNIX operating systems
- Various versions, the most important one is SUSv3.
- Termination status
- A small non-negative integer that is "emitted" by as the program terminates
- Non-zero termination status indicates an error
- User space
- Area of virtual memory that is allocated for a user mode process
- UNIX
- Originally an operating system, now a set of standards
- See Linux
- Virtual private computer
- Multi-user operating systems provide each user with a (mostly) private computer experience