분할 시스템(Time Sharing System)
시분할 시스템(Time Sharing System, 타임 셰어링)은 하나의 컴퓨터를 여러 사용자가 각자 독립적인 PC처럼 활용하게 해 주는 핵심 운영 방식입니다. 시분할 시스템은 짧은 시간 할당(Time Slice)을 교대로 배분해 CPU·메모리 같은 자원을 극대화하며, 오늘날 클라우드·터미널 서비스의 근간이 됩니다.
시분할 시스템의 개념과 작동 원리
Time Slice 기반 다중 사용자 처리
- 정의: 운영체제가 수 ms ~ 수 백 ms 정도의 타임 슬라이스를 돌려가며 프로세스에 할당해, 여러 작업이 동시에 실행되는 듯한 효과를 제공합니다.
- 목적: 다중 사용자 환경에서 응답 시간(Response Time) 단축과 자원 이용률 향상을 동시에 달성.
간단히 말해, CPU가 초당 수천 번 프로세스를 전환해 “동시 실행”을 가상으로 구현하는 구조입니다.
작동 흐름 예시
- 프로세스 A → 10 ms 사용 후 인터럽트
- 프로세스 B → 10 ms 사용
- 프로세스 C → 10 ms …
- 준비 큐로 돌아가 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. 시분할 시스템에서 보안은 어떻게 보장되나요? | 프로세스 격리(가상 메모리), 시스템 콜 필터링, 권한 기반 파일·장치 접근 제어로 사용자를 분리합니다. |
댓글남기기