01|운영체제의 개요와 구성

글 요약

사무자동화산업기사 – 운영체제의 역할과 목적, 자원 관리 기능, 일괄·시분할·실시간 처리 방식과 제어·처리 프로그램의 구성을 정리합니다.

운영체제는 컴퓨터 하드웨어와 사용자를 연결하고, 프로세서·기억장치·입출력장치·파일과 같은 자원을 효율적으로 관리하는 핵심 시스템 소프트웨어입니다.

이 장에서는 운영체제의 정의와 목적, 주요 기능, 처리 방식에 따른 운영체제의 분류와 운영체제를 구성하는 프로그램을 정리합니다. 시험에서는 각 운영 방식의 특징과 제어 프로그램·처리 프로그램의 구분이 자주 혼동되므로 차이점을 중심으로 이해해야 합니다.

이 장의 핵심 내용

  • 운영체제는 사용자와 하드웨어 사이의 인터페이스를 제공하는 시스템 소프트웨어입니다.
  • 운영체제는 프로세서, 기억장치, 입출력장치, 파일과 정보 등의 자원을 관리합니다.
  • 운영체제의 성능은 처리 능력, 응답 시간, 신뢰성, 사용 가능도 등으로 평가할 수 있습니다.
  • 일괄 처리, 다중 프로그래밍, 시분할, 다중 처리, 실시간 처리와 분산 처리는 서로 다른 운영 방식입니다.
  • 운영체제 프로그램은 제어 프로그램과 처리 프로그램으로 구분합니다.
  • 작업 제어 프로그램은 작업의 연속 처리와 자원 할당을 관리합니다.

운영체제란 무엇인가?

운영체제(OS, Operating System)는 사용자와 컴퓨터 하드웨어 사이에서 동작하면서 컴퓨터 시스템의 자원을 관리하고, 응용 프로그램이 실행될 수 있는 환경을 제공하는 시스템 소프트웨어입니다.

사용자는 일반적으로 하드웨어를 직접 제어하지 않습니다. 응용 프로그램이 운영체제에 필요한 기능을 요청하면 운영체제가 프로세서, 메모리, 저장장치와 입출력장치를 제어하여 작업을 수행합니다.

운영체제의 핵심 역할은 컴퓨터 자원을 효율적으로 관리하고, 사용자와 응용 프로그램이 하드웨어를 안전하고 편리하게 이용할 수 있도록 중간에서 제어하는 것입니다.

운영체제가 필요한 이유

컴퓨터에는 동시에 여러 프로그램과 사용자가 자원을 요구할 수 있습니다. 운영체제가 없다면 각 프로그램이 하드웨어를 직접 제어해야 하며, 여러 작업이 같은 자원을 동시에 사용하면서 충돌할 수 있습니다.

운영체제는 각 작업에 필요한 자원을 배분하고, 작업의 실행 순서를 결정하며, 오류가 발생하면 시스템 전체에 미치는 영향을 줄입니다. 또한 응용 프로그램에 공통된 기능을 제공하여 개발자가 하드웨어의 세부 구조를 모두 처리하지 않아도 되도록 합니다.

구분운영체제가 수행하는 역할
사용자 인터페이스사용자가 컴퓨터 시스템을 조작할 수 있는 환경을 제공
응용 프로그램 지원프로그램 실행과 입출력 등에 필요한 공통 기능을 제공
자원 관리CPU, 메모리, 저장장치와 입출력장치를 효율적으로 배분
작업 관리프로그램의 실행 순서와 상태를 관리
오류 처리시스템 오류를 감시하고 복구 절차를 수행
보호와 보안사용자와 프로그램의 접근 권한을 통제
운영체제는 단순히 프로그램을 실행하는 도구가 아니라 컴퓨터 시스템 전체를 조정하는 관리자 역할을 합니다.

운영체제의 예

