Is the Linker part of the Operating System or the Compiler/IDE?
It is part of the compiler/IDE. Or to be precise, the compiler and the linker are separate programs (invoked at separate phases of building an executable), but usually the whole bunch (which includes several other executables) is referred to as a compiler, e.g. gcc.
The linker is not part of the OS, although some OSs (such as Linux) may come bundled with one (or even multiple) linker(s) as part of some compiler toolchain(s). Regardless of this, you can install and use several different compilers (which include their own linker each) on the same OS. E.g. on a Windows OS you can have both gcc and msvc installed, although gcc can't be used with the Visual Studio IDE, as it is bundled only with msvc. But AFAIK Eclipse can use either.
Update: you seem to be confused by the name similarity between the linker in the compiler toolchain and the dynamic linker of an OS.
The linker of the compiler toolchain does its job during the build process, when it needs to patch together different compilation units to form a coherent executable program. Often, the code contains calls to external libraries; these libraries can be either static or dynamic. Static libraries are basically storages of executable methods, which the linker can physically copy into an executable. Dynamic libraries contain methods which need not be copied; instead, the linker stores a sort of reference to the library method into the executable. When the executable is run, the dynamic library is loaded with the help of the OS, and the library method is then called. This is accomplished by a part of the OS which is, rather unfortunately, called the dynamic linker - however this is entirely different from the linker in the compiler toolchain, and should rather be called loader.
Dynamic libraries can be shared in memory, i.e. the same library code can be used by multiple executables in parallel (hence they are also referred to as shared libraries). Whereas code copied from static libraries is duplicated across all executables.
The linker is part of the compiler tool chain (preprocessor -> compiler -> assembler -> linker).
it is part of compiler usually. technically compiler and linker are different tools, but they usually come together.