> For the complete documentation index, see [llms.txt](https://interviews.woojiahao.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://interviews.woojiahao.com/other-technical-topics/operating-systems.md).

# Operating Systems

{% hint style="info" %}
Much like [SQL](/other-technical-topics/system-design/sql.md), there is too much things to cover when talking about operating systems and most importantly, concurrency patterns. I have attached my notes from the operating systems module in NUS ([CS2106](https://nusmods.com/courses/CS2106/introduction-to-operating-systems)) for you to self-study
{% endhint %}

{% file src="/files/tjpQwStNsugEQm4dc9JY" %}
Notes
{% endfile %}

{% file src="/files/hYHa2fdsGTFwz4N3K9qC" %}
Classical concurrency problems
{% endfile %}

Some of the other commonly asked questions include things like:

1. What is a deadlock?
2. What is a race condition?
3. What is the difference between deadlocks and race conditions?
4. How do you detect a deadlock?
5. How do you solve a deadlock?
6. What is paging?
7. What is a page fault?
8. Where are logs stored on a Linux system?
9. How do you deal with thread explosion?