대표적인 운영체제로는 Windows, Linux, UNIX, Android와 iOS 등이 있습니다. 각각 사용 목적과 지원하는 하드웨어는 다르지만, 시스템 자원을 관리하고 프로그램 실행 환경을 제공한다는 공통점이 있습니다.

용어 정리: OS는 Operating System의 약자입니다. 시험에서는 운영체제를 ‘사용자와 하드웨어 사이의 인터페이스’ 또는 ‘컴퓨터 자원을 관리하는 시스템 소프트웨어’로 표현하는 경우가 많습니다.

운영체제의 목적은 무엇인가?

운영체제의 목적은 컴퓨터의 제한된 자원을 효율적으로 사용하면서 사용자에게 안정적이고 편리한 실행 환경을 제공하는 것입니다. 운영체제의 성능을 평가하는 주요 항목으로 처리 능력, 응답 시간, 신뢰성과 사용 가능도를 제시합니다.

처리 능력 향상

처리 능력 또는 처리율은 일정 시간 동안 시스템이 완료한 작업의 양을 의미합니다. 같은 시간에 더 많은 작업을 처리할수록 처리 능력이 높습니다.

응답 시간 단축

응답 시간은 사용자가 명령이나 요청을 입력한 뒤 시스템이 첫 반응이나 결과를 제공할 때까지 걸리는 시간입니다. 짧을수록 대화형 사용 환경이 개선됩니다.

신뢰성 향상

신뢰성은 시스템이 주어진 작업을 오류 없이 정확하게 수행할 수 있는 정도를 의미합니다. 고장이 적고 결과가 일관될수록 신뢰성이 높습니다.

사용 가능도 향상

사용 가능도는 전체 운영 시간 중 시스템을 실제로 정상 사용할 수 있는 시간의 비율을 의미합니다. 장애와 복구 시간을 줄일수록 높아집니다.

성능 평가 항목의미좋은 상태
처리 능력
Throughput
단위 시간 동안 처리한 작업의 양클수록 좋음
응답 시간
Response Time
요청 후 시스템이 반응하기까지 걸리는 시간짧을수록 좋음
신뢰성
Reliability
정해진 작업을 오류 없이 수행하는 정도높을수록 좋음
사용 가능도
Availability
전체 시간 중 시스템을 정상적으로 사용할 수 있는 정도높을수록 좋음
시험에서는 증가해야 하는 항목과 감소해야 하는 항목을 반대로 제시하는 문제가 자주 출제됩니다.

시험 포인트: 처리 능력·신뢰성·사용 가능도는 높아지는 것이 바람직하지만, 응답 시간과 반환 시간은 짧아지는 것이 바람직합니다. ‘응답 시간 증가’나 ‘반환 시간 증가’를 운영체제의 목적으로 제시하면 틀린 표현입니다.

응답 시간과 반환 시간은 무엇이 다를까?

응답 시간과 반환 시간은 모두 시간과 관련된 성능 지표이지만 측정 범위가 다릅니다.

구분응답 시간반환 시간
영문Response TimeTurnaround Time
측정 범위요청 후 첫 응답을 받을 때까지작업 제출부터 전체 완료까지
주요 대상대화형·시분할 시스템일괄 처리 시스템
바람직한 방향감소감소
반환 시간은 대기시간과 실제 처리시간 등을 포함한 작업 전체 완료시간입니다.

운영체제는 어떤 기능을 수행할까?

