Process management
Creates execution contexts, schedules CPU time, switches contexts and coordinates termination.
Code
Bhavya
Understand what belongs inside a kernel, why kernels use different structures and exactly how a system call moves from an application to a protected service and back.
The kernel stays active throughout system operation and controls resources that applications must not manipulate directly.
Creates execution contexts, schedules CPU time, switches contexts and coordinates termination.
Maintains address spaces, mappings, permissions, allocation and virtual-memory state.
Coordinates device drivers, controllers, interrupts, buffering and data transfer.
Maps file names and offsets to persistent storage while checking access permissions.
Implements protocol processing, sockets, routing decisions and interface coordination.
Validates identities, addresses, object handles and requested operations at trust boundaries.
The central design question is not merely “large or small.” It is which services share a privileged address space and how components communicate.
Major services—including scheduling, memory, file systems and many drivers—execute together in kernel space. Direct calls can be fast, but a faulty privileged component can damage the whole system.
Keeps only essential mechanisms in the kernel and moves more services into isolated user-space servers. Isolation and replaceability improve, while message crossings may add cost.
Organizes the system into ordered levels where each layer uses lower-layer services. Reasoning is clearer, though strict layering can be difficult and inefficient.
Combines a substantial privileged kernel with loadable modules or selected microkernel ideas, seeking practical performance and maintainability.
Select a structure to see its placement of services and the trade-off an engineer must defend.
These terms sit near one another in execution, but each is a different contract.
Names, types and behaviours a programmer uses in source code, such as a library’s function interface.
Calling convention, register use, object format and binary rules that let compiled parts cooperate.
Numbered kernel entry points and argument conventions used to request privileged services.
The process, memory, file or network implementation that validates and performs the operation.
The system-call number identifies the operation; arguments describe the object and requested work.
A small number of values are placed directly in CPU registers. This is efficient but limited by the architecture’s register convention.
The process stores arguments in a structure and passes its address. The kernel must safely copy and validate user memory.
Arguments are placed on the calling process’s stack according to a convention. The kernel cannot blindly trust the supplied values.
Choose an outcome and step through the register setup, privilege transition, validation, dispatch and return path.
| Category | Purpose | Representative operations |
|---|---|---|
| Process control | Create, execute, wait for and terminate processes. |
fork, execve, wait, exit
|
| File management | Open objects and transfer or update stored data. |
open, read, write, close
|
| Device management | Request device operations and control parameters. |
ioctl, read/write through device descriptors |
| Information | Read or change process and system attributes. |
getpid, clocks, limits and metadata calls |
| Communication | Create channels and exchange data. |
pipe, sockets, shared-memory operations |
| Protection | Manage identities, permissions and ownership. | permission, credential and access-control operations |
Select an operation to inspect whether it can remain in user space and what condition changes the answer.
Arguments originate in less-trusted user space, so correctness requires validation before privileged work.
Is the call number a supported operation?
Are sizes, flags, handles and pointers well formed?
May this user and process access this object?
Execute while maintaining locks and invariants.
Expose only the intended data and a defined status.
A call includes entry/exit work, validation and possible scheduling or device delay. Avoid unnecessary calls, but never bypass protection for speed.
A blocking call may move the process to waiting until progress is possible. A non-blocking call returns promptly, sometimes reporting “try again.”
Each choice explains the precise idea behind it.
The kernel records what the process is waiting for, changes it from running to waiting and lets the scheduler select another ready process. When the event completes, an interrupt or another kernel action makes the process ready again. It resumes only after the scheduler later assigns it CPU time; “ready” does not mean “currently running.”
Mark this level after you can trace one successful call and one blocked or rejected call aloud.
Saved only in this browser.