As most (if not all) of the answers aim on primitive datatypes (like an int in Java), I would like to offer an alternative (even though this definition is not as broadly used as the datatype one).
In a lecture about Operating Systems I attended this semester, the term primitive was often used as a broader term for "attributes" a given functionality could have.
For example a barrier (a synchronization point for multiple threads) in general has implemented something like the wait() function (in C). This function could also be considered a primitive, because it is one of the few functions/variables that are needed to implement every other (more complex) function.
Another example would be: an I/O-device-driver where the communication could be handled via interrupts or some form of memory (pipes/shared-memory/etc) and the interrupt/memory can be called a primitive for the drivers functions.
Allthough what I explained is a possible definition of the term primitive, in most cases the more-likely to be used definition is: "primitive is more or less equivalent to primitive datatypes".
And especially in the case of ops example the primitve datatype definition is most likely to be the right one. (but for everyone searching for the term primitive in a broader context this hopefully can help a little)