운영체제의 기능은 사용자에게 편리한 실행 환경을 제공하는 기능과 컴퓨터 내부 자원을 관리하는 기능으로 나누어 이해할 수 있습니다.

  1. 사용자 인터페이스 제공 — 명령어 또는 그래픽 화면을 통해 사용자가 컴퓨터를 조작할 수 있도록 합니다.
  2. 프로세서 관리 — 어떤 프로그램에 CPU를 배정할지 결정하고 실행 순서를 관리합니다.
  3. 주기억장치 관리 — 프로그램에 필요한 메모리 공간을 할당하고 회수합니다.
  4. 입출력장치 관리 — 여러 프로그램이 주변장치를 안정적으로 사용할 수 있도록 제어합니다.
  5. 파일과 정보 관리 — 파일의 생성, 저장, 검색, 수정과 접근 권한을 관리합니다.
  6. 오류 감시와 복구 — 시스템의 비정상 상태를 탐지하고 가능한 복구 절차를 수행합니다.
  7. 작업·상태 관리 — 실행 중인 작업과 시스템 상태를 기록하고 관리합니다.
  8. 자원 공유와 보호 — 여러 사용자와 프로그램의 자원 공유를 지원하면서 서로의 영역을 보호합니다.

운영체제의 기능을 묻는 문제에서는 자원 관리, 작업 스케줄링, 사용자 인터페이스, 오류 처리와 자원 공유가 핵심입니다. 원시 프로그램을 목적 프로그램으로 번역하는 일은 언어 번역 프로그램의 기능으로 구분합니다.

운영체제의 운영 방식

운영체제는 작업을 처리하는 방식, CPU와 메모리의 구성, 사용자의 상호작용 방식에 따라 여러 형태로 분류할 수 있습니다. 각 방식은 완전히 배타적인 것이 아니며, 현대 운영체제는 여러 방식을 함께 사용하기도 합니다.

일괄 처리 시스템

일괄 처리 시스템(Batch Processing System)은 성격이 비슷한 작업을 일정량 모아 한꺼번에 순차 처리하는 방식입니다. 작업이 시작된 뒤에는 사용자가 중간 과정에 직접 개입하지 않는 경우가 많습니다.

장점

  • 반복적이고 대량인 작업에 적합
  • 작업 자동화와 일괄 관리가 용이
  • 사용자의 지속적인 개입이 적음

한계

  • 결과를 즉시 확인하기 어려움
  • 대기시간과 반환 시간이 길어질 수 있음
  • 대화형 작업에는 부적합

급여 계산, 요금 계산, 거래 집계와 정기 보고서 작성처럼 일정한 시점에 대량의 자료를 처리하는 업무가 대표적인 예입니다.

다중 프로그래밍 시스템

다중 프로그래밍 시스템(Multiprogramming System)은 여러 프로그램을 주기억장치에 적재해 두고, 한 프로그램이 입출력을 기다리는 동안 CPU가 다른 프로그램을 실행하도록 하는 방식입니다.

목적은 CPU가 아무 작업도 하지 않고 대기하는 시간을 줄여 처리 효율과 자원 이용률을 높이는 것입니다. 하나의 CPU가 여러 프로그램을 실제로 동시에 실행하는 것이 아니라, 실행 대상을 빠르게 바꾸며 처리한다는 점에 주의해야 합니다.

핵심 구분: 다중 프로그래밍은 여러 프로그램을 메모리에 두고 하나의 CPU 이용률을 높이는 방식입니다. 여러 CPU가 실제로 작업을 동시에 수행하는 다중 처리와 구분해야 합니다.

시분할 시스템

시분할 시스템(Time Sharing System)은 CPU 사용 시간을 짧은 시간 단위인 시간 할당량 또는 타임 슬라이스로 나누어 여러 사용자나 작업에 번갈아 배정하는 방식입니다.

CPU가 매우 빠른 속도로 작업을 전환하기 때문에 각 사용자는 자신이 컴퓨터를 독점적으로 사용하는 것처럼 느낄 수 있습니다. 여러 단말 사용자가 동시에 시스템을 이용하는 대화형 환경에 적합하며, 빠른 응답 시간을 제공하는 것이 중요합니다.

혼동 주의: 시분할 시스템이 빠른 응답을 목표로 한다고 해서 실시간 처리 시스템과 같은 것은 아닙니다. 시분할은 여러 사용자의 대화형 응답성과 공정한 CPU 공유가 핵심이고, 실시간 처리는 정해진 시간 제한 안에 결과를 내는 것이 핵심입니다.

