총 10분 중 11분
2001
시즌 2개, 그리고 영화
시즌 2: 5화 “아일랜드”
출연: 이나영, 김민준, 김민정, 현빈
장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
IT 관련 활동 유닉스의 탄생, 한빛미디어(1)

유닉스의 탄생(브라이언 커니핸, 한빛미디어)

 

 자연계열학과에서 다전공을 하겠다며 호기롭게 청강한 소프트웨어 강의에서 '리눅스 한 달 살기' 과제를 받았다. 리눅스? 처음 듣는 말이었다. 운영체제라는 말도 낯선 나였다. 리눅스 기반 운영체제를 이용해 일주일에 하나씩 소프트웨어를 설치해 리포트를 쓰는 과제였다. 뭐가 얼마나 복잡하면 프로그램 설치를 리포트로 쓸까..라는 생각이 들었다. 

 

 컴퓨터에 대한 배경지식이 없었으므로 어디서부터 시작해야 할 지 감이 오지 않았다. 그러면서 교수님께서 추천해 주신 유닉스의 탄생을 읽게 됐다.

 

 책은 유닉스의 탄생 과정을 옆에서 지켜본 브라이언 커니핸의 구체적인 서술로 이루어진다. 할머니가 옛날 얘기해 주는 듯한 사실적이고 자세한 묘사가 좋았다. 나는 최대한 할 수 있는 모든 묘사를 해주는 책이 좋다. 그래야 몰입이 된다. 아무튼, 요약하자면 유닉스는 멀틱스라는 복잡하고 고도화된 기능을 제공하는 운영체제를 만드는 배경을 거쳐 태어난다. 멀틱스의 고오급 기능을 PDP-7에서 실행가능하도록 단순화한 운영체제가 uni- 유닉스다. 유닉스는 C 언어를 이용해 이식성을 가지면서 독보적인 기능의 운영체제로 자리매김한다. 현재는 유닉스 기반의 무료 운영체제 리눅스가 그 자리를 꿰차고 있다.

 

 책에서 이해하고픈 내용은 리눅스를 왜 배우라고 하는 지였다. 우분투를 깔고, 구글링 하면서 명령어 몇 자 입력도 해보고, 프로그램을 깔아봐도 내가 뭘 하고 있는지 모르겠더라. 책에 유닉스의 기능을 설명해 놓은 대목이 있다. 

 

1. 분리가능한 볼륨을 지원하는 계층적 파일 시스템

2. 서로 호환되는 파일, 디바이스, 프로세스 간 입출력

3. 비동기 프로세스를 시작하는 기능

4. 사용자 단위로 선택 가능한 시스템 명령어

5. 십여 가지 언어를 포함하는 100개 이상의 서브시스템

 

 나는 최대한 간결하고 이해하기 쉬운 말로 이를 이해해보고자 한다. 이해를 돕기 위한 비유 과정에서 개념과 맞지 않는 설명이 나타날 수 있다. 냉큼 지적질해주시면 감사하겠다. 나는 아직 비전공자와 전공자 그 중간에 있기 때문에 많이 배워야 한다...

 

1. 분리가능한 볼륨을 지원하는 계층적 파일 시스템

 파일 시스템은 파일 접근을 제어하는 운영체제의 기능이다. 파일 탐색기가 파일 시스템 기능이다. 유닉스(멀틱스)가 나오기 이전에는 파일에 접근할 때 파일의 내용(정보)에 따라 사용해야 하는 파일 시스템 기능이 달라질 수 있었다. 지금이야 파일이 워드거나 이미지거나 무엇이든 간에 파일의 위치 정보를 알 수 있다. 일관성 있는 정보 저장 상태를 유지한다는 것이 사용자 입장에서 안정적이다. 

 그럼 계층적이라는 것은 무엇일까. 어떤 디렉터리라도 하위 디렉터리를 포함할 수 있어서 파일 시스템 깊이에 제약이 없는, 중첩된 디렉터리와 파일로 구조화하는 방식을 의미한다. 태어나보니 윈도우가 있었던 나에겐 어려운 개념이다. 나는 현재 '경희대' 파일에 각 학기마다 수강하는 강의에 관련된 모든 정보를 담는다. 지금 학기인 '4-1' 파일에는 '오픈SW', '객프', '네트워크' 라는 하위 파일을 가지고 있고, 각각의 파일은 또 '중간고사', '과제', '수업' 등의 하위 파일을 가진다. CTSS라는 과거의 파일 시스템은 최대 2단계까지만 지원했다고 한다. 과제와 수업 자료들을 파일로 구분할 수 없었을 뻔했다.

 

 (관련해서 책에서 이해가 가지 않았던 부분이 있다.

"유닉스는 '현재 디렉터리'라는 개념도 지원하므로 파일명은 루트 디렉터리에서 전체 경로를 명시할 필요 없이 파일 시스템상의 현재 위치에 상대적인 경로로 표시할 수도 있다."

상대적인 경로가 무엇을 기준으로 상대적인 경로인지 모르겠다. 상대적이라는 말을 사용한 의미를 이해하지 못했다.) 

 

 이제 형용사 부분인 '분리가능한 볼륨을 지원하는'을 이해해보자. 지금 파일 탐색기를 켜보면 '내 PC', '로컬 디스크', '네트워크' 등 주변 장치가 파일 시스템상의 파일처럼 보인다. 여기서 '디스크'가 분리 가능한 볼륨을 의미한다. PC 외부의 장치를 디바이스에 접근하는 시스템 호출과 동일한 코드로 조작 가능한다는 개념이 이전에는 없었다. 클릭을 했을 때 사실은 실제 장치에 있는 특이한 속성을 처리하는 시스템 호출이 이루어진다. 

 

 시스템 호출이라는 개념이 나왔다. 시스템 호출은 운영체제라고 할 수 있다. 실행되는 프로그램에 프로그램 시작 및 중단, 파일 내부 정보 읽고 쓰기, 디바이스 및 네트워크 연결 접근, 날짜 및 시간 정보 보고하기 등 다양한 서비스를 이용하도록 접근하는 메커니즘이 시스템 호출이다.

 

  결론적으로, 사용자에게 복잡한 작업을 요구하지 않고 접근을 처리되도록하는 지금의 환경은 유닉스가 시발점이었다는 것이다. 

 

쓰다보니 엄청나게 길어질 것 같아서 일단 여기서 마무리해야겠다. 

 

 

 

 

 

 

IT 관련 활동 유닉스의 탄생, 한빛미디어(1)