🖥️ OS 정리
본 내용은 널널한 개발자 TV의 네트워크 입문 강의를 공부하고 정리한 내용입니다.

운영체제(OS, Operating System)는 기본적으로 소프트웨어이다.
컴퓨터는 다음과 같이 구성된다:
🧩 운영체제는 유저 계층과 커널 계층 전체를 아우르는 개념이다.
User 계층 (Application 단)
Kernel 계층

Interrupt는 CPU에게 작업 요청을 보내는 신호이다.
비유하자면, CPU에게 벨을 누르는 것과 같다.

printf("Hello world") 를 호출하면, 내부적으로 다음과 같은 일들이 벌어진다:
1️⃣ 유저 프로세스에서 printf() 호출
2️⃣ Application Program Interface(API)를 호출
3️⃣ API 내부에서 File 인터페이스를 통해 System Call 수행
4️⃣ System Call → Device Driver로 전달
5️⃣ Device Driver가 Interrupt Request(IRQ) 요청
6️⃣ CPU가 요청받고, 실제 하드웨어를 제어하여 출력 수행
7️⃣ 작업 완료 후, 장치가 다시 Interrupt 발생
8️⃣ Driver가 커널에 작업 완료 반환
9️⃣ File 인터페이스 → 유저 API로 반환
return) 🔁 이 전체 과정에서 프로세스가 계속 기다리면 → Blocking I/O
😎 기다리지 않고 다른 작업도 처리하면 → Non-Blocking I/O
이처럼 단순한 printf() 하나에도 운영체제 내부에서는 다양한 계층과 인터럽트, 시스템 콜이 유기적으로 작동하고 있다는 사실! 공부는 끝이 없다...