다중 처리 시스템

다중 처리 시스템(Multiprocessing System)은 두 개 이상의 CPU 또는 프로세서를 이용해 여러 작업을 동시에 처리하는 방식입니다.

프로세서들이 메모리와 입출력장치 등의 자원을 공유할 수 있으며, 작업을 병렬로 수행하여 처리 능력과 시스템 신뢰성을 높일 수 있습니다. 특정 프로세서에 장애가 발생해도 다른 프로세서가 일부 작업을 계속 수행할 수 있도록 설계할 수도 있습니다.

실시간 처리 시스템

실시간 처리 시스템(Real-Time Processing System)은 입력이나 사건이 발생했을 때 정해진 시간 안에 결과를 제공해야 하는 시스템입니다. 단순히 처리 속도가 빠른 것만으로는 충분하지 않으며, 요구된 시간 제한을 안정적으로 지키는 것이 중요합니다.

항공기 제어, 의료기기, 산업 공정 제어와 같은 분야에서는 응답이 늦으면 심각한 문제가 발생할 수 있습니다. 은행 조회, 예약과 일부 온라인 거래 시스템도 즉각적인 처리가 필요한 사례로 설명될 수 있습니다.

다중 모드 시스템

다중 모드 시스템(Multi-Mode System)은 하나의 시스템에서 일괄 처리, 시분할, 다중 처리와 실시간 처리 등 여러 운영 방식을 함께 지원하는 형태입니다.

현대의 범용 운영체제는 다양한 응용 프로그램과 사용 환경을 지원해야 하므로 하나의 처리 방식만 사용하는 경우보다 여러 방식을 결합하는 경우가 많습니다.

분산 처리 시스템

분산 처리 시스템(Distributed Processing System)은 네트워크로 연결된 여러 컴퓨터가 작업과 자원을 나누어 처리하고 결과를 상호 교환하는 시스템입니다.

각 컴퓨터가 독립적인 처리 능력을 가지면서도 공동의 작업을 수행할 수 있습니다. 작업 부하를 분산하고 자원을 공유할 수 있지만, 네트워크 통신과 데이터 일관성, 장애 처리 등을 함께 고려해야 합니다.

운영 방식핵심 특징구분 기준
일괄 처리비슷한 작업을 모아 순차적으로 처리대량·반복 작업
다중 프로그래밍여러 프로그램을 메모리에 두고 하나의 CPU를 번갈아 사용CPU 이용률 향상
시분할CPU 시간을 짧게 나누어 여러 사용자에게 배정대화형 응답성
다중 처리두 개 이상의 CPU가 작업을 병렬로 처리프로세서 수
실시간 처리정해진 시간 제한 안에 결과 제공시간 제약
다중 모드여러 운영 방식을 하나의 시스템에서 지원복합 처리
분산 처리네트워크로 연결된 여러 컴퓨터가 작업을 분담여러 컴퓨터의 협력
시험에서는 각 시스템이 무엇을 여러 개 사용하는지 구분하면 이해하기 쉽습니다. 다중 프로그래밍은 프로그램, 시분할은 사용자와 시간, 다중 처리는 CPU, 분산 처리는 컴퓨터가 핵심입니다.

운영체제의 구성 프로그램

운영체제와 관련된 프로그램을 크게 제어 프로그램과 처리 프로그램으로 구분합니다. 제어 프로그램은 시스템 전체의 동작과 자원을 관리하고, 처리 프로그램은 사용자의 작업 수행과 프로그램 처리에 필요한 기능을 제공합니다.

제어 프로그램은 ‘시스템을 관리하는 프로그램’이고, 처리 프로그램은 ‘실제 작업을 수행하거나 지원하는 프로그램’이라고 구분하면 이해하기 쉽습니다.

제어 프로그램

제어 프로그램(Control Program)은 시스템 전체의 동작 상태를 관리하고 각종 자원을 배분하며 작업의 실행을 통제합니다. 감시 프로그램, 작업 제어 프로그램과 데이터 관리 프로그램으로 구분합니다.

