side by side assembly는 윈도우 운영체제의 구조적인 문제 중 하나였던 DLL hell 문제를 해결하기 위해 윈도우 XP에서부터 처음으로 도입한 기술입니다. (그 후 2003, 비스타 등등..)

전통적으로 Win32 EXE가 symbol import table을 통해 읽어들이도록 지정되어 로드 타임 때(런타임이 아닌) 실제로 읽어들이는 외부 dll은
해당 EXE/모듈이 있는 디렉토리, 커런트 디렉토리, 윈도우 및 윈도우 시스템 디렉토리, path 환경변수가 걸린 디렉토리 등등의 순서대로 탐색합니다. 물론 kernel32, gdi32, user32 같은 시스템 dll도 다 여기에 속하고요.

런타임이 아니라 로드(load) 타임이기 때문에
이런 dll 파일이 존재하지 않거나 한 심볼이라도 읽어들이지 못했다면
그 프로그램은 그냥 속수무책으로 전혀 실행되지 못합니다.
그런 상황에서의 처리를 프로그래머가 능동적으로 전혀 할 수 없다는 게 큰 약점입니다.

* * * * * * *

자, 이런 전통적인 로딩 방식은 잠재적인 문제를 품고 있습니다.
먼저, 한 회사에서 만들어서 여러 디렉토리에 상주하는 다수의 프로그램들이 자기네끼리 한데 공유하는 dll의 경로를 지정할 수가 없습니다. 기껏 잘 해 봐야 path 환경변수 지정이 고작인데, 이는 정량적인 방법은 아닙니다. 그 경로 지정 자체가 이미 '런타임'에만 가능한데, dll 로딩 경로는 '로드 타임'에 결정되어야만 하기 때문입니다.

이런 딜레마로 인해 조금이라도 한데 공유하는 dll은 반드시 탐색한다는 게 보장되는 윈도우 시스템 디렉토리에다 집어넣는 게 무조건 장땡이었고, 이 때문에 거기는 운영체제가 기본 제공하는 dll과, 응용 프로그램들이 집어넣은 dll로 인해 몇천 개의 수백 MB에 달하는 dll들로 난장판이 되어 버렸습니다.

둘째, dll을 식별하는 수단이 이름이 유일한지라, 이름이 같지만 다른 위치에 있거나 버전이 다른 엉뚱한 dll이 로딩되었을 때 대처할 방법이 전혀 없습니다. 이는 보안상으로도 매우 위험합니다. 이게 바로 말 그대로 DLL hell의 근본 원인입니다.

msvcrt.dll, mfc42.dll, comctl32.dll 이런 것들은 윈도우 98 이래로 이름은 같지만 그동안 버전별로 프로토콜, 인터페이스가 내부적으로 상당히 바뀐 게 많습니다. 내부적으로 문서화되지 않은 동작 방식이야 두말할 것도 없겠죠. 그런데 본이 아니게 그런 문서화되지 않은 동작 방식에 의존하던 프로그램이 다른 버전의 dll을 읽어들이면 그때부터 프로그램의 안정성은 뻑이 나기 시작한다는 것입니다.

* * * * * * *

side by side assembly 기술은 위의 두 문제를 모두 원천적으로 해결하는 과정에서 나온 해결책입니다.

첫째, 이제 MS에서는 지금까지 내놓았던 시스템 dll 이후로 제 3자 응용 프로그램의 고유 dll이 윈도우 시스템 디렉토리에다 들어가는 것을 비추(discourage) 행위로 규정했습니다.
호환성 때문에 저걸 완전 금지할 수는 없구요. <날개셋>의 경우 윈도우 IME가 반드시 시스템 디렉토리에만 있어야 하기 때문에 시스템 디렉토리를 건드립니다.

그런 특수한 경우가 아니면, 응용 프로그램이 사용하는 모든 dll은 가능하면 응용 프로그램 디렉토리에다가만 두어라! 시스템 디렉토리는 이제 운영체제만 자체적으로 쓰겠다. 이곳의 포화는 이제 그만!
메모리가 부족한 상황에서 자원을 하나라도 더 공유하려고 시스템 디렉토리를 두었지만 이제 그런 정책까지 과감히 포기한 것입니다.

이게 파격이 큰 이유는, 심지어 준시스템 dll이나 다름없는 개발툴의 런타임 dll들까지 이제 시스템 디렉토리에다 넣지 않기로 했기 때문입니다. 비주얼 C++ 기준으로 6.0이 끝입니다. 6.0으로 만든 EXE만이 mfc42.dll이나 msvcrt.dll 정도는 윈도우 98 이래로 어디에나 편재해(ubiquotous) 있다고 간주할 수 있습니다. 즉 'known dll'인 것입니다.

