Linux is strictly a kernel; bundled with the shell, GNU tools, and a C library it forms a complete, open-source, Unix-like OS with a monolithic kernel.
Here's a precise fact people get wrong: Linux is *strictly just a kernel* — the core that Linus Torvalds released in 1991. What you install and call "Linux" is a distribution: that kernel bundled with a shell, the GNU command-line tools, a C library, and a package manager. Together they form a complete, open-source, Unix-like operating system. (This is why some insist on the name "GNU/Linux".)
The Linux kernel is monolithic: the scheduler, memory manager, file systems, and device drivers all run together in one privileged address space, which is fast because there's no costly boundary between them. To stay flexible, Linux also supports loadable kernel modules — drivers you can insert and remove at runtime without rebuilding the kernel. It's licensed under the GPL, so its source is public and freely modifiable, and it follows POSIX, a standard set of OS interfaces that lets Unix software move between systems.
When you type a command, it travels down a clear stack. The shell parses what you typed and launches a program. That program calls a function in the C library (commonly glibc), which issues the actual system call — a trap into the kernel. The kernel, running in privileged mode, does the protected work through a device driver, then hands the result back up the chain.
app --> shell --> C library (glibc) --> system call --> kernel --> hardware
parses wraps the call traps in drivers disk/NIC
& launches (user->kernel)/proc/cpuinfo all use the *same* read() interface — one small set of operations works on almost everything.