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
'Backend Loadmap > Operating System' 카테고리의 다른 글
[백엔드로드맵][OS] 기본적인 네트워크 개념 (0) | 2023.05.24 |
---|---|
[백엔드로드맵][OS] 입출력 (I/O) 관리 (1) | 2023.05.12 |
[백엔드로드맵][OS] 프로세스 간 통신 (IPC)란? (1) | 2023.05.09 |
[백엔드로드맵][OS] 메모리 관리 (0) | 2023.04.24 |
[백엔드로드맵][OS] 기본적인 터미널 명령어 (0) | 2023.04.07 |