EOF is a carry-over from C, equivalent to std::char_traits <char> ::eof().
A "marker" is a value (which is usually treated differently than other values of similar type).
A "signal" is the sending/receipt of said value.
In the case of EOF, a byte stream can only return values in the range 0..255. When there is no more data, attempts to read it will return EOF (an integer value outside that range, typically -1 or all bits set). The marker is -1. The signal is when that value is returned.