그 이후로, 닷넷으로 만든 EXE는 자신이 사용하는 msvcr71, msvcr80, mfc71 등등을 배포 패키지에다 자체 내장해야 합니다. 윈도우 XP, 비스타의 시스템 디렉토리에 기본으로 들어있지 않습니다. 응용 프로그램이 자기가 쓰는 런타임 dll은 무조건 복사본을 자기 디렉토리에다 심어야 합니다.

둘째. 첫째가 상당히 자비심 없는 정책이 되었는데 그럼 대책이 뭐냐 하면,
내가 정확하게 읽어들이고자 하는 DLL의 고유 식별자, CPU 아키텍쳐, 언어, 정확한 버전 번호를 exe 내부에다 리소스의 형태로 xml 문서로 명시해 놓는 것입니다. 한 컴퓨터의 디렉토리 구조와는 완전히 무관하게 말입니다. 메니페스트 xml이라고들 하죠.

그 메니페스트용으로 등록된 핵심 dll들은 윈도우 시스템 디렉토리에 있는 게 아니라 WinSxS 밑에 각 버전과 아키텍쳐별로 별개의 디렉토리에 저장됩니다.
윈도우 XP라면 gdiplus, comctl32 이런 dll이 존재할 텐데요. 이름이 같은데 윈도우 XP 원본이 갖고 있던 comctl32, SP2가 갖고 있던 comctl32 이런 버전별 '스냅샷'들이 전부 따로 저장되어 있는 걸 알 수 있습니다. 비스타에는 이보다 훨씬 더 많이 있습니다. 내가 만들어서 공유하기를 원하는 핵심 dll도 이런 식으로 등록, 배포할 수 있습니다.

* * * * * * *

윈도우 XP에서 이런 새로운 방식으로 곧바로 사용되기 시작한 대표적인 운영체제 컴포넌트가 바로 comctl32.dll 입니다. advapi, shell32 같은 거 말고 comctl32만 이런 형태가 됐습니다.
얘는 윈도우 9x 시절부터도 인터넷 익스플로러와 함께 곧잘 업데이트되었던 파일이고 특히 윈도우 9x의 안정성을 떨어뜨리는 주범이기도 했습니다.

이 파일이 특히 윈도우 XP에서는 비주얼 스타일 테마의 등장으로 인해 구조가 완전히 뒤바뀌었는데, 정작 새로운 파일은 WinSxS에 있고, system 디렉토리에 있는 파일은 버전이 여전히 5.82이고 옛날 IE 5.x 시절과 별 차이 없습니다. 한 마디로, system 디렉토리에 있는 파일은 옛날 프로그램과의 호환성을 위해 시간이 그 상태 그대로 정지해 버린 것입니다.

그 반면, 메니페스트에다가 새로운 comctl32를 사용하도록 지정을 해 놓은 exe만이 대화상자에서 윈도우 XP 이후의 비주얼 스타일 적용을 받을 수 있는 구조가 됐습니다. comctl32를 이 방법을 통해 최신 버전으로 지정하지 않으면, 옛날 프로그램에서는 알록달록한 테마만 나오지 않는 게 아니라 하이퍼링크 컨트롤 같은 XP에서 새로 추가된 컨트롤을 쓸 수도 없고, 비스타에서 그 유명한 TaskDialog 함수조차도 쓸 수 없습니다.

* * * * * * *

유행 따라서 윈도우 XP 비주얼 스타일을 쓰려고 으레 '리소스' 형태로 따로 작성해 온 메니페스트가 비주얼 스튜디오 2005에서는 개발툴 차원에서 통합적으로 지원되는 요소가 되었습니다. 2005는 이제 배포 대상 플랫폼으로서 윈도우 9x의 지원을 완전히 제껴 버리고 CRT와 MFC DLL 역시 side by side assembly 형식으로"만" 로딩하게끔 정책이 바뀌었습니다.

이게 언뜻 보기에 골때리는 이유가 뭐냐 하면, 이제 2005로 만든 exe는 msvcr80.dll이 시스템 디렉토리나 심지어 그 exe 디렉토리에 같이 있다고 하더라도 winsxs 설정이 안 되어 있으면, '응용 프로그램 구성이 잘못됐다'며 실행 안 되기 때문입니다. (msvcr80이 자체적으로 퇴짜를 때리는 듯.)
그냥 msvcr80, mfc80 같이 슬쩍 복사해 놓는 방식으로는 실행 못합니다. 이들을 winsxs 정식 등록을 해 주든가, 아니면 앗싸리 MS에서 배포하는 VS 2005 redistributable 프로그램을 같이 배포해야 합니다.

