Linux/Unix is simple:

    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.)