# Glossary M

main program | The first program unit to receive control when a program is run; it exercises control over subprograms. The main program usually contains a PROGRAM statement (or does not contain a SUBROUTINE, FUNCTION, or BLOCK DATA statement). Contrast with subprogram.
makefile | On Linux* and macOS systems, an argument to the make command containing a sequence of entries that specify dependencies. On Windows* systems, a file passed to the NMAKE utility containing a sequence of entries that specify dependencies. The contents of a makefile override the system built-in rules for maintaining, updating, and regenerating groups of programs. For more information on makefiles on Linux* and macOS systems, see make(1). For more information on using makefiles, see Using Makefiles to Compile Your Application in Compiler Setup.
many-one array section | An array section with a vector subscript having two or more elements with the same value.
master thread | This is a deprecated term. In an OpenMP* Fortran program, the thread that creates a team of threads when a parallel region (PARALLEL construct) is encountered. The statements in the parallel region are then executed in parallel by each thread in the team. At the end of the parallel region, the team threads synchronize and only the master thread continues execution. See also thread and primary thread.
merged task | A task whose data environment, inclusive of internal control variables, is the same as the data environment of its generating task region. Internal control variables (ICVs) are discussed in the latest OpenMP* specifications.
message file | A Linux* and macOS catalog that contains the diagnostic message text of errors that can occur during program execution (runtime).
metacommand | See compiler directive.
misaligned data | Data not aligned on a natural boundary. See also natural boundary.
module | A program unit that contains specifications and definitions that other program units can access (unless the module entities are declared PRIVATE). Modules are referenced in USE statements.
module procedure | A subroutine or function that is not an internal procedure and is contained in a module. The module procedure appears between a CONTAINS and END statement in its host module, and inherits the host module's environment through host association. A module procedure can be declared PRIVATE to the module; it is public by default.
multibyte character set | A character set in which each character is identified by using more than one byte. Although Unicode characters are 2 bytes wide, the Unicode character set is not referred to by this term.
multitasking | The ability of an operating system to execute several programs (tasks) at once.
multithreading | The ability of an operating system to execute different parts of a program, called threads, simultaneously. If the system supports parallel processing, multiple processors may be used to execute the threads.

Parent topic: Glossary