모듈
1. 모듈화 디자인으로 만들어진 시스템의 구성 요소
Module
모듈화 디자인이란, 한 시스템을 여러 개의 기능적 구성요소(모듈)들을 조합함으로써 완성하도록 한 설계를 말한다.
예를 들어 개인용 컴퓨터 시스템은 각종 버스 기능을 탑재한 메인보드(마더보드)에 중앙처리장치(CPU), 주기억장치(RAM), 보조기억장치(HDD, SSD), 그래픽카드, 전원공급장치 등을 조합함으로써 완성되는데, 이 구성요소 각각을 모듈이라 부르며, 각 모듈은 시스템의 특정한 기능을 담당한다. 예를 들어 그래픽 카드는 모니터 화면에 표시되는 영상을 만들어내는 모듈이다.
위의 예에서 각각의 모듈은 수많은 전자부품과 반도체 등으로 구성되어 있으며, 개중에는 자기 자신도 모듈러한 하위 구성요소(서브모듈)의 조합으로 구성된 경우도 많다.
모듈러 디자인의 가장 큰 특징이자 장점은 시스템에 모듈을 더하거나 뺄 수 있다는 점이다. 위에서 예를 든 컴퓨터의 경우, 보조기억장치(HDD, SSD) 모듈을 추가하여 저장 용량을 높인다든지, 주기억장치(RAM) 모듈을 추가해 처리속도를 높인다든지 하는 식으로 시스템을 커스텀화할 수 있다. 이처럼 커스텀화(customization)가 가능하다는 것이 모듈러 디자인의 첫 번째 장점이다.
그런데 실제로 컴퓨터를 조립하거나 모듈을 추가/교체해 본 사람이라면 알겠지만, 이런 모듈이 전부 같은 회사에서 만들어지는 경우는 거의 없다. 중앙처리장치는 인텔, 주기억장치는 삼성, 보조기억장치는 시게이트 하는 식으로 서로 다른 제품을 조합하더라도 시스템은 문제 없이 작동한다. 이는 이런 모듈들이 미리 정해진 표준(standard)을 따르도록 만들어졌기 때문이며, 이것이 모듈러 디자인의 또 하나의 장점인 "표준화"(standardization)다.
물론 모듈러 디자인도 만능이 아니며, 각각의 모듈간의 인터페이스에 전체 시스템의 성능이 좌우된다는 약점이 있다. 때문에 모듈러 디자인으로 설계/제작된 시스템은 그렇지 않은 통짜 시스템에 비해 성능의 최적화가 어려운 경우가 많다. 이런 이유로 오늘날에도 모듈러 디자인을 거의 사용하지 않는 제품도 많다. 대표적인 것이 자동차.
이와 관계된 것은 모듈화가 있으며, 해당 문서에서처럼 부분이나 기능별로 나눈 다음 통합하는 것이 프로그램, 제품 생산이나 유지 관리 면에서 이익이기 때문에 관련 업계에선 모듈화에 대한 압박이 있다. 여담으로 객체 지향 프로그래밍도 이 모듈화의 압력에서 비롯되었다.
“모듈러스(modulus)”는 모듈과 전혀 무관한 개념이니 주의.
2. 포탈 시리즈에 등장하는 인격 코어의 잘못 알려진 이름
3. 수학의 모듈
[각주]