다중작업: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
태그: 되돌려진 기여 m 모바일 웹
LR0725 (토론 | 기여)
잔글 121.133.198.75(토론)의 편집을 TedBot의 마지막 판으로 되돌림
13번째 줄:
 
동일한 시스템을 여러 명이 공유해서 쓰는 것을 나타내던 ''시분할''이라는 용어는 개인용 컴퓨터와 워크스테이션의 발전으로 인해 ''멀티태스킹''이라는 용어로 대체되어 특수한 경우를 제외하고 현재는 거의 사용되지 않는다.
 
== 멀티프로그래밍 ==
{{본문|멀티프로그래밍}}
CPU에 비하여 [[주변장치]]들은 상대적으로 매우 느리다. 만약 컴퓨터가 주변장치에 접근해야 하는 프로그램을 실행시키면 CPU는 아무것도 하지 못하고, 주변장치가 데이터 처리를 완료해 줄 때까지 기다려야 했다. 전산학 발전 초기단계에서 [[중앙처리장치 시간|CPU 시간]]은 매우 귀중한 자원이었기 때문에 이러한 CPU 시간의 낭비는 매우 비효율적으로 보였다.
 
이러한 낭비를 막기 위해서 1960년대가 되면서 최초의 멀티 프로그래밍 시스템을 개발하려는 움직임이 있었다. 이 시스템에서는 몇 개의 서로 다른 프로그램들이 컴퓨터의 메모리에 불러들여진다. 첫 번째 프로그램이 실행되다가 주변장치의 처리를 기다려야 하게 되면, 이 프로그램의 문맥은 저장이 되고, 두 번째 프로그램이 실행될 기회를 얻게 된다. 이런식의 처리 과정이 모든 프로그램의 작업이 완료될 때까지 반복적으로 일어난다.
 
멀티프로그래밍은 프로그램이 적절한 시간안에 완료되는 것을 보장해주지는 못한다. 사실, 아주 먼 옛날의 프로그램도 주변장치에 접근할 필요없이 몇시간이고 잘 동작하였다. 이러한 컴퓨터 환경은 활성화된 단말기 앞에 사용자가 결과를 확인하기 위해서 대기하고 있지만 않다면 특별한 문제가 없었다. 사용자는 단지 컴퓨터를 조작하는 사람에게 천공카드 한묶음(프로그램)을 건네주고 떠났다가, 몇시간 후 출력된 결과를 확인하기 위해서 다시 돌아오면 되기 때문이다. 멀티 프로그래밍은 여러개의 순차 프로그램들이 처리될 때 대기시간을 크게 줄여주었다.
 
== 같이 보기 ==