[LSP] POSIX란?
[LSP] POSIX LINUX 관련 책자를 보게 되면 초반부에 UNIX, LINUX의 역사를 다루게 되는 경우가 많습니다. 저의 경우에는 매번 정독하게 되지만 돌아서면 잊어 버립니다. 하여 글로 남겨봄으로서 정리를 해보겠습니다. POSIX란? 'POSIX는 이식 가능 운영 체제 인터페이스(Portable Operating System Interface)의 약자로, 서로 다른 UNIX OS의 공통 API를 정리하여 이식성 높은 UNIX 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 application interface 규격이다.' (- 위키백과) 라고 합니다. 그런데 뭔가 이상합니다. POSIX가 아니라 POSI라 해야 하지 않나요? X는 어디서 왔을까요? 아~ 마지막 X는 UNIX 호환 운영체제를 의미한다고 하네요. 왜 이 규격을 만들었을까요? 1969년 개발된 UNIX는 오랜 시간을 거치면서 여러 회사에 의해서 서로 다른 버전의 UNIX 운영체제로 발전해 나갑니다. 대표적인 예가 Berkerley 대학에서 만든 BSD 계열 API와 AT&T사의 System V 계열의 API 였습니다. 동일한 UNIX라는 이름을 가지고 있지만, 이들 간에 서로 차이가 생겨남에 따라 이식성과 상호호환에 문제가 발생하였고 계기가 되지 않았나 생각해 봅니다. 아~ 좋은 내용이 있네요. 요즘 보고 있는 쉘 스트립트 교재인데 아래과 같이 부분 발췌 하였습니다. '서로 다른 운영체제와 프로그램들을 위한 소프트웨어 표준을 제공하기 위해 POSIX 표준이 전개되었으며, IEEE와 ISO와 관련이 있다. 이 들의 목표는 서로 다른 플랫폼으로의 프로그램 이식성을 향상시키기 위한 표준을 만드는 것이며, UNIX-lik 컴퓨팅 환경을 제공하는 것이다. 그래서 하나의 머신에서 새로운 프로그램이 작성되면 다른 하드웨어로 구성된 머신에서 컴파일하고 실행되어야 한다는 것이다. 예를 들어, BSD UNIX 머신에서 작성된 프로그램은 Solaris, LINUX, HP-UX 머신에서도 실행되어야 한다는 것이다.' (-김택용의 리눅스 쉘 스크립트 프로그래밍 입문) 음~~ 결국 여기저기서 다 컴파일 및 실행되는 API를 만들기 위한 표준이라 말 같습니다. 후에 RTOS 카테고리에서 말씀을 드리겠지만, Xenomai에서도 POSIX를 하나의 skin으로 구성하여 제공합니다.