1 분 소요

시분할 시스템(Time Sharing System, 타임 셰어링)은 하나의 컴퓨터를 여러 사용자가 각자 독립적인 PC처럼 활용하게 해 주는 핵심 운영 방식입니다. 시분할 시스템은 짧은 시간 할당(Time Slice)을 교대로 배분해 CPU·메모리 같은 자원을 극대화하며, 오늘날 클라우드·터미널 서비스의 근간이 됩니다.


시분할 시스템의 개념과 작동 원리

Time Slice 기반 다중 사용자 처리

  • 정의: 운영체제가 수 ms ~ 수 백 ms 정도의 타임 슬라이스를 돌려가며 프로세스에 할당해, 여러 작업이 동시에 실행되는 듯한 효과를 제공합니다.
  • 목적: 다중 사용자 환경에서 응답 시간(Response Time) 단축자원 이용률 향상을 동시에 달성.

간단히 말해, CPU가 초당 수천 번 프로세스를 전환해 “동시 실행”을 가상으로 구현하는 구조입니다.

작동 흐름 예시

  1. 프로세스 A → 10 ms 사용 후 인터럽트
  2. 프로세스 B → 10 ms 사용
  3. 프로세스 C → 10 ms …
  4. 준비 큐로 돌아가 A 재할당 (Round-Robin)
while ready_queue:
    pcb ← ready_queue.pop_front()
    run pcb for QUANTUM
    if pcb not finished:
        ready_queue.push_back(pcb)

시분할 시스템의 장점

1. 다중 사용자 지원

  • 여러 사용자가 동시에 로그인해 명령을 내리면, OS가 타임 셰어링으로 CPU를 나눕니다.
  • 사용자마다 균등·공정한 처리 시간이 보장돼 “내 컴퓨터”처럼 느껴집니다.

2. 프로그램 동시 적재

  • RAM을 분할·가상 메모리로 관리해 수십 개 프로세스를 한꺼번에 올립니다.
  • 디스크 I/O 지연 중 다른 Job을 실행해 CPU 유휴 시간을 최소화합니다.

3. 대화형(Interactive) 환경

  • 키보드 입력 → 즉시 응답 → 화면 출력이라는 실-시간 상호작용 구현.
  • 데이터베이스 터미널, 온라인 컴파일, 원격 셸 등이 대표 사례입니다.

시분할 시스템의 단점

1. 운영체제 복잡성 증가

  • 프로세스 스케줄링·동기화·보호 로직이 필수 → 커널 규모·버그 가능성 ↑
  • 세마포어·뮤텍스·메모리 보호 기법 등을 정교하게 설계해야 합니다.

2. 처리 시간 한계

  • 동시 접속자가 급증하면 1인당 Time Slice 가늘어져 응답 지연 발생.
  • 과도한 컨텍스트 스위칭은 캐시 미스·오버헤드로 성능을 깎아먹을 수 있습니다.

질문 정리– 시분할 시스템 자주 묻는 질문

질문 답변
Q1. 시분할과 다중 프로그래밍의 차이는? 다중 프로그래밍은 CPU 활용률 향상 목적, 시분할 시스템사용자 반응 속도 최적화가 핵심입니다.
Q2. Time Slice(퀀텀)는 보통 얼마나 되나요? 전통적으로 10 ~ 100 ms 범위이며, 실시간·모바일 OS는 더 짧게 설정합니다.
Q3. 사용자가 많을 때 성능을 유지하려면? 우선순위 스케줄링, 멀티코어 분산, 로드 밸런싱으로 컨텍스트 스위칭 오버헤드를 줄입니다.
Q4. 현대 OS도 시분할 방식을 쓰나요? 네. Windows, Linux, macOS 모두 Round-Robin + 우선순위 기반 시분할 커널을 사용합니다.
Q5. 시분할 시스템에서 보안은 어떻게 보장되나요? 프로세스 격리(가상 메모리), 시스템 콜 필터링, 권한 기반 파일·장치 접근 제어로 사용자를 분리합니다.

댓글남기기