운영체제

기술노트

🧰 운영체제 개요

🧩 운영체제란?

운영체제(Operating System, OS)는 컴퓨터 시스템의 하드웨어사용자 프로그램 사이를 중재하는 기반 소프트웨어입니다.

  • 대표 OS: Windows, Linux, macOS, Android
  • 사용자의 프로그램이 하드웨어를 직접 다루지 않고 OS를 통해 사용하도록 추상화 제공

🏗️ 컴퓨터 구조와 운영체제의 관계

컴퓨터 구조는 하드웨어 설계 중심, 운영체제는 하드웨어를 어떻게 효율적으로 사용할 것인가에 중점.

컴퓨터 구조 vs 운영체제
항목 컴퓨터 구조 운영체제
초점 하드웨어 구성 원리 자원 관리 방식
대상 CPU, 메모리, 디스크 등 프로세스, 파일, 메모리 등
관점 하드웨어 설계자 소프트웨어 개발자

💾 메모리 vs 디스크

두 장치는 모두 데이터를 저장하지만, 역할, 속도, 휘발성에서 큰 차이가 있습니다.

메모리와 디스크의 차이점
항목 메모리(RAM) 디스크(SSD/HDD)
휘발성 예 (전원 끄면 내용 사라짐) 아니오 (데이터 유지됨)
속도 매우 빠름 상대적으로 느림
저장 방식 임시 저장, 실행 중인 데이터 영구 저장, 파일 중심
위치 CPU 가까이 있음 보조 기억장치
역할 실행 중인 프로그램/데이터 저장 프로그램, 파일 저장

🔄 프로그램 실행 과정

운영체제는 디스크에 저장된 프로그램을 CPU가 실행할 수 있도록 다음과 같은 흐름을 관리합니다:

  1. 💾 디스크에서 프로그램을 읽어 메모리로 적재
  2. 🧠 메모리에서 명령어를 CPU로 전달
  3. ⚙️ CPU가 명령어 실행
  4. 📤 결과는 다시 메모리 또는 디스크에 저장

🧠 메모리 관리 기능

운영체제는 제한된 메모리 공간을 효율적으로 사용하기 위해:

  • 필요한 데이터만 메모리에 올림 (적재)
  • 사용하지 않는 데이터는 디스크로 옮기거나 제거 (스왑)
  • 다수의 프로그램이 동시에 실행될 경우 메모리를 프로세스별로 분할

💡 가상 메모리(Virtual Memory):

실제 메모리보다 더 큰 메모리 공간을 사용할 수 있게 해주는 OS 기술

📂 디스크와 파일 시스템 관리

운영체제는 디스크에 저장된 파일을 다음과 같이 관리합니다:

  • 파일 생성, 삭제, 읽기, 쓰기
  • 디렉터리 구조 유지
  • 파일 접근 권한 관리
  • 디스크 공간 할당 및 최적화

⏲️ 프로세스와 스케줄링

운영체제는 동시에 여러 프로그램(프로세스)을 실행시켜야 하므로:

  • CPU를 시분할(Time-sharing) 방식으로 분배
  • 어떤 프로세스를 먼저 실행할지 스케줄링
  • 사용자 체감 성능 향상을 위한 우선순위 기반 정책 운영

🚦 자원 관리 핵심 요약

운영체제는 3대 자원(CPU, 메모리, 디스크)을 다음과 같이 관리합니다:

자원 운영체제의 역할
CPU 스케줄링, 문맥 교환(Context Switching)
메모리 적재, 해제, 보호, 가상 메모리
디스크 파일 시스템 관리, 입출력(I/O) 제어

🧠 핵심 정리

운영체제는 하드웨어와 사용자 프로그램 사이에서 다음을 수행합니다:

  • 하드웨어 자원(CPU, 메모리, 디스크) 효율적 분배
  • 사용자와 하드웨어 간 인터페이스 제공
  • 여러 작업을 동시에 처리하는 멀티태스킹 환경 제공
  • 보안과 안정성 보장

📚 더 알아보기