그런데 도대체가 VS 2005 redist.도 따로 있고, VS 2005 sp1 resit.도 따로 있습니다.
윈도우 비스타에 기본 내장되어 있는 msvcr80의 버전이 다르고, 오피스 2007이 사용하는 msvcr80의 버전이 다릅니다. 세부 버전 숫자가 하나라도 다르면 로딩 안 되는 게 일단 보안과 안정성 면에서는 나아진 점입니다만, 도대체 같은 기능을 하는 CRT DLL을 왜 자꾸 이렇게 바꿔 대는지, 도대체 앞으로는 또 어느 장단에 맞춰 춤을 추라는 소리인지 헷갈립니다.

MFC도 아니고 CRT가 뭐가 그렇게 자주 바뀌어야 하는지.. 그냥 아무 걱정 없이 윈도우 시스템 디렉토리의 msvcrt만 쓰던 시절이 살짝 그립기도 합니다. strcpy, malloc 이런 고전적인 함수가 도대체 뭐 변할 일이 있나요? (물론 보안 쪽으로 계속 더욱 강력해져 오긴 했죠. strtok_s, strcpy_s 이런 것도 마음에 듦.)

비주얼 스튜디오 2005로 처음으로 만들어 본 <날개셋> 4.8 64비트 바이너리들은 이런 잡음을 원천 봉쇄하기 위해, 메모리 낭비를 감수하고 일단 모든 바이너리에 CRT 라이브러리를 static 링크를 해 버렸습니다. 64비트 에디션을 앞으로 계속 이렇게 만들지는 미지수입니다.

다만, 이도 저도 못한 신세가 되어 버린 게 비주얼 스튜디오 2002/2003의 CRT DLL인 msvcr71입니다. side by side assembly 형식으로 완전히 넘어간 것도 아니면서, 운영체제의 기본 지원도 못 받아서 이 파일의 배포와 로딩은 재래식으로 응응 프로그램이 그냥 알아서 해야 합니다. 이제 VS 2005 쓰라고 64비트 지원도 중단됐고 그냥 과도기 DLL로 역사 속으로 사라지게 되었습니다.
VS 2003도 서비스 팩 1이 나온지라 버전이 살짝 다른 msvcr71.dll 두 버전이 존재하게 되었지만 겉보기 상으로 차이는 없는 듯합니다.

Posted by 사무엘

2010/01/10 22:17 2010/01/10 22:17
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/7

경부선의 어제와 오늘

-- 철도 근성 수련을 원하는 후학들을 위해 알기 쉽게 정리한 한국 철도 역사. ㄳ!

경부선은 우리나라 최장거리 간선 철도망입니다. 고속도로와 철도 모두 경인 다음으로 경부가 건설되었습니다.

  서울-대전: 평지입니다. 열차가 가장 빠르게 달립니다. 지금의 KTX 경부 고속선, 경부 고속도로도 쫙 평행하게 달리기 때문에 서로 거의 만나지 않습니다.
  대전-대구: 소백산맥을 넘느라 경부선에서 가장 험준한 구간입니다. 고속도로 건설할 때도 이 구간에서 순직자가 가장 많이 났습니다. 길도 꼬불꼬불하고 고속선, 고속도로, 기존 철길이 막 제멋대로 교차합니다. 특히 김천이 이 세 길이 한데 만나는 곳입니다.
  대구-부산: 병풍처럼 둘러진 산에 낙동강 따라 천혜의 경치를 감상할 수 있는 구간입니다. 경부 고속도로는 아예 경주 쪽으로 가 버리니 볼 일이 없죠.

1905년 전구간 단선 개통.
일본은 한반도를 영원무궁토록 자기 식민지로 삼으면서 이곳을 대륙 침략의 허브로 삼으려고 했습니다. 그래서 본격적으로 조선 주권을 빼앗기 전에 철도부터 집요하게 건설했습니다.
서울과 부산을 잇는 노선이지만, 지름길인 상주, 용인 쪽은 지형이 너무 험해서 피했습니다. 그쪽과 얼추 비슷한 노선인 중부내륙 고속도로를 보십시오. 온통 고가, 터널인데다 전구간 개통도 무려 2004년입니니다. 그 당시로서는 기술로나 돈으로나 엄두를 낼 수 없었죠.

덕분에 김천, 대전, 수원을 경유하게 노선이 결정되었습니다. 특히 대전은 말 그대로 한밭이었다가 순전히 경부선 덕분에 엄청 대박을 보고 발전한 도시라 해도 과언이 아니죠.
그나저나 이 정도 규모의 철도를 놓기 위해 일본의 측량 기사들이 제멋대로 남의 나라 영토와 지형을 허락도 없이 얼마나 철저하고 교묘하게 측량해 갔겠습니까?
거기에다 노동력 착취는 둘째치고, 대대로 살아오던 집이나 밭을 하루아침에 거의 반강제로 헐값에 날린 주민들의 반발도 만만찮았습니다. 도시화, 산업화가 다 그렇듯이 경부선도 그 당시로서는 이런 흑역사를 남기고서 완공됐습니다.

