인생 노하우

PC와 운영체제 발전을 경험하며 미래교육을 생각하기

배로만쌤(김인영) 2024. 1. 12. 11:28

미래교육은 학습과 열정이 필요하다

필자는 로봇 만드는 것이 꿈이어서 계측제어공학과를 가고 싶었지만 성적이 부족하여 비슷한 전자공학과를 입학하였습니다.

 

전자공학은 물리학의 파생이자 컴퓨터공학의 기초입니다. 이러한 학문의 연속성을 다음과 같이 정리해 봅니다.

 

신학 → 철학 → 수학, 물리학 → 전자공학 → 컴퓨터 과학 → 소프트웨어 공학 → 인공지능

 

위에서 분기가 되는 것이 컴퓨터 과학입니다. 기존의 학문들은 신이 만든 자연을 연구하여 모방하는 학문이었지만 컴퓨터 과학은 인간이 만든 컴퓨터를 연구하는 학문으로 이는 인간이 창조한 것을 인간이 계속 발전시키는 형태로 인공지능이 발달하면 이를 기계가 발전시키게 될 것이라는 상상을 해봅니다.

처음 퍼스널컴퓨터를 만나다

저는 중학교 1학년때 처음 컴퓨터를 접했습니다. 애플 2 컴퓨터와 삼성 MSX컴퓨터를 세운전자상가에서 전자회로 조립을 하며 구경하다가 중학교 2학년 때 본격적으로 배우게 되었습니다.

 

그때는 전시해 놓은 사무라이게임이 너무 재미있었습니다. 그래서 게임을 만들고 싶은 생각으로 상상력을 갖었습니다. 처음 컴퓨터를 접했을 때는 운영체제라는 것이 없었습니다. 초기의 8비트 컴퓨터에서는 따로 인터페이스가 없고 베이직 언어를 이용하여 컴퓨터를 사용하는 방식이었습니다.

 

학교 공부를 못했었기에 정말 간신히 대학에 입학했습니다. 그리고 학교 전자공학회실에 있는 컴퓨터를 사용해보려 했었지만 어려웠습니다. 대학 동기들 중에 나 같은 종류의 친구들이 많아 컴퓨터를 사용하는 것은 경쟁률이 아주 높았습니다.

 

그때 컴퓨터를 사용하던 친구가 앙숙이었는데 지금도 친구들 모임에 가면 아직도 앙숙입니다. 그 친구에게 많이 미안한 생각이 듭니다. 그냥 너무 똑같아서 티격태격하고 성인이 되어선 어쩔 수 없이 안타까운 관계가 되어서…

XT라는 컴퓨터로 대학생활을 시작하다.

어쨌든 대학하고 한 학기 내내 부모님에게 컴퓨터를 사달라고 노래를 불렀습니다. 그리고 여름방학 때 아버지가 큰맘 먹고 롯데백화점에서 카드로 IBM PC호환 XT컴퓨터를 150만 원에 구매했었습니다. 처음 구매해서 그렇게 갖고 싶은 컴퓨터였지만 당시의 운영체제인 DOS는 명령어를 외우고 있지 않으면 사용하기 힘들었습니다. 학교에서 많이 사용하지 못했기에 어떻게 써야 할지 몰랐습니다. 그때는 시중에 DOS에 관한 한글책도 구입하기 힘들었습니다. 

 

XT다음의 호환 컴퓨터는 AT라고 불렀습니다. AT컴퓨터에 최초로 하드디스크가 장착되어 나왔습니다. XT컴퓨터는 플로피디스크로 부팅하여 사용했었는데 AT에서는 하드디스크가 있어서 여러 장의 디스크를 교환하며 프로그램을 실행하지 않아도 되었습니다.  XT컴퓨터는 인텔 16비트 마이크로프로세서를 사용하고 있었는데 그때 유명한 인텔 CPU 중 8086 CPU은 주소와 데이터를 모두 16비트를 사용하는 프로세서고 8088 CPU은 주소는 16비트 데이터는 8비트를 사용하는 프로세서로 기존의 컴퓨팅환경이 8비트 컴퓨터였기에 외부인터페이스 때문에 XP컴퓨터는 주로 8086 CPU가 사용되었습니다.

 

또한 초기 컴퓨터는 메모리가 부족하여 프로그램 실행할 때 항상 메모리관리 프로그램을 사용하여 다양한 메모리기법을 구사하며 사용했었습니다.

최초의 윈도우3.1 컴퓨터와 마우스…

 

복학하고 XT는 구닥다리가 되고 386 컴퓨터가 유행하였습니다. 그런데 386 컴퓨터는 코프로세서라는 수치전용 80387 코프로세서가 별도로 존재하였고 굉장히 고가의 칩으로 별도 판매되었습니다. 

이때부터 윈도우가 부흥하기 시작하여 윈도우3.1이 최초로 일반인에게 사용되기 시작하였습니다. 제 기억으로는 졸업논문을 쓰기 위해 i386의 옥소리카드라는 사운드카드에 대한 논문을 아래한글로 작성했던 기억이 있습니다. 그때 졸업논문 제목이 “PCM카드를 통한 음성 사운드 샘플링”이었습니다. 

 

어쨌든 이때부터 PC에서 소리가 나는 것이 일반화되었고 이때 국내에서는 “옥소리사운드”카드였고 전 세계적으로 “사운드블래스터”라는 카드가 표준화되기 시작했습니다.

 

그다음에는 i486컴퓨터는 코프로세서가 포함된 i486DX와 코프로세스가 빠진 i486SX로 구분되었습니다.

 

