This is a segment register. The X86 has six of them: CS, DS, ES, SS, FS and GS (FS and GS were new in 80386). Mnemonics come from their roles: code segment, data segment, extended segment (in fact, auxiliary register), stack segment. These roles are hard-coded in the semantics of x86 build instructions. FS and GS are auxiliary, like ES, so they just carry the next letters after E.
In 32-bit protected mode, which is usually used (for example, on Windows, Linux, * BSD), CS, DS, ES and SS are set with base 0 and 4Gig limit, and memory protection is performed only with page permissions. FS indicates the flow information block (TIB) in user mode and the processor control area (KPCR) in kernel mode. Matt Pietrek wrote a pretty good article about this a few years ago, which is still available on MSDN.
source share