본문 바로가기
컴퓨터&네트워크

운영체제의 진화 과정-1

by 파란하랑 2024. 8. 11.

운영체제-역사
운영체제-역사

<운영체제의 역사>

 

운영체제는 세월에 따라 계속 진화해 왔는데 중요한 특징들을 간단하게 살펴보자. 역사적으로 운영체제는 운영체제가 실행되고 있는 컴퓨터 구조와 밀접한 연관이 있으며, 우리는 각 컴퓨터 세대별로 운영체제가 어떠한 모습을 띄고 있었는지 살펴보는 것이 좋겠다.

 

최초의 진정한 디지털 컴퓨터는 영국 수학자 Charles Babbage에 의해 설계되었다고 볼 수 있다. 그가 전 생애와 재산의 대부분을 이 '분석하는 엔진'에 쏟아 부었지만 결국 제대로 동작하는 장치를 만들어 낼 수는 없었다. 그의 설계가 순전히 기계적 장치에 의존하고 당시의 기술로는 고도로 정확하게 제작해야 하는 휠, 기어 등을 제대로 만들어 낼 수가 없었기 대문이다. 당연히, 운영체제는 없었다.

 

<1세대 진공관>

 

Babbage 시도가 실패한 이후 2차 세계 대전까지는 별다른 진전이 없었다고 해도 무방하다. Iowa Sate 대학교에서 John Atanasoft 교수와 그의 대학원생인 Clifford Bery는 제대로 작동하는 첫 디지털 컴퓨터로 여겨지는 기계를 만든다. 그들은 300여 개의 진공관을 사용해서 만들었다. 비슷한 시기에 베를린에서 Z3라는 컴퓨터가 만들어졌고 영국에서는 Colossus가 만들어졌다. 어떤 것은 이진법을 사용하였고 어떤 것은 진공관을, 어떤 것은 프로그램이 가능했으나 아주 원시적인 수준이었다.

 

이러한 초기 시기에는 하나의 그룹에서 각 기계를 설계하고 만들고 프로그램하고 관리했다. 모든 프로그래밍은 절대적인 기계 언어로 하였으나 어떤 경우에는 기계의 기본적인 기능을 제어하기 위한 배선반에 연결된 수천 개의 케이블을 연결하여 구성하는 전기회로를 적절히 만드는 방식으로 하기도 했다. 프로그래밍 언어는 존재조차 하지 않았다.

 

프로그래머는 벽에 있는 게시물에 특정 시간대를 할당해 달라고 적어 놓고선, 시간이 되면 기계실에 내려와서 그의 배선반을 컴퓨터에 꽂고 난 이후, 몇 시간 동안 수많은 진공관 중 하나라도 꺼지지 않고 무사히 실행을 마무리할 수 있기를 빌고 기다리곤 했다.

 

<2세대 트랜지스터와 배치 시스템>

 

1950년 중반에 나온 트랜지스터가 세상을 크게 바꾸기 시작했다. 컴퓨터들을 충분히 신뢰할 수 있는 환경이 갖춰지면서 이를 만들어 팔아도 돈을 내고 사 가는 수요층이 생기기 시작했다. 컴퓨터가 유용한 일을 해 내도록 충분히 제 기능을 할 것이라는 기대감이 생기기 시작했다.

 

지금은 메인프레임이라고 부르는 이 기계는 냉방 장치가 잘 되어 있는 컴퓨터실에 박혀 있으면서 몇 명의 저문 운영자들에 의해 관리되었다. 프로그램을 실행하기 위해서 프로그래머는 우선 종이에 프로그램을 작성하고 이어 카드에 천공을 했다. 그는 카드 묶음을 입력실로 가지고 가서 운영자에게 전달했고 결과가 준비될 때까지 기다리곤 했다.

 

장비가 매우 비쌌기에 당연히 많은 사람들이 낭비되는 시간을 최소화하기 위해서 노력했다. 일반적으로 사용된 방안은 배치 시스템이다. 기본적으로 입력실에서 여러 잡들의 묶음을 한 번에 받은 다음 상대적으로 저렴한 컴퓨터를 이용해서 자기 테이프로 읽어 들였다. 이 저렴한 기계는 수치 계산에는 유용하지 못했지만 카드를 읽어 들이거나 테이프를 복사하는 등의 작업에는 상당히 유용하게 쓸 수 있는 기계였다. 진짜 계산은 훨씬 더 비싼 기계에서 이뤄졌다고 보면 된다.

 

한 시간 정도 잡들이 들어오기를 기다린 후에 이 카드들을 자기 테이프로 읽어 들이고 이를 기계실로 가져가서 테이프 드라이브에 올려놓는다. 이어 운영자는 특별한 프로그램을 적재해서 이를 통해 테이프에 있는 첫 잡을 읽어 실행한다. 각 잡이 마무리되면 운영체제는 자동적으로 테이프에 있는 다음 잡을 읽고 실행하도록 만들었다. 전체 묶음이 완료되면 운영자는 입력과 출력 테이프들을 꺼내면서 입력 테이프는 또 다른 묶음의 잡들이 있는 새로운 테이프로 대체하고 출력 테이프를 가져와서 메인 컴퓨터와 연결되지 않은 상태에서 프린트했다.

 

당시에는 대부분 물리학이나 공학에서 요구되는 편미분 방정식과 같은 문제를 푸는데 활용되었고 대부분 FORTRAN이나 어셈블리 언어로 프로그램이 되었다고 보면 된다.

 

https://having-information.tistory.com/4

'컴퓨터&네트워크' 카테고리의 다른 글

컴퓨터 하드웨어  (0) 2024.08.12
다양한 정보통신망  (0) 2024.08.12
프로그래밍 언어  (0) 2024.08.11
운영 체제의 진화 과정-2  (0) 2024.08.11
운영체제의 정의  (0) 2024.08.11