경부선은 일제 강점기엔 경의선과 직결하여 북한은 물론, 중국까지도 가는 국제 철도의 역할까지 했습니다. 그렇게 교통량이 꾸준히 증가하자 1939년 전구간 복선 개통. 일본은 한창 전쟁에 미쳐 있던 차에 이미 또다른 간선인 중앙선을 건설하고 있었습니다. 물자가 부족한 전시인데다 중앙선은 애초부터 험준한 지형에 화물 수송용으로 계획되어서 경부선과는 비교할 수 없이 열악하고 굴곡이 심한 노선이 되었습니다. 조금만 언덕 나오면 빙빙 돌아 가고... 평균 운행 시속이 6, 70km밖에 안 됩니다.

그 후 1974년, 서울-수원간 수도권 전철 개통. 그 덕분에, 과거에 증기 기관차가 역사 속으로 사라진 것처럼 수도권 통근용으로 그때까지 운행되던 디젤동차가 서서히 퇴출되었습니다. 동력원만 전기로 바뀐 게 아니라 이 전동차는 서울 지하철 1호선(서울역-청량리)과 그대로 직결 운행을 하여 본격적인 지하철 시대도 열었습니다.

  중요한 사실: 개통 당시에는 지금의 중앙선 전철처럼 복선 구간에다 일부 역에 대피선만 설치해서 일반열차와 전동차가 선로를 공유했다는 것. 이때는 역 수도 지금보다 훨씬 적었고 완급 운행이라는 개념 자체가 없었습니다.

옛날에 미국과 소련이 우주 개발 때문에 체제 경쟁을 했던 것처럼 서울 지하철도 북한과의 체제 경쟁의 산물이 아니냐는 말이 나왔었습니다. 그런 말이 나올 만도 한 게, 북한에서는 73년에 평양 지하철을 먼저 개통했기 때문입니다.
일본은 이미 1920년대에 도쿄 지하철을 개통했으니 우리나라는 고속철은 일본보다 40년, 지하철은 반세기 가까이나 늦은 셈입니다.

1981년 말, 늘어나는 열차 수요를 감당하기 위해 서울-수원 수도권 전철 구간이 드디어 2복선으로 확장되었습니다. 철도 박물관에 다시 가 본 덕분에 정확한 정보를 입수했습니다.

1983년, 새마을호의 서울-부산 운행 시간이 5시간대에서 4시간 40분으로 단축되었습니다. 이 시기에 경부선 어느 구간에 선형 개량을 한 덕분이었습니다. 제가 알기로는 천안-평택 쪽입니다. 현재 경부선, 아니 전국의 일반열차 노선을 통틀어 열차가 시속 140~150km대로 가장 빠르게 달리는 구간이죠. (더 자세한 정보 필요)

1987년, 한국 철도 차량 역사에 한 획을 그을 전후 동력형(PP) 새마을호 디젤 동차가 대우 중공업에서 첫 생산되어 경부선에 투입되었습니다. 스포츠카 같은 날렵한 외형에 디젤 기관차보다 조용하고 가볍고 가속력 좋고, 자체 발전 시설도 있고. 아직 우등 고속이 생기기도 전이었는데 세계 최고급의 호화 인테리어!

저번엔 노선이 개선되고 이번엔 차량이 개선됨으로써 서울-부산 운행 시간이 4시간 10분으로 단축되었습니다. (동대구· 대전만 정차) 비행기 다음으로 빠른 교통수단이 되었습니다. 그때의 새마을호는 지금의 KTX 이상의 초호화 귀족 열차였습니다. 기내지 레일로드도 88년에 창간했죠.

그 후, 1999~2002년 그 사이에.. 서울-구로 3복선 개통.  (더 자세한 정보 필요)
만성적인 수송력 부족을 호소하던 경인선이 차츰 2복선 으로 확장되고 급행 전동차가 운행되기 시작했습니다. 그와 맞물려 경부선과 경인선 전동차가 합류하는 서울 구간의 선로 확장도 필요해졌고, 그 때문에 이 구간은 전국에서 선로가 가장 많고 열차가 가장 자주 다니는 3복선이 되었습니다. 완행 전동차, 급행 전동차, 일반열차 이렇게 한 쌍식입니다.

서울 외곽과는 달리 빽빽한 서울 한복판에서 선로 확장이란 매우 어려운 일이었습니다. 이 때문에 서울 구간은 방향별 복복선 대신 비효율적인 선로별 복복선이 되었습니다. 상대식 승강장이 그대로 쌍섬식 승강장으로 확장되지 못하고, 비효율적인 쌍상대식 승강장이 됐습니다.
게다가 선로를 평행하게 쭉 확장을 못하고 대방-노량진 사이에서 일반열차 선로가 꽈배기굴로 전동차 선로 맞은편으로 옮겨 가는 구조가 되었습니다.

