ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

운영체제 (OS)

도입

“하드웨어의 복잡함”을 숨기고, 프로그램이 안전하게 실행되도록 만드는 시스템의 기반입니다.

컴퓨터는 수많은 작업을 수행합니다.

그런데 이 모든 작업은 결국 CPU, 메모리, 디스크, 입출력 장치 같은 한정된 하드웨어 자원을 사용합니다.

하드웨어는 비싸고(비용), 제한적이며(물리적 한계), 동시에 여러 프로그램이 경쟁합니다(복잡성).

그래서 우리는 자원을 효율적이고 안전하게 분배해주는 “중간 관리자”가 필요합니다.

운영체제는 그 역할을 합니다.

핵심 메시지

“운영체제는 개발자가 하드웨어를 직접 다루지 않아도 되게 만들고,
시스템을 보호하면서 자원을 공정하게 배분하는 실행 플랫폼이다.”

- 실무에서 OS가 중요한 이유 -

정의

운영체제(OS)는 특별한 프로그램입니다.

운영체제는 컴퓨터 시스템의 자원을 효율적으로 관리하고, 사용자(또는 응용 프로그램)와 하드웨어 사이에 표준 인터페이스를 제공하는 시스템 소프트웨어입니다. 한 문장으로 정리하면, 하드웨어와 소프트웨어의 중개자입니다.

만약 운영체제가 없다면 개발자/사용자는 하드웨어와 직접 통신하는 저수준 코드를 매번 작성해야 하고, 프로그램 간 충돌/자원 낭비를 막을 방법도 사라집니다.

💡 TIP / “OS가 없다면?”을 백엔드 관점으로 말하면

파일/소켓/메모리/CPU 스케줄링/보안 권한 같은 걸 프레임워크가 아니라 “앱 코드”가 직접 처리해야 합니다. 즉, 비즈니스 로직을 작성하기 전에 시스템 구현부터 시작해야 하고, 서비스 운영은 사실상 불가능해집니다.

 

기능

운영체제의 핵심 기능은 크게 두 가지가 있습니다.
1

자원 할당 및 관리

CPU/메모리/디스크/네트워크/입출력 장치 같은 자원을 응용 프로그램이 “공정하고 안전하게” 쓰도록 배분합니다. 예를 들어 웹 서버는 요청이 몰려도 OS의 스케줄링과 메모리 관리 덕분에 안정적으로 동작합니다.

2

프로세스 및 스레드 관리

실행 중인 프로그램(프로세스)과 실행 흐름(스레드)을 관리해 “동시에 실행되는 것처럼” 보이게 합니다. 실무에서 말하는 응답 지연(P99), 스레드 풀 고갈 같은 문제도 결국 “대기(Ready/Blocked)가 누적되는 구조”에서 시작됩니다.

기능 예시 백엔드에서 체감하는 지점
CPU 관리 스케줄링 트래픽 피크에서 요청 처리량/지연이 “대기열”로 나타남
메모리 관리 가상 메모리 OOM, 캐시 폭증, GC 압박 등 운영 이슈의 근본 단위
파일/디스크 파일 시스템 로그 폭증/디스크 I/O wait → 응답 지연으로 연결
네트워크 소켓 커넥션/FD/타임아웃이 서비스 안정성을 좌우

 

시스템 콜과 이중 모드

운영체제는 “보호(Protection)”를 위해 사용자 프로그램의 자원 접근을 통제하고, 필요한 경우만 대행합니다.

운영체제도 프로그램이기 때문에 메모리에 적재되어 실행됩니다. 다만 일반 앱과 달리 커널 영역(Kernel Space)이라는 보호된 공간에서 동작합니다. 반대로 웹/게임/서버 같은 일반 응용 프로그램은 사용자 영역(User Space)에서 실행됩니다.

커널 영역 vs 사용자 영역

구분 무엇이 있나 핵심 의미
커널 영역 OS 핵심 코드 하드웨어 자원에 직접 접근 가능한 보호 구역
사용자 영역 응용 프로그램 자원에 직접 접근 불가 → OS를 통해서만 접근

시스템 콜(System Call)의 흐름

1
응용 프로그램이 “자원 접근”이 필요해짐 (파일 읽기, 소켓 통신, 프로세스 생성 등)
2
시스템 콜로 OS에게 요청 (사용자 모드 → 커널 모드 전환)
3
OS가 권한/안전성 확인 후 대행 결과 반환 후 다시 사용자 모드로 복귀

💡 TIP / 왜 “이중 모드”가 중요한가

앱이 메모리/디스크/CPU를 마음대로 건드리면 시스템 전체가 망가질 수 있습니다. 그래서 OS는 사용자 모드(제한)커널 모드(특권)를 분리하고, 시스템 콜을 통해서만 “안전하게” 자원 접근을 허용합니다.

 

정리

운영체제는 자원 관리 + 실행 통제 + 보호를 통해 “운영 가능한 시스템”을 만듭니다.

✅ 핵심 요약

  • ✔️ OS는 하드웨어 자원을 효율적으로 관리하는 “중간 관리자”입니다.
  • ✔️ 핵심 기능은 자원 할당/관리프로세스/스레드 관리입니다.
  • ✔️ 시스템 콜은 OS 기능을 “요청”하는 통로이고, 이중 모드는 시스템을 “보호”하는 장치입니다.
  • ✔️ 백엔드에서 발생하는 지연/장애/OOM은 결국 OS의 자원·대기·보호 모델과 연결됩니다.
728x90