이 시점에 친구집에 갔었는데 맥킨토시의 OS/2를 볼 기회가 있었습니다. 당시에 그래픽카드가 막 보급되던 때인데 맥의 GUI 운영체제가 저세상 화면 같은 느낌으로 좋았습니다.

그리고 그 엄청난 가격으로 감히 갖고 싶다는 엄두도 낼 수 없는 컴퓨터였습니다. 그때 애플은 모토로라의 68000계열 CPU를 사용하고 있었습니다.

 

하드웨어개발자로 직장생활을 시작하다.

 

일반기업의 통신기술연구소에 입사하여 처음 UNIX머신을 볼 수 있었습니다. 그리고 이때 플로피디스크 30장으로 구성된 리눅스배포판으로 PC에 리눅스를 설치하는 선배를 보며 놀라워했던 기억도 있습니다. 

 

그리고 나의 회사업무는 8051과 Z80이라는 8비트 마이크로컨트롤러를 이용하여 통신장치 회로를 구성하고 어셈블러를 이용하여 펌웨어를 프로그래밍하는 것이 일이었는데 초창기에는 마이크로회로들이 민감하여 정해진 순서대로 칩을 꽃아 사용하지 않으면 수천, 수억원짜리 렌탈 장비를 망가트리는 일이 비일비재하여 선배들에게 혼을 많이 난 기억이 있습니다.

 

엄청난 양의 어셈블리어로 코딩할 때, 디버깅을 하는 때 힘들었던 기억이 있습니다. C로 프로그래밍을 하며 편리함과 더불어 컴파일러의 불완전성으로 코드는 정확한데 프로그램 동작이 들쑥날쑥했었습니다. 초기에 어셈블리 디버깅과 C언어 컴파일러 오동작의 경험을 통해 코드추적 능력이 많이 늘었다고 생각됩니다.

 

지금의 아두이노와 같이 안정적인 보드를 사용하면 인생무상이 느껴집니다.

 

이때 내 월급으로 직접 펜티엄 PC를 구매했던 기억이 있습니다. 

하지만 가격은 여전히 150만 원 정도였습니다. PC는 계속 업그레이드되며 가격은 계속 비슷한 수준을 유지했습니다. 

 

두 번째 직장으로 PC개발하는 회사에 들어가 펜티엄 Pro와 펜티엄 II컴퓨터 개발에 참석여습니다. 그런데 PC개발은 주로 인텔에서 CPU관련기본  회로도를 제공받아 시작됩니다. 주변 칩의 인터페이스를 위한 저항과 콘덴서를 배치하고 PCB를 위한 아트워크를 그려 메인보드를 만들게 됩니다. 내가 하는 일은 서드파티에서 사운드카드, VGA카드, 네트워크카드, 마우스, 키보드등을 테스트하는 것이었습니다.

 

이때 원 없이 PC를 사용해 보았고 특히 네트워크 기능은 그때 처음 경험하게 되었습니다. 매일 네트워크카드 설정을 하며 네트워크 기능을 처음 알게 된 계기였습니다.

 

이렇게 저는 컴퓨터의 시작을 경험했습니다. 그리고 나중에 다시 로봇을 만들겠다는 꿈을 되찾아 호주로 유학을 갔습니다. 컴퓨터사이언스를 대학원에서 공부하며 SW개발자로 전업했습니다.

 

프로그래밍을 하면서 하드웨어 개발과 소프트웨어 개발의 차이를 깨달았습니다. 하드웨어 개발자는 액션을 취하기 전에 충분히 사전준비를 해야 하지만 소프트웨어 개발자는 최대한 정보를 빠르게 찾아서 생각나는 대로 빨리 코딩을 하는 것이 중요했습니다.

 

하지만 처음 개발을 시작할 때, 필자는 두 가지 심각한 문제가 있었습니다. 코딩을 즉각적으로 해야 하는데 이것저것 고민하면서 개발하였기에 구현 능력이 부족했습니다. 특히, 정보를 빠르게 찾아야 했었는데 그때는 개발문서들이 발달하지 않았기에 동료 개발자들로부터 개발정보를 얻는 것에 늦었습니다.

 

하지만 이러한 느림은 설계자로서의 역량으로는 좋은 능력이었습니다. 설계자는 충분한 조사를 통해 개발의 어려움을 미리 검토하고 기술적인 한계를 극복할 수 있어야 합니다. 따라서 개발자로서 부족함이 설계자로서는 좋은 역량이 되었습니다.

 

시간을 돌이키며  하드웨어와 더불어 윈도우의 연대기를 첨부하며 글을 마무리합니다.

<윈도우즈 시리즈 히스토리, 참조: 마이크로소프트 윈도우 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)>

 

애플 2, MSX (8비트) → XT (8/16비트 8088 CPU) → AT (16비트 80286 CPU) → i386 (32비트 80386 CPU) → i486(32비트 80486 CPU) → 펜티엄(32비트 80586 CPU) → 펜티엄 Pro → 펜티엄 II → 펜티엄 III → 펜티엄 IV → 펜티엄 시리즈(64비트 CPU)

<CPU 발전 단계>

 

이러한 IT의 발전 속에 저는 배우는 능력을 키워왔습니다. 앞으로는 더더욱 구현하며 실행하는 능력이 미래교육에서 필요한듯합니다.

어떤 일을 하던 지금은 컴퓨터를 사용하는 것을 배우고 실행하는 능력이 필요한 시대이고 젊은 사람들이 꼭 깨달아야 할 듯합니다.

 

감사합니다.