군생활을 할 때 서버를 관리하는 업무를 잠깐 했었는데요
그때 처음에 리눅스와 유닉스가 뭔지 헷갈렸던 경험이 있어 정리해 보겠습니다!
우선 위키백과 내용부터 보시겠습니다.
유닉스(Unix)
유닉스(영어: Unix)는 교육 및 연구 기관에서 즐겨 사용되는 범용 다중 사용자 방식의 시분할 운영 체제이다.[1] 1970년대 초반 벨 연구소 직원인 켄 톰슨, 데니스 리치 등이 처음 개발하였다. 오늘날의 유닉스 시스템은 여러 회사들과 비영리 단체들이 이 커널로 활용하여 다양한 운영체제를 개발하고 있다.
유닉스는 처음부터 다양한 시스템 사이에서 서로 이식할 수 있고, 멀티 태스킹과 다중 사용자를 지원하도록 설계되었다. 유닉스 시스템은 다음과 같은 개념을 가지고 있다.
-
일반 텍스트 파일, 명령행 인터프리터, 계층적인 파일 시스템, 장치 및 특정한 형식의 프로세스 간 통신을 파일로 취급 등.
-
소프트웨어 공학 측면에서, 유닉스는 C의 사용과 유닉스 철학이라는 부분이 특징이다.
-위키백과
리눅스(Linux)
리눅스(영어: Linux)는 리누스 토르발스가 커뮤니티 주체로 개발한 컴퓨터 운영 체제이다. 혹은 커널을 뜻하기도 한다. 리눅스는 자유 소프트웨어와 오픈 소스개발의 가장 유명한 표본으로 들 수 있다. 리눅스는 다중 사용자, 다중 작업(멀티태스킹), 다중 스레드를 지원하는 네트워크 운영 체제(NOS)이다.
엄밀하게 따지면 이 ‘리눅스’라는 용어는 리눅스 커널만을 뜻하지만, 리눅스 커널과 GNU 프로젝트의 라이브러리와 도구들이 포함된, 전체 운영 체제(GNU/리눅스라고도 알려진)를 나타내는 말로 흔히 쓰인다. 리눅스 배포판은 핵심 시스템 외에 대다수 소프트웨어를 포함한다. 현재 200여 종류가 넘는 배포판이 존재한다.
-위키백과
우선 리눅스, 유닉스 모두 OS 입니다.(OS = 운영체제, 대표적인 운영체제로는 Windows가 있습니다.)
그리고 각 특징을 간단히 설명하면
유닉스는 서버에 특화된 운영체제입니다.
리눅스는 유닉스에서 파생된 운영체제입니다.
유닉스는 서버에 특화된 운영체제이기 때문에 포털이나 대기업의 서버에 사용되며 보안성이 매우 뛰어납니다.
리눅스의 장점은 리눅스 운영체제 소스코드를 무료로 배포했다는 점입니다.
이를 통해 레드햇, 우분투 같은 다양한 리눅스 배포판이 나타났습니다.
대표적인 리눅스 : Ubuntu, RedHat
대표적인 유닉스 : Oracle Solaris
이제 세부 특징을 살펴보겠습니다.
리눅스는 오픈 소스이기 때문에 버그가 발생하면 많은 기관, 사용자들이 나서서 보완합니다.
따라서 커뮤니티 활성화되어 있어서 정보를 얻기에 용이합니다.
리눅스를 공부하다 보면 커널(kernel)과 쉘(Shell)이 나옵니다.
리눅스 커널- 파일 입출력, 주변 장치 관리, 프로세스 관리, 통신 관리, 메모리 관리 등의 리눅스 운영체제의 기능을 담당
리눅스 쉘 - 사용자와 OS 간의 중계역할 즉, 명령어 처리기 역할을 수행
더욱 쉽게 풀어서 설명하면 커널은 하드웨어 제어를 담당합니다.
윈도우의 드라이버처럼 HW, SW사이를 연결해주는 인터페이스를 제공하고
CPU, 메모리 제어, 보조기억장치에 파일을 저장, 읽어오는 역할을 합니다.
쉘은 이 커널을 조작하기 위한 수단입니다.
자주 사용되는 쉘은 bash, sh, csh 등이 있습니다.
유닉스는 운영체제 코드가 공개되어있지 않아 버그 이슈 같은 경우 IBM사에서 일괄 관리합니다.
가격적인 측면에서는 당연히 유닉스 가격이 비쌉니다.
여기서 같은 운영체제인 윈도우랑 비교를 해보면
윈도우는 상대적으로 신뢰성이 낮습니다. 따라서 해킹이나 버그가 많죠.
또한 윈도우는 대량의 네트워크 부하를 감당하지 못하기 때문에 네트워크 솔루션으로 적합하지 않습니다.
유닉스와 비슷하게 윈도우는 마이크로스프트에서 일괄 관리합니다.
'전자공학 > 프로그래밍' 카테고리의 다른 글
컴파일(Compile), 빌드(Build), 링커(Linker), 로더(Loader) (0) | 2019.10.19 |
---|---|
화이트 박스 테스트 vs 블랙 박스 테스트 (0) | 2019.10.18 |
소프트웨어 개발방법론 (2) | 2019.04.02 |
본받을만한 프로그래머 코딩하는 공익 (2) | 2018.12.06 |
프로그래밍 언어 순위 (0) | 2018.12.01 |