콰이엇의 개발기록

[운영체제] 컴퓨터 3계층 구조

by 콰이엇
Youtube 널널한 개발자 TV의 "운영체제와 시스템 프로그래밍" 재생목록을 학습하며 작성한 글입니다.

 

컴퓨터 3계층 구조

컴퓨터는 기본적으로 H/W + kernel + user 3계층 구조로 이루어져 있다.

 

📌 운영체제 (OS, Operating System)

  1. 애플리케이션 프로세스가 잘 작동하도록 서포트하며,
  2. 하드웨어를 잘 관리하고 제어하는 소프트웨어

 

📌 인터럽트 (Interrupt)

  1. CPU의 프로세스 실행을 중단(wait)하고
  2. 어떤 작업을 수행하도록 요청하는 행위

 

📌 시스템 콜 (System Call)

인터페이스를 통해 프로세스의 요청을 받아 커널모드의 코드를 실행하는 것

 

📌 IRQ (Interrupt ReQuest)

인터럽트를 요청하는 것

 

🧐 프로그램의 동작 과정

예를 들어, C언어의 print 함수를 통해 모니터에 출력하는 과정을 살펴보자

  1. printf("Hello") 라는 API를 통해 file이라는 인터페이스를 추상화하여 정보를 아래로 전달한다.
  2. 이때 user mode에서 kernel mode로 진입하며 코드를 실행하기 위해 시스템 콜을 요청한다.
  3. 시스템 콜은 디바이스 드라이버를 제어하여 인터럽트를 요청한다. (IRQ)
  4. 인터럽트를 통해 CPU가 기존의 작업을 중단하고 I/O 작업을 수행하여 모니터를 통해 보여준다.
  5. 요청을 거슬러 올라가며 작업 완료를 리턴한다.

 

참고자료

블로그의 정보

콰이엇의 개발기록

콰이엇

활동하기