The kernel provides a set of system calls to allow various types of requests, such as access to hardware, access to networking, access to "the" file tree, The kernel additionally exposes logical filesystems for so that applications can use open(2), read(2), and write(2) to view and modify kernel state. Various libraries can also be mmap(2)'ed so that code can be executed by an application. Linux/Unix uses a single "file tree" starting at "/", with the idea of "mount(2)'ing" filesystems on the file tree. Most devices are accessed via special files created with mknod(2). The exception here is access to networking devices, which use dedicated system calls. Daemons (persistent processes) provide services that are logical fits in userland.
Windows is much more complex, reminiscent of operating system designs from the 1970s. Following the excellent sixth edition of Russinovich's "Windows Internals", here's a description of Windows gross architecture:
Like Linux/Unix, there is a split between userland and kernel mode activity. However, the kernel mode is split into five main components: The Windows "executive", which presents the base view of most of the kernel to userland. Below the "executive", there is what is called "kernel" and there are "device drivers". Below the "kernel" and "device drivers", there is a "hardware abstraction layer" (HAL). Parallel to the above components sit the "windowing and graphics" component. Userland is also similarly complex: "System support processes" are independent and not controlled by the service control manager (an example would be the logon process.) These usually interact directly with kernel mode. "Service processes" provide Windows services and are independent from logon and related processes. These use subsystem DLLs to request kernel mode activities. "User applications" are, well, "user applications". These also use subsystem DLLs to request kernel mode activities. "Environment subsystem server processes". In modern systems, these provide a POSIX-like environment for processes called "SUA" (Subsystem for Unix-based Applications.)