사실 경부선은 최소한 수원까지도 3복선이 되어야 할 정도로 용량이 한계에 달했습니다. KTX와 일반열차, 일반열차와 급행 전동차 사이의 만성적인 신호 대기와 지연을 해결할 길이 없습니다. 경인선은 전동차밖에 없는 2복선인데도 워낙 절대적인 수요가 너무 많아서 지옥철이고, 경부선은 수요는 경인선만하지 않지만 일반열차 때문에 전동차가 부족해서 지옥철입니다.

2003년 수원-병점 수도권 전철 개통. 경부선 전철의 남쪽 한계가 30년만에 더 아래로 바뀌었습니다. 사실 천안-수원간 복복선 및 수도권 전철 공사는 1996년부터 진행되어 왔는데, 가장 시급하던 병점까지 먼저 개통을 한 것입니다. 승객 수요보다도 시설 면에서 훨씬 더 시급했습니다. 수원 역은 지금까지 전동차의 종점임에도 불구하고 전동차 회차 시설이 열악했기 때문입니다.

경부선에서 일반열차는 2복선 선로의 내선에서 달리고, 전동차는 외선에서 달립니다. 수원 역에서 운행을 마친 전동차는 다시 서울로 돌아가기 위해 선로를 바꿔야 하는데, 한쪽 외선에서 맞은편 외선으로 가기 위해 일반열차의 내선 선로를 평면 교차하며 침범해야만 했습니다. 이는 매우 바람직하지 못한 구조로, 경부선 전동차의 잦은 지연과 신호 대기를 야기했으며 전동차 증차에도 큰 걸림돌이었습니다.
이 문제를 해결하기 위해 일반열차를 취급하지 않는 인근 지역에 전동차를 입체 교차로 회차할 수 있는 역을 만들고, 천안 개통에 대비한 추가 차량 기지까지 연결해 놓은 것입니다. 이것이 병점 연장 개통의 의미입니다.

  (사례 연구: 한때 청량리-회기 구간에 승객의 원성이 하늘을 찌를 정도로 악명 높았던 전동차 지연의 원인도 맞은편 용산-성북 경원선 전동차와의 평면교차 때문이었습니다. 지금은 그게 용산-덕소 노선이 되어서 교차가 해소됐죠. 그러면 회기에서 성북까지 가는 열차 수가 줄었다는 뜻인데, 그 대신 병점에서 출발한 경부선 전동차가 청량리를 넘어 성북까지 가 줍니다. 단, 천안 발 전동차는 여전히 청량리까지만 가죠.)

2004년, 고속철 개통. 전기로 달리는 KTX가 기존선을 임시로 사용하는 대구-부산 구간이 전철화가 끝났습니다. 고속철 개통은 분명 의미 있는 일이었지만 일반열차 감축과 정차역 증가, 그리고 새마을호의 급격한 몰락을 알리는 신호탄이기도 했습니다.

2005년, 9년간의 공사 끝에 병점-천안이 2복선 전철화함과 동시에 수도권 전철 구간이 되었습니다. 수도권 전철 운임으로 천안까지 가는 시대가 열린 것입니다. 새로 건설된 구간은 전동차 완급 혼합 운행을 위한 대피선도 마련되어 있어 수원 이북보다 수월하게 전동차가 달릴 수 있습니다.
아울러, 이때 천안-조치원 구간도 전철화가 완료되어 경부선, 충북선, 중앙선의 삼각 전철 노선망이 완성되었습니다.

끝으로 지난 2006년 말에 경부선 전구간이 전철화가 끝났습니다. 이것도 최소한 90년대 말부터 꽤 오래 끈 공사였는데 한국 철도의 오랜 숙원을 이뤘습니다. 지형이 험준한 추풍령 쪽의 선형 개량 공사도 같이 했습니다.
경부선 첫 개통 100년만의 일이고 우리나라 국력과 교통 수요를 감안할 때 너무 늦은 감이 있습니다. 사실 고속신선 건설보다도 기존선 전철화부터 먼저 해야 했습니다.

중앙, 영동, 태백선 쪽에서나 볼 수 있던 전기 기관차가 서울-부산간 노선에도 투입되어 쌩쌩 달리는 것을 보노라면 말할 수 없는 희열을 느낍니다. 가감속력 좋고(지연 만회에도 유리함) 수송원가가 훨씬 더 싸고, 조용하고 운전하기도 관리하기도 더 편해서 기관사들이 아주 좋아합니다. 일부 철도매니아들은 경부선 전철화가 고속철 개통보다 더 의미 있는 일이고 경사· 쾌거라고 말하기도 합니다.
 

Posted by 사무엘

2010/01/10 22:13 2010/01/10 22:13
,
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/6

지하철의 전기 시설

※ 전기 시설

