운영체제 간략 정리 (맛만 보기)

Minseo Lim·2025년 4월 5일

🖥️ OS 정리

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


🧠 운영체제란?

운영체제(OS, Operating System)는 기본적으로 소프트웨어이다.
컴퓨터는 다음과 같이 구성된다:

  • HW (Hardware) → 물리적인 장치
  • SW (Software) → 논리적, 가상적인 개념
    • SW는 유저 계층(User Space)커널 계층(Kernel Space) 으로 나뉜다.

🧩 운영체제는 유저 계층과 커널 계층 전체를 아우르는 개념이다.

📍 운영체제의 역할

  • User 계층 (Application 단)

    • 여러 개의 프로세스(Process) 가 실행되도록 지원
    • 사용자가 실행하는 프로그램이 잘 돌아가도록 관리
  • Kernel 계층

    • 장치 제어, 메모리 관리 등 시스템 구성요소를 직접 관리
    • 하드웨어와의 중재자 역할을 수행

🔔 Interrupt란?

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

  • 주변 장치가 CPU에게 “나 좀 봐줘”라고 알리는 방식
  • 컴퓨터와 주변기기 간 I/O(입출력) 를 수행할 때 사용됨
  • Interrupt가 발생하면 CPU는 현재 작업을 잠시 멈추고, 요청된 작업을 수행한다.

⚙️ Interrupt 기반 동작 예시 (printf 실행 과정)


printf("Hello world") 를 호출하면, 내부적으로 다음과 같은 일들이 벌어진다:

1️⃣ 유저 프로세스에서 printf() 호출

  • 모니터(주변기기)를 제어하여 "Hello world"를 출력하는 게 목적

2️⃣ Application Program Interface(API)를 호출

  • 유저 모드에서 시스템 기능을 사용하기 위해 API를 사용

3️⃣ API 내부에서 File 인터페이스를 통해 System Call 수행

  • 장치를 추상화한 인터페이스인 File을 통해 커널로 진입

4️⃣ System Call → Device Driver로 전달

  • 실제 하드웨어 제어를 위해 드라이버가 호출됨

5️⃣ Device Driver가 Interrupt Request(IRQ) 요청

  • 하드웨어에 “작업 시작해줘”라고 신호 보냄 (고유 번호 있음)

6️⃣ CPU가 요청받고, 실제 하드웨어를 제어하여 출력 수행

  • 모니터에 "Hello world"를 렌더링

7️⃣ 작업 완료 후, 장치가 다시 Interrupt 발생

  • “작업 끝났어!” 라고 CPU에 알림

8️⃣ Driver가 커널에 작업 완료 반환

  • System Call이 정상적으로 종료됨

9️⃣ File 인터페이스 → 유저 API로 반환

  • 추가 입출력 없으면 함수 종료 (return)

🔁 이 전체 과정에서 프로세스가 계속 기다리면 → Blocking I/O
😎 기다리지 않고 다른 작업도 처리하면 → Non-Blocking I/O


👍 정리

이처럼 단순한 printf() 하나에도 운영체제 내부에서는 다양한 계층과 인터럽트, 시스템 콜이 유기적으로 작동하고 있다는 사실! 공부는 끝이 없다...

profile
프로덕트 엔지니어 임민서입니다.

0개의 댓글