Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Backend flows explained deeply
·
Module 3
Operating System Concepts for Backend Developers
1
Understanding Processes and Their Resources
Define what a process is and the resources it encapsulates (memory address space, file descriptors).
2
Threads vs. Processes: Concurrency and Parallelism
Explain the difference between threads and processes, and how they relate to concurrency and parallelism.
3
Context Switching Explained
Explain what context switching is and its performance implications for servers.
4
Stack vs. Heap: Memory Management in C++
Describe stack vs. heap memory and how a running program uses each.
5
Understanding File Descriptors
Explain file descriptors and how the OS represents open files, sockets, and pipes.
6
Understanding I/O Models: Blocking, Non-blocking, and Asynchronous
Compare blocking, non-blocking, and asynchronous I/O models with concrete examples.
7
Event Loops in High-Concurrency Servers
Describe the role of an event loop (e.g., using epoll/kqueue) in high-concurrency servers.
8
Process Monitoring with `ps`, `top`, and `htop`
Use process monitoring tools (`ps`, `top`, `htop`) to inspect process status and resource consumption.
Previous module
The HTTP Protocol Inside Out
Next module
Web Servers and Application Runtimes