교류 전기 원리의 발견은 오늘날과 같은 눈부신 전자기 문명을 만들어 낸 주역임이 틀림없습니다.
예전처럼 기껏해야 화학 전지로 몇 볼트짜리 저전압 전류나 일시적으로 장난감 수준으로 만들어 낸 게 아니라 운동 에너지로 마음껏 전류를 손쉽게 대량생산할 수 있고, 무엇보다도 변압을 손쉽게 할 수 있게 된 것입니다. 변압이 손쉽다는 말은 고압 송전이 가능하다는 말이고 그 말은 전력 손실을 최소화하면서 장거리 송전이 가능해진다는 것입니다.

전기 에너지는 말 그대로 번개 같은 속도로 끊임없이 흘러가 버리며, 화학적인 방법으로 석유만치 충분한 에너지를 단시간에 많이 축적해 놓기가 어렵다는 단점이 있습니다. 배터리 충전 시간은 주유 시간보다 훨씬 길며 축적량도 부족합니다. 전기 자동차가 실용화가 못 되고 있는 이유 중의 하나이기도 합니다.

하지만 전차선으로부터 실시간으로 계속 흐르고 있는 전기를 받아서 동력원으로 사용하는 것은 4대 교통수단(도로, 철도, 항공, 해운) 중 오로지 철도에만 충분히 승산이 있는 방식입니다. 또한 역으로 철도는 그야말로 전기 철도 기술이 개발됨으로써 제 물 만난 거라고 해도 과언이 아닙니다. 수송 원가 낮고, 내연 기관보다 동력비 조절이 쉽고, 소음· 진동 적고... 특히 환기 시설이 열악한 지하철에서는 배기가스가 없는 전기 에너지가 선택의 여지가 없는 유일한 동력원입니다. 물론 전철은 초기 시설 투자 비용이 매우 높다는 단점은 존재하지요.

장거리 송전에 대한 유리함 때문에 일반적으로 간선 전기 철도는 교류 전기를 사용합니다. 이 경우 동력차는 초고압으로 송전된 전기를 자기 용도로 전압을 낮추는 변압기를 자체적으로 갖춰야 합니다. 컴퓨터에서 파워 서플라이어 같은 부품이 되겠네요.

그 반면, 단거리에서 열차들을 매우 촘촘하게 운행하는 지하철은 송전 손실에 대한 부담이 상대적으로 적기 때문에 그냥 대형 변압기 하나가 만들어 낸 저전압 직류 전기를 바로 보냅니다. 이 경우 전동차들은 변압기를 제각기 갖출 필요가 없으니 경제적입니다.

그리고 또 하나...
고압의 교류 전기는 흐르면서 자기장, 전자기파 등의 side effect를 만듭니다. 고압선 아래에 있으면 뭐 머리가 아프고 TV 화면이 왜곡되고 백혈병에 걸리고.. 말이 많습니다. 지하철에 설치된 교류 고압선은 통신선 같은 다른 도시 지하 기간망에도 영향을 줄 수 있습니다. 여러 모로 직류보다 취급하기 까다로운 셈입니다. 하지만 이 정도는 기술적으로 극복이 가능합니다. 단지 사람이 문제될 뿐입니다.

※ 사례연구

노선이 주로 달리는 곳(지상/지하), 전동차의 전기 종류(교류/직류), 그리고 통행 방향(좌측/우측).

1. 지상,교류,좌측: 경인선, 경부선, 안산선, 경원선, 중앙선 (거의 모든 국철 수도권 광역전철)
2. 지하,교류,좌측: 분당선, 과천선
3. 지하,직류,좌측: 서울 지하철 1호선(서울역-청량리)
4. 지하,직류,우측: 서울 지하철 2-8호선 (거의 모든 서울 지하철), 일산선

제일 국철-_-스러운 성향이 1이고, 제일 지하철스러운 성향이 4입니다.
그리고 그 과도기에 있는 예외적인 경우가 2와 3, 그리고 국철임에도 시설이 완전히 지하철에 동화된 일산선입니다.

서울 지하철 1호선은 1과 3이 직결 운행하고, 4호선은 2와 4가 직결 운행한다고 볼 수 있습니다.

한 마디로,
000
100
110
111
의 패턴이 발견되는 셈입니다.

우리나라의 전동차에도 이에 맞춰 교류 전용인 철도공사 전동차, 직류 전용인 지하철 전동차가 있고 교· 직류 겸용 전동차도 있습니다.
겸용 전동차가 단가가 더욱 비쌉니다.

* * * * * * * *

지하철은 하나하나 다 따지고 분석하고 뭔가 재미와 의미를 발견할 만한 "스펙"이 많아요.
승강장, 토목, 전동차, 모터, 전기, 배선 등등등등 ㄳ

Posted by 사무엘

2010/01/10 22:09 2010/01/10 22:09
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/5

지하철이 건설되는 방식

※ 터널 건설

1. 개착식

