운영체제가 자원과 실행을 조율하는 방식

운영체제의 인터페이스와 자원 관리 역할, 성능 평가 기준, 프로세스·메모리·파일·장치 관리 기능을 정리한다.

2026-08-14 · 최초 발행 2025-12-30

응용 프로그램과 하드웨어 사이에서 일하는 소프트웨어

운영체제(Operating System, OS)는 사용자와 컴퓨터 하드웨어 사이를 연결하는 시스템 소프트웨어다. 사용자가 하드웨어의 세부 동작을 직접 다루지 않도록 인터페이스를 제공하고, CPU·메모리·디스크·I/O 장치 같은 자원을 배분한다.

사용자 명령은 하드웨어가 처리할 수 있는 신호로 바뀌고, 하드웨어의 상태는 사용자가 이해할 수 있는 정보로 돌아온다. 응용 프로그램과 하드웨어 사이의 이 접점에서 운영체제는 CPU 스케줄링, 메모리 할당과 회수, 파일 시스템 관리, I/O 장치 제어를 맡는다. 사용자 인증, 접근 제어, 데이터 보호도 이 계층의 역할이다.

사용자응용 프로그램운영체제(OS)프로세스 관리메모리 관리파일 관리장치 관리하드웨어(CPU, 메모리,디스크, I/O)

운영체제가 제공하는 환경

운영체제는 GUI(Graphical User Interface)와 CLI(Command Line Interface)처럼 사용자가 시스템을 다룰 수 있는 환경을 제공한다. 이 인터페이스는 하드웨어의 복잡성을 감추는 역할도 한다.

자원 운영에서는 CPU 시간을 나누고 메모리 공간을 관리하며 디스크 I/O를 최적화한다. 장치 관리는 하드웨어 제어, 드라이버 관리, Plug and Play, 장치 간 통신을 포함한다. 멀티태스킹, 가상 메모리, 파일 시스템, 네트워킹 같은 기능도 운영체제가 제공하는 기반 기능이다.

OS 목적인터페이스자원 운영기기 관리기능 향상사용자편의성시스템효율성

처리 결과로 보는 운영체제 성능

처리능력(Throughput)은 단위 시간에 처리하는 작업의 양, 또는 시간당 완료된 프로세스 수를 뜻한다. 효율적인 스케줄링, 멀티프로세싱, 병렬 처리가 처리능력 향상에 쓰인다.

반환시간(Turnaround Time)은 작업을 제출한 시점부터 완료될 때까지의 시간이며, 대기 시간과 실행 시간으로 구성된다. 우선순위 스케줄링, 짧은 작업 우선(SJF), 응답 시간 개선은 이를 줄이는 방식이다.

사용성(Availability)은 요구 시 시스템을 즉시 사용할 수 있는 상태와 시스템 가용 시간 비율을 가리킨다. 고가용성(HA) 설계, 장애 대응 메커니즘, 빠른 복구가 사용성 향상에 연결된다.

Availability = (총 시간 - 다운 타임) / 총 시간

신뢰도(Reliability)는 오류 없이 동작하고 문제가 발생했을 때 이를 해결하는 능력이다. 오류 감지와 복구, 데이터 무결성 보장, 백업과 복원이 관련된다. MTBF(Mean Time Between Failures)는 평균 고장 간격, MTTR(Mean Time To Repair)은 평균 수리 시간을 나타낸다.

OS 성능 평가처리능력(Throughput)반환시간(Turnaround Time)사용성(Availability)신뢰도(Reliability)단위시간당작업량작업 완료소요 시간즉시 사용가능 상태오류 처리능력

실행과 저장소를 관리하는 범위

프로세스 관리에서는 CPU를 어떤 프로세스에 할당할지 결정한다. FCFS, SJF, Round Robin, Priority 등이 스케줄링 방식에 해당한다. 동시에 실행되는 작업은 상호배제(Mutual Exclusion), 세마포어, 뮤텍스를 통해 동시성을 제어하며, 데드락은 예방·회피·탐지·복구 방식으로 다룬다.

메모리 관리는 연속 할당, 페이징, 세그멘테이션, 가상 메모리를 포함한다. 페이지 교체에는 LRU, FIFO, LFU 알고리즘을 사용하며 스래싱 방지도 관리 대상이다. 프로세스 간 격리와 접근 권한 제어는 메모리 보호의 역할이다.

파일 관리 영역은 파일 생성·삭제·읽기·쓰기와 디렉토리 구조를 다룬다. FAT, NTFS, ext4, APFS 등의 파일 시스템이 여기에 속하며, 접근 권한(rwx), 암호화, 멀티 사용자 접근, 잠금(Locking)도 파일 보호와 공유를 위한 기능이다.

장치 관리는 하드웨어 제어 소프트웨어인 장치 드라이버와 표준 인터페이스 제공을 포함한다. I/O 처리에서는 버퍼링, 캐싱, 스풀링(Spooling)을 사용하고 하드웨어 인터럽트와 소프트웨어 인터럽트를 처리한다.

보조기억장치 관리에서는 FCFS, SSTF, SCAN, C-SCAN 방식으로 디스크 접근 순서를 다룬다. 파티션 관리, 포맷과 마운트, 데이터 백업과 재해 복구도 이 범위에 속한다.

명령어 해석은 셸(Shell)이 담당한다. Bash, Zsh, PowerShell 등은 사용자 명령을 해석하고 실행하며, 배치 파일과 자동화 스크립트 실행도 지원한다.

OS 주요 기능프로세스 관리메모리 관리파일 관리장치 관리보조기억장치 관리명령어 해석스케줄링동기화데드락할당페이징보호파일 시스템접근 제어드라이버I/O인터럽트디스크 스케줄링백업스크립트

처리 방식에 따른 운영체제 구분

일괄 처리 시스템(Batch Processing)은 작업을 모아 한꺼번에 처리하며 상호작용이 없고 높은 처리량을 지향한다.

시분할 시스템(Time-Sharing)은 여러 사용자가 동시에 사용하는 환경으로, Round Robin 스케줄링과 빠른 응답 시간이 특징이다.

실시간 시스템(Real-Time)은 정해진 시간 안에 작업 완료를 보장하며 Hard Real-Time과 Soft Real-Time으로 구분된다. 임베디드 시스템에 사용된다.

분산 시스템(Distributed)은 여러 컴퓨터를 네트워크로 연결해 자원을 공유하고 투명성을 제공한다.

모바일 OS는 iOS와 Android처럼 터치 인터페이스와 전력 관리를 지원하는 운영체제다.

운영체제OS프로세스 관리메모리 관리시스템 소프트웨어