📖 WIPIVERSE

🔍 현재 등록된 정보: 31,177건

시분할

시분할(Time-sharing)은 컴퓨터 시스템의 자원을 여러 사용자가 동시에 사용하는 것처럼 보이게 하는 기술이다. 이는 하나의 중앙 처리 장치(CPU)가 짧은 시간 간격(time slice 또는 quantum)으로 여러 작업을 번갈아 가며 처리함으로써 구현된다. 각 사용자에게는 마치 자신만이 컴퓨터를 독점적으로 사용하는 듯한 인상을 주지만, 실제로는 CPU 시간을 여러 사용자 간에 공유하는 것이다.

시분할 시스템은 대화형 컴퓨팅을 가능하게 했으며, 1960년대 초반부터 메인프레임 환경에서 널리 사용되기 시작했다. 이전의 배치 처리 시스템과는 달리, 사용자는 프로그램을 실행하고 결과를 즉시 확인할 수 있게 되어 프로그래밍 및 디버깅 효율성이 크게 향상되었다.

원리

시분할 시스템은 스케줄링 알고리즘을 사용하여 CPU 시간을 할당한다. 가장 간단한 스케줄링 방식은 라운드 로빈(Round Robin) 방식으로, 각 사용자에게 동일한 시간 간격을 할당하고, 모든 사용자가 한 번씩 돌아가며 CPU를 사용하는 방식이다. 보다 복잡한 스케줄링 알고리즘은 작업의 우선순위, 소요 시간 등을 고려하여 CPU 시간을 할당함으로써 시스템 효율성을 높인다.

장점

  • 대화형 컴퓨팅: 사용자는 프로그램 실행 결과를 즉시 확인하고 상호작용할 수 있다.
  • 자원 활용률 향상: CPU가 유휴 상태로 있는 시간을 최소화하여 시스템 자원을 효율적으로 활용한다.
  • 사용자 편의성 증대: 여러 사용자가 동시에 시스템을 사용할 수 있어 사용자 대기 시간을 줄인다.

단점

  • 오버헤드 증가: 스케줄링, 문맥 교환(context switching) 등의 과정에서 시스템 오버헤드가 발생할 수 있다.
  • 보안 문제: 여러 사용자가 시스템 자원을 공유하므로 보안 취약점이 발생할 가능성이 있다.
  • 응답 시간 변동: 시스템 부하에 따라 사용자 응답 시간이 변동될 수 있다.

관련 용어

  • 문맥 교환(Context Switching): CPU가 다른 작업으로 전환할 때, 이전 작업의 상태를 저장하고 새로운 작업의 상태를 불러오는 과정
  • 스케줄링 알고리즘: CPU 시간을 할당하는 규칙 또는 정책
  • 라운드 로빈(Round Robin): 각 사용자에게 동일한 시간 간격을 할당하는 스케줄링 방식

참고

시분할 기술은 현대 운영체제에서도 멀티태스킹을 구현하는 핵심적인 기술로 사용되고 있으며, 클라우드 컴퓨팅 환경에서도 자원 공유를 위한 중요한 기술로 활용되고 있다.