본문 바로가기
Linux

[Linux] 유닉스 / 리눅스 특징

by Glory_Choi 2023. 3. 29.
반응형

유닉스와 리눅스

유닉스(Unix)는 1970년대 초에 미국 AT&T 벨 연구소에서 켄 톰슨(Ken Thompson), 데니스 리치(Dennis Ritchie) 등에 의해 다중 사용자 운영체제로 개발되었으며 그 이후로 지속적으로 발전해 오고 있다.

 

리눅스(Linux)는 1990년대 초에 리누스 토르발즈(Linus Torbalds)에 의해 pc를 위한 운영체제인 리눅스(Linux)가 개발됨으로써 보다 광범위하게 사용되게 되었다. 리눅스는 유닉스 기반의 운영체제로 개발되어 강력한 소프트웨어로 자리잡고 있다. 특히 서버용 pc에서 높은 점유율을 갖고 있는 운영체제이다.

 

유닉스의 설계 철학

  • 단순성
  • 이식성
  • 개방성

단순성

유닉스는 운영체제 자체를 가능한 한 단순화시켜 최소한도로 필요한 기능만 제공하도록 하였다. 또한 단순성을 위해 자원(메모리, 락 등등)에 대한 일관성 있는 관점을 제공한다. 이를 통해 모든 주변장치들도 파일과 같은 방식으로 사용할 수 있도록 해준다.

 

이식성

유닉스는 이식성을 위해 c 언어로 작성되었다. 유닉스는 이러한 특징으로 인해 다양한 플랫폼에 쉽게 이식할 수 있다. 운영체제의 이식성이 높다는 것은 여러 가지 편리한 점을 제공한다. 이식성이 높으면 여러 기종의 하드웨어에 동일한 운영체제를 운용할 수 있고, 운영 체제가 동일하면 이기종 하드웨어를 가진 시스템끼리 정보를 주고받는 것이 훨씬 쉬워진다. 또한 이식성이 좋으면 새로이 등장하는 좋은 하드웨어를 얼마든지 쉽게 교체하여 사용할 수 있다.

 

개방성

유닉스의 또 다른 특징은 소스코드 공개와 같은 개방성이다. 벨 연구소는 유닉스를 개발한 이후로 버클리 대학을 비롯한 대학과의 공동 연구를 위해 소스 코드를 공개하였는데 소스 코드의 공개는 유닉스가 세계적으로 호평을 받게 된 또 하나의 계기가 되었다.

 

유닉스의 특징

다중 사용자 다중 프로세스 운영체제

유닉스는 처음 개발될 때부터 여러 사용자가 동시에 사용할 수 있는 다중 사용자 운영체제로 개발되었으며 여러 프로그램들이 동시에 실행될 수 있는 다중 프로세스 기능을 갖추고 있다. 또한 사용자를 관리하기 위한 슈퍼유저(super-user)가 있다.

 

쉘을 이용한 대화식 운영체제

유닉스는 명령어 해석기인 쉘(shell)을 통하여 사용자가 마치 시스템과 대화하는 것처럼 시스템을 사용할 수 있다. 사용자에게 명령어를 입력받기 위해서 유닉스는 쉘 프롬프트를 화면에 표시하고 사용자가 명령어를 입력하면 쉘이 이를 해석하고 처리하여 결과를 알려주는 방식으로 동작한다. 또한 유닉스 명령어나 유틸리티 등을 사용하여 프로그램을 작성할 수 있는데 이러한 프로그램을 쉘 스크립트(shell script)라고 한다. 쉘 스크립트를 이용하면 큰 작업을 수행하기 위해 매번 새로운 프로그램을 개발하는 것이 아니라 기존의 작은 프로그램 혹은 명령어들을 적절히 결합함으로써 수행할 수 있다.

 

계층적 파일 시스템

유닉스 파일 시스템은 디렉터리들이 트리와 같은 계층구조 형태로 구성된다. 가장 상위 디렉터리인 루트(root) 디렉터리로부터 그 아래로 여러 디렉터리들이 트리와 같은 형태로 구성된다.

 

훌륭한 네트워킹

유닉스는 다양한 네트워크 응용 프로그램을 제공한다. 대부분의 네트워크 응용들은 유닉스를 기반으로 하여 개발되어 점차 다른 시스템으로 이전되었다.

반응형

'Linux' 카테고리의 다른 글

[Linux] 기초/기본 명령 사용법  (0) 2023.04.01
[Linux] 리눅스 명령 사용  (0) 2023.04.01
[Linux] 유닉스 / 리눅스 시스템 구조  (0) 2023.03.30