수학기술지원 [969976] · MS 2020 (수정됨) · 쪽지

2021-01-21 23:26:32
조회수 500

운영체제의 역사 - 1

게시글 주소: https://orbi.kr/00035463981

초창기의 컴퓨터


초창기의 컴퓨터는 사실 현대의 개념의 프로그래밍이라는 개념이 매우 생소했습니다. 코드를 입력하여 프로그래밍하는 것이 아니라, 전선의 위치와 기계 외부를 조작하여 어떠한 연산을 수행하도록 했습니다. 지금처럼 코드를 입력하여 저장된 프로그램을 실행하는 개념이 아니었습니다.

이러한 시대에서는 운영 체제라는 개념도 없었습니다. 어떤 다른 연산을 수행하려면, 전선의 위치를 바꾸어 컴퓨터를 조작해야 했습니다. 사실 계산기에 더 가깝다고 보면 되겠군요. 사진은 애니악입니다.



조금 더 발전한 컴퓨터


1950년대에는, 컴퓨터는 오직 하나의 프로그램만 실행할 수 있었습니다. 초창기의 컴퓨터처럼 다른 연산을 수행하려면 컴퓨터의 외부 구조를 바꾸지는 않아도 되었지만, 현대 스마트폰이나 랩탑처럼 멀티태스킹이라는 개념은 존재하지도 않았습니다. 


그 당시에는 지금처럼 SSD,HDD,microSD 같은 훌륭한 저장 장치가 없었기 때문에, 저장된 프로그램을 수행하려면 구멍이 뚫린 OMR 카드처럼 생긴 천공 카드에 프로그램을 작성해야 했습니다. 사진은 천공 카드입니다.



하나의 컴퓨터에 각 사용자들이 제한된 시간동안 컴퓨터를 단독으로 사용하며, 천공 카드에 적힌 프로그램을 실행하여 계산 결과를 차례로 받아 보았습니다. 


 초기 운영체제의 등장


하지만, 여러 사람들이 작업이 끝날 때까지 기다리다가, 프로그램을 실행시키는 것은 너무 비효율적입니다. 이를 해결하기 위해 Batch processing system(배치 시스템)이 등장합니다. 여러 프로그램을 순서를 정해 두고 컴퓨터에게 한 프로그램이 끝나면, 다음 프로그램을 실행하도록 하는 시스템입니다. 이 기점으로 최초의 운영체제가 등장했다고 할 수 있습니다.


Time-sharing의 개념


배치 시스템은 완벽하지 않았습니다. 그 당시의 개인용 컴퓨터는 존재하지도 않았고, 컴퓨터는 매우 비싸고 가치 있는 연산 처리 장치였기 때문에, 하나의 컴퓨터를 여러 유저가 나누어 작업해야 했습니다. 

그런데, 하나의 유저가 다른 여러 유저의 연산을 방해하는 경우가 종종 등장했습니다. 먼저 컴퓨터를 사용하고 있는 유저가, 100시간이 걸리는 작업을 처리하고 있고, 나머지 5명의 유저는 1분 정도만 컴퓨터가 연산하면 결과를 얻는 작업을 대기하고 있다고 생각해 봅시다. 나머지 5명의 유저는 겨우 1분짜리 작업에 100시간이 넘는 시간동안 기다리고 있어야 합니다. 이는 전체적으로 보았을 때, 너무나도 비효율적입니다.

하지만, 컴퓨터가 유저들의 프로그램을 번갈아 가며 처리해 주면, 100시간의 작업을 처리하고 있는 유저에게는 컴퓨터가 조금 느리게 응답하겠지만, 나머지 5명의 유저는 1분짜리 작업을 처리하는데 100시간을 기다리고 있어야 하는 수고는 덜어줄 수 있습니다. CPU가 점점 빨라지면서, 각각의 유저는 컴퓨터가 동시에 다수의 작업을 처리하는 것처럼 착각하게 됩니다. 이를 time-sharing, 시분할 시스템이라 합니다.


멀틱스의 등장


멀틱스는 1965년 미국의 MIT, AT&T 벨 연구소, GE(제네럴 일렉트릭)의 연구자들이 모여 개발한 운영체제입니다. 이 중에는 C언어의 창시자, 데니스 리치도 있었습니다.



(Dennis Ritchie, 1941년 9월 9일 ~ 2011년 10월 12일)


멀틱스 운영체제는 초기 time-sharing 운영체제였습니다. 이 멀틱스 운영체제는 후에 리눅스, macOS, iOS,안드로이드 운영체제의 원형이 되는 UNIX 운영체제가 등장하게 되는 기틀을 마련했습니다.

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.