아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
레딧 favicon레딧

초기 유닉스(UNIX) 환경, 괄호는 어떻게 사용되었을까?

by DD
2026-05-21
2개월 전
조회수 14

1960년대 ASCII 표준(ASCII Standard)의 제약으로 인해 초기 터미널(Terminal)에서는 괄호({ })를 직접 입력할 수 없었음

C 언어(C Language)의 등장과 함께 트리그래프(Trigraphs) 및 터미널 드라이버(Terminal Driver)를 활용하여 괄호 문제를 해결

B 언어(B Language)에서 C 언어로의 전환 과정에서 괄호 사용 방식의 변화가 있었음

Teletype Model 37과 같은 새로운 터미널의 등장으로 괄호 사용 제약이 점차 해소됨

Teletype Model 33의 제약과 C 언어의 적응

1960년대 ASCII 표준(ASCII Standard)을 기반으로 한 Teletype Model 33은 소문자, 괄호, 물결표 등 일부 문자를 지원하지 않았다. 이러한 제약으로 인해 C 언어(C Language)는 트리그래프(Trigraphs)를 도입하여 괄호를 대체하는 방식을 사용했다. 예를 들어, `??<`는 `{`를, `??>`는 `}`를 의미했다. 하지만 트리그래프는 Teletype Model 33이 이미 널리 사용된 이후에 도입되었다.

터미널 드라이버(Terminal Driver)를 통한 괄호 문제 해결

유닉스 V4(UNIX V4)부터는 터미널 드라이버(Terminal Driver)가 `\(`를 `{`로, `\)`를 `}`로 변환하는 기능을 제공했다. 이는 Teletype Model 33과 같은 터미널에서 괄호를 사용할 수 있도록 하기 위한 해결책이었다. 이러한 변환은 유저 공간 프로그램에는 투명하게 적용되었으며, 사용자는 ASCII 괄호를 사용하고, 커널(Kernel)이 이를 `\(` `\)`로 변환하여 처리했다. 이러한 방식은 데이터 격리 아키텍처(Data Isolation Architecture)의 초기 형태라고 볼 수 있다.

B 언어(B Language)에서 C 언어로의 전환과 괄호 사용

C 언어(C Language) 이전의 B 언어(B Language)는 괄호 대신 `$(`와 `$)`를 사용했다. B 언어는 PDP-7에서 시작되었으며, 18비트 워드(Word)를 사용했기 때문에 각 문자를 두 개의 문자로 표현해야 했다. C 언어는 B 언어의 후속으로, PDP-11에서 16비트 워드와 8비트 어드레싱을 지원하기 위해 개발되었다. C 언어는 B 언어의 구문을 유지하면서 컴파일러를 도입하여 성능을 향상시켰고, 괄호 사용 방식도 유지했다.

Teletype Model 37의 등장과 괄호 사용의 변화

Teletype Model 37은 Teletype Model 33의 후속 모델로, 더 향상된 ASCII 문자 집합을 지원했다. 이로 인해 괄호와 같은 특수 문자를 직접 입력할 수 있게 되었고, C 언어 개발 환경은 더욱 편리해졌다. Teletype Model 37은 다양한 제어 시퀀스를 지원하여 텍스트 편집 기능을 향상시켰으며, 유닉스(UNIX) 시스템에서 널리 사용되었다. Teletype Model 37의 등장은 괄호 사용의 제약을 극복하는 데 중요한 역할을 했다.

Curly braces: An evolution of UNIX and C
중급
아키텍처
C
UNIX
C/C++
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

1973년 UNIX v4, 버퍼 오버플로우를 고치다!

랍스타즈 로고

C/C++ 메모리 안전성, Fil-C의 InvisiCaps로 해결

랍스타즈 로고

C 언어로 객체 지향? C++ 없이 OOP 구현하는 방법

레딧 로고

C 언어(C Language) if문, 성능 저하 없이 사용하는 방법?

레딧 로고

C/C++ 코드에 가비지 컬렉션(GC)을 도입하여 메모리 안전성을 확보하는 Fil-C

랍스타즈 로고

Fil-C, C 코드의 메모리 안전성을 확보할 수 있을까?

해커뉴스 로고
레딧 favicon레딧
중급
아키텍처
C
UNIX
C/C++
Backend

관련 추천 글

1973년 UNIX v4, 버퍼 오버플로우를 고치다!

랍스타즈 로고

C/C++ 메모리 안전성, Fil-C의 InvisiCaps로 해결

랍스타즈 로고

C 언어로 객체 지향? C++ 없이 OOP 구현하는 방법

레딧 로고