본문으로 바로가기

Unix와 Linux에서 커널이 하는 역할은 막강하다.

커널은 쉽게 말해 응용 프로그램의 요청을 하드웨어에 전달해 수행하고, 결과를 다시 응용프로그램으로 전달해 주는 전달자로서의 역할 뿐 아니라, 이 모든 과정을 관리하는 역할을 하게 된다.

이 때, Unix나 Linux를 사용하는 사용자가 커널과 대화해 특정 명령을 내릴 수 있게 해 주는 것이 바로 Shell이다.

이 Shell은 무엇이고, Unix나 Linux에 관한 자료를 찾아 볼 때, 자주 보게되는 POSIX가 무엇인지 알아보자.


[참고 : 운영체제의 기본과 커널, 멀티 태스킹 : http://www.leafcats.com/184 ]


Shell(셸)


Unix 운영체제를 위한 명령 해석 프로그램의 이름이다.

Unix 쉘에는 표준의 sh, 미국 버클리 대학에서 개발한 csh, David Korn이 개발한 ksh, GNU에서 개발한 bash등이 있다.

쉘은 이용자와 시스템 간의 대화를 가능하게 해 주는 운영체제의 명령 해석기이다. 일반적으로 운영체제의 핵심이 되는 커널의 주위에 존재한다.

명령어 해석기라고 표현할 수 있으며, Unix에는 여러 가지의 쉘이 존재하고 사용자는 자신의 목적과 취향에 따라 원하는 쉘을 선택하여 사용할 수 있다.



POSIX

Linux나 Unix 관련 자료를 보다 보면 POSIX라는 단어를 자주 보게 된다.

POSIX는 Portable Operation Systems Interface with Unix의 약자이다. Unix의 호환성과 이식성을 위해서 국제 표준 기구 ISO에 표준으로 선택된 규약이다.

1990년대 초반 여러 기업에서 고유의 Unix를 독자적으로 개발하기 시작했는데, 이들은 같은 Unix운영체제임에도 개발한 회사별로 고유한 기능들이 Customization되어 서로간의 호환성과 이식성이 현저하게 떨어지게 된다.

때문에 사용자들은 같은 Unix임에도 프로그램을 실행하고 이전하는 것에 매우 힘든 작업을 해야 했으며, 시스템 관리나 사용법 조차도 개발사마다 서로 다른 형식을 취하게 되어 사용자 입장에서는 매우 불편했다.

이런 이유로 Unix의 호환성과 이식성을 위해 ISO에서는 POSIX라는 규약을 표준으로 채택하였다.

따라서 1990년대 후반 이후에 출시된 버전의 Unix는 대부분 POSIX 규약을 만족하려고 노력하고 있다. POSIX 규약은 매우 넓은 범위를 포괄한다.



 Other Contents 

댓글을 달아 주세요

티스토리 툴바