보통 한 도시의 지하철의 첫 노선은 교통 수요가 많은 도심의 큰 도로를 따라 건설되는 게 정석입니다. 그래서 그 도로의 일부를 틀어막고 파내서 그 아래에다 콘크리트 상자를 넣어 길을 튼 뒤, 다시 도로를 복구합니다.

지하철을 처음 건설할 때는 이런 개착식이 여러 모로 쉽고 유리합니다. 건설 우선순위가 높은 노선인데다, 도로를 따라 만드니 건물에 영향 줄 일도 없습니다.
처음 만드는 노선이니까 이 방식으로 지상으로부터 좀 얕게 파도 되고, 건설 비용도 뒤의 터널식보다는 적게 듭니다. 물론 건설 기간 동안 지상 도로가 혼잡해지고 공사장의 소음 진동 때문에 분위기가 험악해지는 문제가 있습니다.
이 방식으로 건설된 터널은 단면을 보면 사각형 모양이 됩니다.

2. 터널식

지상으로부터 개착식으로 top-down approach가 불가능한 모든 구간은 선택의 여지 없이 터널식으로 건설됩니다.

- 지상 도로가 너무 좁아, 길 틀어막고 땅 파헤치기 곤란할 때
- 이미 완공된 기존 지하철 노선보다 아래로 새로이 길을 내야 할 때 (두 노선을 개착식으로 동시에 건설하는 게 아니라)
- 기존 건물 아래로 지나야 할 때 (7호선 남성-숭실대입구, 고속터미널-내방)
- 언덕처럼 고도가 높은 지표면으로부터 엄청 깊이 건설해야 할 때 (8호선 산성)
- 하저터널은 당근! (5호선 마포-여의나루)
그러니 1기 지하철보다 깊고, 더 열악한 곳도 지나고, 더 구불구불하고 지상에 길이 없는 곳도 새로이 길을 내야 한 2기 지하철은 터널식으로 건설한 구간이 1기 지하철보다 훨씬 더 많습니다.

터널식은 말 그대로 북한군 땅굴 파듯이 지하에서 드릴로 암반을 뚫으면서 전진하는 방식입니다. 건설 기간 동안 지상에 영향을 주지 않는다는 장점이 있지만 공사가 더욱 까다롭고 비용이 많이 듭니다. 작업 환경도 더 열악하죠.

이렇게 만들어진 터널은 드릴 모양대로 둥글게 됩니다. 커다란 타원 터널에 양 선로가 들어가는 경우도 있고, 아니면 좀더 건설 비용을 아끼기 위해 콧구멍 같은 단선 쌍굴이 되기도 합니다. 따라서 터널식으로 건설된 구간에는 섬식 승강장이 등장할 확률이 더 높습니다. 단선 쌍굴 모양 때문에 섬식이 되기도 하고, 애당초 개착식을 적용하지 못했을 정도로 지상 도로 폭이 좁아서 승강장 공간을 아끼기 위해 섬식을 선택한 경우가 모두 가능하기 때문입니다.

※ 사례연구

개착식으로 도로를 파헤치며 건설된 서울 지하철 1호선은 동아일보 본사와 같은 주요 건물의 아래를 피해 가느라 종각-시청 구간에 극심한 커브가 생겨, 열차 운행을 어렵게 하고 있습니다. 터널이 얕아서 주변 건물에 줄 수 있는 영향도 컸겠죠.

그러나 5호선은 2호선과 겹치는 강북 도심 구간에서 위아래로 지상의 길이 없는 곳도 꼬불꼬불 비집고 다닙니다. 덕분에 굴곡이 심하지만, 한편으로 깊고 터널식으로 건설됐기 때문에 건물 밑을 막 드나들 수 있습니다.

7호선 강남 구간은 고속터미널-내방, 남성-숭실대입구 구간이 길따라가 아니라 건물, 공원 밑을 관통합니다. 특히 자기 집 밑으로 지하철 공사가 진행된다고 하니까 관악 현대아파트 주민들의 극심한 반대로 인해, 7호선 강남 구간 개통이 매우 지연되게 됐습니다. 서울 시내에서 역간거리가 2km를 넘는 상당한 거리인데, 중간에는 1호선 동묘앞처럼 지상에 역을 만들고 싶어도 못 만듭니다.

Posted by 사무엘

2010/01/10 22:08 2010/01/10 22:08
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/4

KTX는 이 맛에 탄다

KTX가 경부선의 시발역인 서울 역을 출발한 후, 시흥 역을 지나 경부 기존선을 벗어나서 고속신선 연결선(고속신선이 아님)에 진입하기까지 달리는 거리는 약 17.7km입니다.