구분주요 기능핵심어
감시 프로그램
Supervisor Program
시스템 전체의 작동 상태를 감시하고 제어 프로그램의 수행을 총괄감시·총괄
작업 제어 프로그램
Job Control Program
작업의 연속 처리에 필요한 스케줄링과 시스템 자원 할당을 관리작업 순서·스케줄·자원 할당
데이터 관리 프로그램
Data Management Program
주기억장치와 보조기억장치 사이의 자료 전송, 파일 구성, 입출력 자료와 데이터 접근을 관리파일·데이터·입출력
작업 제어 프로그램의 설명으로 ‘작업의 연속 처리, 스케줄과 시스템 자원 할당’이 자주 제시됩니다.

시험 포인트: “작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 기능”은 작업 제어 프로그램에 해당합니다. 데이터 관리 프로그램과 혼동하지 않아야 합니다.

처리 프로그램

처리 프로그램(Processing Program)은 사용자가 작성한 프로그램을 실행 가능한 형태로 변환하거나, 시스템 사용을 지원하고 특정 업무를 처리하는 프로그램입니다.

구분주요 기능예시
언어 번역 프로그램
Language Translator Program
원시 프로그램을 컴퓨터가 처리할 수 있는 목적 프로그램 등으로 번역어셈블러, 컴파일러, 인터프리터
서비스 프로그램
Service Program
사용 빈도가 높은 공통 기능을 제공해 시스템 사용을 지원정렬, 복사, 진단, 편집 등의 유틸리티
문제 처리 프로그램
Problem Program
특정한 업무나 문제를 처리하기 위해 사용자가 작성한 프로그램업무용 응용 프로그램
문제 처리 프로그램은 특정 문제를 해결하기 위한 사용자 프로그램이라는 의미이며, 오늘날에는 응용 프로그램과 유사한 개념으로 이해할 수 있습니다.

현대적 관점과의 차이: 이 글에서는 언어 번역 프로그램과 서비스 프로그램을 운영체제 구성 체계 안의 처리 프로그램으로 분류합니다. 현대 컴퓨터 과학에서는 커널 자체와 컴파일러·유틸리티·응용 프로그램을 더 엄격하게 구분하기도 합니다. 시험에서는 분류 체계를 기준으로 답하되 개념상 차이를 알고 있는 것이 좋습니다.

제어 프로그램과 처리 프로그램 비교

구분제어 프로그램처리 프로그램
목적시스템 전체의 동작과 자원 관리사용자 작업의 수행과 지원
관리 대상작업, 자원, 데이터와 시스템 상태원시 프로그램, 공통 서비스와 특정 업무
하위 종류감시, 작업 제어, 데이터 관리언어 번역, 서비스, 문제 처리
대표 핵심어감시·스케줄링·할당·관리번역·지원·업무 처리
객관식 문제에서는 프로그램 이름과 기능을 서로 바꾸어 제시하는 경우가 많습니다.

시험에서 자주 혼동되는 개념

다중 프로그래밍과 다중 처리

다중 프로그래밍은 여러 프로그램을 메모리에 적재해 하나의 CPU를 효율적으로 이용합니다. 다중 처리는 여러 CPU가 실제로 작업을 병렬 처리합니다.

시분할과 실시간 처리

시분할은 여러 사용자에게 짧은 CPU 시간을 배분하여 대화형 응답성을 높입니다. 실시간 처리는 정해진 시간 제한을 반드시 충족해야 합니다.

처리 능력과 응답 시간

처리 능력은 일정 시간 동안 완료한 작업량이고, 응답 시간은 요청 후 반응까지 걸리는 시간입니다. 처리 능력은 커질수록, 응답 시간은 짧아질수록 좋습니다.

작업 제어와 데이터 관리

