# UNIX
: 범용 다중 사용자 방식의 대화식, 시분할처리 시스템용 운영체제
- 교육, 연구 기관에서 즐겨 사용된다.
- 1970년대 초, 벨 연구소의 켄 톰슨, 데니스 리치등이 소형 컴퓨터용으로 처음 개발하였다.
- 오늘날의 유닉스 시스템을 활용하여 다양한 운영체제를 개발하고 있다.
- 다양한 시스템 사이에서 서로 이식할 수 있다.
- 멀티 태스킹과 다중 사용자를 지원하도록 설계되었다.
- 일반 텍스트 파일, 명령행 인터프리터, 계층적인 파일 시스템, 장치 및 특정한 형식의 프로세스 간 통신을 파일로 취급 등.
- 소프트웨어 공학 측면에서, 유닉스는 C의 사용과 유닉스 철학이라는 부분이 특징이다.
* 개인 컴퓨터 시장에서 현존하는 유닉스 운영체제는 애플의 macOS가 유일
[ 참고 : https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4 ]
# UNIX signal
: UNIX 계열, POSIX 호환 운영체제에 쓰이는 제한된 형태의 프로세스 간 통신.
▶ POSIX
- Portable Operating System Interface, 이식 가능 운영체제 인터페이스
- 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 애플리케이션 인터페이스 규격
> 커널로의 C언어 인터페이스인 시스템 콜, 프로세스 환경, 파일과 디렉터리, 시스템 데이터베이스(암호파일), tar 압축 포맷 등 다양한 분야를 모두 말한다.
[참고 : https://ko.wikipedia.org/wiki/POSIX]
- 프로세스나 동일 프로세스 내의 특정 스레드로 전달되는 비동기식 통보
- 최근에는 POSIX 표준에 정의된 시그널을 가진다.
▶ POSIX 신호
과제에서 사용할 수 있는 신호는 SIGUSR1, SIGUSR2 (사용자 정의 신호 1, 2)뿐이다.
# signal 시그널
시그널 != 메세지
시그널은 비동기적인 사건이 발생했음을 알릴 때, 사건을 동기화할 때 잘 사용된다.
복잡한 정보를 전달하는데는 적절하지 않지만 최소한의 정보를 정확하게 전달하고자 할 때 효율적인 방법이다.
참고 : https://www.joinc.co.kr/w/Site/system_programing/Book_LSP/ch06_Signal
'42seoul > circle-2' 카테고리의 다른 글
[minitalk] 발전방향 (0) | 2022.02.26 |
---|---|
[ minitalk ] 구현과정 (0) | 2022.02.25 |
[ minitalk ] getpid() | pause() | sleep() | usleep() | exit() (0) | 2022.02.24 |
[ minitalk ] 시그널 함수 <signal.h> (0) | 2022.02.23 |
[ minitalk ] 0. 과제이해하기 (0) | 2022.02.16 |
댓글