그런데 동대구 역에서 대구, 지천 역을 거쳐서 고속신선 연결선까지의 거리도 무려 18.1km에 달합니다. 그뿐만 아니라 대전에 다 와서도 옥천 등 16.6km 가량은 기존선으로 달립니다. 서울 부근은 수도권 전철역이라도 있지, 동대구 역을 출발한 상행 KTX는 그런 것도 없이 기존선에서 시속 200이 채 안 되는 속도로 상당한 거리를 달리기 때문에 이쪽 구간은 서울-대전 구간에 비해 무척 답답하게 느껴지게 됩니다.

그에 반해 대전 상행 방향은 대전 역을 벗어나서 3km가 채 되기 전에, 거의 대전 조차장 부근에서 이미 신선 연결선에 진입해 있습니다. 기존선 진입이 빠른 편이기 때문에 답답함이 없습니다. 고속도로 IC까지 5분이 채 안 걸리는 대전 고속버스 터미널과, 고속도로 진입까지 한참을 가야 하는 대구 고속버스 터미널의 차이와도 같습니다.

그나저나 경부선과 호남선이 입체 교차로 갈라지고, 고속신선과 기존선이 갈라지는 대전 조차장 부근의 배선도는 구로 역 주변 배선도만큼이나 언젠가 내 손으로 직접 공부해서 그려 보고 싶습니다. 한국 철도 시스템을 이해하는데 그야말로 핵심임이 틀림없습니다.

옛날에 KTX로 서울-부산 2시간 40분이라 할 때는 구간별 운행 시간을 다음과 같이 잡은 수치였습니다.
서울-대전 159.8km (고속신선 132.7km, 약 83%) 약 50분
대전-동대구 133.3km (고속신선 90.9km, 약 68%) 약 45분
동대구-부산 115.4km (고속신선 없음) 약 1시간 5분

예전에 우리나라에서 비행기 다음으로 가장 빠르던 4시간 10분짜리 경부선 새마을호의 대전-서울 무정차 운행 시간이 거의 1시간 32분이었으니까 진짜 두 배 가까이 빨라진 셈입니다.

물론 요즘은 잦은 지연을 감안하여, 2시간 40분이던 것도 2시간 45분 정도로 다 현실화했습니다. 승객이 타고 내리는데 예상보다 시간이 너무 많이 걸려서 늦는 거라면 어쩔 수 없지만, 열차 자체가 예전만치 속력을 많이 내면서 힘차게 달리질 않고 있는 것 같아서 그게 좀 불만입니다.

특히 올 3월부터 지금까지 타 본 KTX들은 상하행 모두 천안아산 역 이북 구간에서, 아무 이유 없이 200대 이하로 속력을 팍 줄였다 가더군요. 더구나 시속 290으로 역을 통과한 후에도 왜 그런지 모르겠습니다. 무슨 공사라도 하고 있는 건지? 이 짓만 안 해도 최하 5분 이상 시간은 벌 것 같습니다.

대전-동대구는 서울-대전보다 30km 가까이 거리가 더 짧음에도 불구하고 거리에 비해 기존선에서 느리게 달리는 거리가 더 길기 때문에 서울-대전과 소요시간이 별 차이가 안 납니다. 현재 KTX가 끊김없이 전속력으로 달릴 수 있는 시간은 30분이 채 안 되는 셈입니다.

서울-부산을 경부선 기존선만으로 달리면 441.7km에 달하지만 KTX가 서울-부산을 달리는 거리는 408.5km 정도입니다. 신선이 직선화하면서 거리를 7.5% 정도 단축시킨 셈입니다.

대전-대구 구간은 산맥을 넘느라 경부선 기존선의 선형이 좋지 않은 편입니다. 그래서 기존선과 신선이 상당히 자주 교차하는 걸 볼 수 있습니다. (대전-서울 구간에서는 두 선로가 따로 평행하게 가는 구도이며, 일단 갈라진 후 맞은편 선로를 볼 일이 거의 없습니다.) 기존선이 신선과 거의 수직으로 교차도 여러 번 하는데, 이는 기존선이 이 구간에서 얼마나 꼬불꼬불한지를 단적으로 보여주는 예라 할 수 있습니다.

끝으로, 철도는 눈으로 풍경을 즐기기에 앞서 귀로 음향을 즐길 줄 알아야 합니다.
서울 2기 지하철 전동차에는 음악소리 같은 구동음이 있습니다. 새마을호에는 디젤동차 특유의 엔진 소리와 화려한 안내방송/시종착 음악이 있습니다. KTX는 덜컹덜컹 하던 레일 소리가 사라지고 그 대신 KTX 객실에서만 나오는 바람 가르는 휘잉 소리 듣는 게 매력입니다.
(2007/8/19 23:40)

Posted by 사무엘

2010/01/10 22:03 2010/01/10 22:03
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/3

« Previous : 1 : ... 162 : 163 : 164 : 165 : 166 : Next »

블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2020/08   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Site Stats

Total hits:
1424351
Today:
275
Yesterday:
511