1960년대 초반의 시간 공유(time-sharing) 기법은 운영체제 역사에서 혁신적인 전환점이야. 지금 우리가 쓰는 현대 컴퓨터의 기반이 된 개념이라고 해.
시간 공유 시스템이란
하나의 컴퓨터 자원을 여러 명이 동시에 사용하는 것처럼 만들어주는 운영체제 기법이야.
[ 사용자 1 ]
[ 사용자 2 ]
[ 사용자 3 ]
↓
[ 운영체제: 시간 공유 스케줄러 ]
↓ ↓ ↓
[ 사용자 1의 코드 실행 - 50ms ]
[ 사용자 2의 코드 실행 - 50ms ]
[ 사용자 3의 코드 실행 - 50ms ]
↓ ↓ ↓
[ 다시 사용자 1로 돌아감 ] → 반복
이건 앞서 말한 동시성(concurrency)을 구현한 초창기 시스템이야!
| 효과 | 설명 |
|---|---|
| 사용자 인터랙션 가능 | 사람들이 키보드로 명령어 입력하고 바로 반응을 볼 수 있게 됨 |
| 멀티태스킹 기반 | 여러 프로그램을 동시에 돌리는 운영체제 설계의 시작 |
| 다중 사용자 시스템 탄생 | 한 대의 컴퓨터를 여러 명이 사용할 수 있게 됨 (대학, 연구소 등) |
| 현대 OS의 시작점 | UNIX, Multics 같은 초기 운영체제들이 이 모델 기반으로 개발됨 |
| 문제 | 설명 |
|---|---|
| 메모리 보호 문제 | 한 사용자가 다른 사용자의 메모리를 침범할 수 있었음 |
| 자원 간섭 | 파일, 장치 등의 자원을 동시에 접근하면 충돌 가능성 |
| 시스템 안정성 | 하나의 사용자 프로그램 오류로 전체 시스템 다운 가능 |
| 보안 | 여러 사용자가 함께 쓰는 시스템에서 보안이 매우 중요해짐 |