profile image

L o a d i n g . . .

POSIX란?

- Portable Operating System Interface의 약자

- 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적, IEEE가 책정한 애플리케이션 규격

- 한 운영체제에서 개발한 프로그램을 다른 운영체제에서도 쉽게 돌아가도록 하는 표준, 소스코드의 호환

- 내용은 커널로서의 C 인터페이스 시스템 콜, 프로세스 환경, 파일 & 디렉터리, 시스템 데이터베이스, tar 압축 포맷 등 다양한 분야를 이루고 있음

- 이 규격을 따른 다는 것 = UNIX와 호환된다는 것

- Windows는 WSL (Windows Subsystem for Linux) 탑재함


표준 스트림

- 특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 유닉스 계열 운영체제에서 컴퓨터 프로그램과 그 환경 사이에 미리 연결된 입출력 통로를 가리킴

- 표준 스트림으로 인해 프로그래머나 프로그램에서 입출력을 사용해야 할 때, 입출력 장치를 연결하기 위한 그 어떤 추가 작업도 필요하지 않게 됨

- 표준 스트림에는 표준 입력 (stdin), 표준 출력 (stdout), 표준 오류 (stderr)가 있음


표준 스트림의 사용

- 터미널에서 echo foo 라는 명령어를 사용했을 경우, stdin 으로 입력을 받아 echo에 넘겨줌

- echo에서 stderr에 데이터를 저장하고, stdout에서 데이터를 출력함


파이프

- 파이프는 어떤 프로그램의 출력 결과를 다른 프로그램의 입력 값으로 쓰임

- 터미널에 echo "foo bar baz" | wc - w 라는 명령어 입력할 경우엔

- stdin 으로 입력 받고 echo에 넘겨주고, echo는 stderr에 데이터를 저장한 후, stdout을 이용하여 WC에 넘겨줌

- wc는 문자열의 문자 수를 세는 명령어

- | 는 파이프, echo의 출력 값을 wc에 넘겨주는 역할을 함


참고

1. https://c11oud.tistory.com/entry/OS-POSIX-%EA%B8%B0%EC%B4%88

복사했습니다!