작업 제어는 작업 순서, 스케줄링과 자원 할당을 담당합니다. 데이터 관리는 파일, 자료 전송과 입출력 데이터의 처리를 담당합니다.

이번 장 핵심 요약

  1. 운영체제는 사용자 및 응용 프로그램과 하드웨어 사이에서 동작하는 시스템 소프트웨어입니다.
  2. 운영체제는 CPU, 메모리, 입출력장치, 파일과 작업을 관리합니다.
  3. 처리 능력·신뢰성·사용 가능도는 높을수록 좋고, 응답 시간과 반환 시간은 짧을수록 좋습니다.
  4. 일괄 처리는 비슷한 작업을 모아 한꺼번에 처리하는 방식입니다.
  5. 다중 프로그래밍은 하나의 CPU 이용률을 높이고, 다중 처리는 여러 CPU로 병렬 처리합니다.
  6. 시분할은 여러 사용자에게 CPU 시간을 배분하고, 실시간 처리는 시간 제약을 충족하는 것이 핵심입니다.
  7. 분산 처리는 네트워크로 연결된 여러 컴퓨터가 작업을 나누어 처리합니다.
  8. 제어 프로그램은 감시·작업 제어·데이터 관리 프로그램으로 구성됩니다.
  9. 처리 프로그램은 언어 번역·서비스·문제 처리 프로그램으로 구성됩니다.
  10. 작업의 스케줄링과 자원 할당은 작업 제어 프로그램의 기능입니다.

복습 문제

운영체제를 한 문장으로 정의하면?

사용자와 컴퓨터 하드웨어 사이에서 동작하며 시스템 자원을 관리하고 응용 프로그램의 실행 환경을 제공하는 시스템 소프트웨어입니다.

처리 능력과 응답 시간은 각각 어떤 방향으로 개선되어야 할까?

처리 능력은 높아져야 하고, 응답 시간은 짧아져야 합니다.

다중 프로그래밍과 다중 처리의 가장 중요한 차이는?

다중 프로그래밍은 여러 프로그램을 메모리에 두고 하나의 CPU가 번갈아 처리하는 방식입니다. 다중 처리는 두 개 이상의 CPU가 여러 작업을 실제로 병렬 처리하는 방식입니다.

시분할 시스템과 실시간 처리 시스템은 어떻게 다를까?

시분할 시스템은 CPU 시간을 나누어 여러 사용자에게 빠른 대화형 응답을 제공하는 것이 목적입니다. 실시간 처리 시스템은 정해진 시간 제한 안에 결과를 제공하는 것이 핵심입니다.

작업의 연속 처리와 자원 할당을 담당하는 프로그램은?

작업 제어 프로그램(Job Control Program)입니다.

제어 프로그램에 해당하지 않는 것은 언어 번역·감시·작업 제어·데이터 관리 중 무엇일까?

언어 번역 프로그램입니다. 언어 번역 프로그램은 처리 프로그램에 해당합니다.

원시 프로그램을 목적 프로그램으로 번역하는 프로그램은?

언어 번역 프로그램입니다. 대표적으로 어셈블러, 컴파일러와 인터프리터가 있습니다.

운영체제의 성능 평가 항목과 직접적인 관련이 가장 적은 것은 비용·처리 능력·반환 시간·사용 가능도 중 무엇일까?

시험 기준에서는 비용입니다. 처리 능력, 반환 시간과 사용 가능도는 운영체제의 대표적인 성능 평가 항목으로 다룹니다.

참고자료

이 글은 사무자동화산업기사 시험 범위에 포함된 운영체제의 개념을 이해하고 복습할 수 있도록 재구성한 정리입니다. 시험에서 사용하는 용어와 현대 컴퓨터 시스템의 분류가 일부 다를 수 있으므로 실제 시험 준비 시에는 최신 Q-Net 출제기준을 함께 확인해야 합니다.


같은 주제의 다른 글

이 글과 같은 카테고리에 있는 이전 글과 다음 글을 확인해보세요.

이전 글