Computer and Operating systems review

30 Sep 2024

Computer Chip!

Welcome, chip

So I’ve decided to spend some time reviewing some old topics for a new project and one of them is operating systems and computer systems in general.
The whole process of watching lectures & talks, reading books and programming in new languages as very refreshing and improved my skills both as a programmer and as a person.
It made me humbler and I finally understood that I am dumber than I thought and it’s OK since I can learn.
It’s probably due to all these years spent in web programming using generic frameworks which have dumbed me down to the point of deterioration of skills so, currently, I am trying to focus on writing things from scratch and using lower level frameworks when needed to move faster.

Skills learned

Zig, c, asm: I’ve decided to learn a new language and improve my C skills, asm is mostly for understanding the code.

algorithms: indexes, caches, memory management, all these are using diferrent algorithms which are required to understand to know how things actually work.

linux, bash: since topic is mostly OS, I had plenty of time to play with many Linux distributions and in the process have written some scripts.

Books

CS:APP - one of the best books on computer systems

Operating Systems Concepts

Understanding the Linux Kernel

C Bible - The C Programming Language

Beej’s Guide to Network Concepts

Beej’s Guide to C Programming

Courses

ECS 150 - introductory OS course

CMU CS 213 - CS:APP course

Projects

general - scripts, algorithms, c & zig code, linux config files.

z-http - A basic HTTP Server in Zig.

cctp - reviving an old CC framework from C to Zig.

🌑