본문 바로가기
IT 이야기/운영체제

유닉스 운영체제 / 개요, 역사, 구조, 특징, 유닉스vs리눅스

by 쎄링 2023. 2. 8.

유닉스 운영체제

개요

유닉스는 1970년대 초반 AT&T 벨 연구소의 켄 톰슨과 데니스 리치에 의해 개발된 운영체제이다. 유닉스는 다양한 시스템에 이식이 가능했고, 멀티태스킹과 여러 사용자를 지원하는 개발되었다. 유닉스 시스템은 계층구조의 파일시스템, 일반 텍스트 파일, 명령어, 특정한 형식 및 장치의 프로세스 통신을 파일로 취급등의 기능을 가지고 있다.

역사

처음에는 Multics라는 운영체제를 개발하는 프로젝트였다. 이 프로젝트는 멀티유저, 멀티태스킹을 지원하는 형태의 시분할 운영체제를 개발하고자 했다. 초기 개발단계에서 목표와는 달리 쓸모없는 프로그램들이 많아지면서 프로젝트가 무산되기도 했지만, 켄 톰슨과 몇몇 연구원들은 최적의 적합한 환경을 만들어보자는 계속하여 개발에 몰두하였고, 그렇게 탄생하게 된 것이 초기 유닉스였다. 초기 유닉스는 어셈블리 언어로 작성되어 있었다. 어셈블리 언어의 경우 탑재된 시스템을 바꿀 경우 바뀐 시스템에 맞게 다시 작성해야만이 정상적으로 작동하였다. 이런 불편함을 없애기 위해 1973년 데니스 리치가 C언어를 개발함으로써, 유닉스의 언어가 어셈블리에서 C언어로 재 작성되었다. 이렇게 C언어로 작성된 UNIX는 호환성 및 이식성이 뛰어났고, 사용자들한테 큰 인기를 끌었다. 현재는 Solaris, AIX, HP-UX 등과 같은 다양한 유닉스가 존재한다.

구조

유닉스는 커널, 시스템호출, 쉘, 사용자 및 응용프로그램으로 구성되어 있다. 

커널은 운영체제의 핵심요소로, 하드웨어 운영관리에 사용된다. 커널은 프로세스 관리, 메모리관리, 통신 관리, 주변장치관리, 파일관리 등을 관장하고 있다.

시스템 호출은 프로그래밍 인터페이스 역할을 하며, 공통적인 함수들의 모음인 라이브버리이다. 응용프로그램은 필요할 때마다 시스템호출과 라이브버리를 자유롭게 사용할 수 있다.

쉘은 커널과 사용자 사이의 중간역할을 한다. 사용자가 입력한 명령어를 해석해서 커널로 전달하고 커널은 명령 수행 결과를 사용자에게 돌려준다. 쉘은 본 쉘(Bourne Shell, sh), 콘 쉘(Korn Shell, ksh), C 쉘(C Shell, csh), 배시 쉘(Bourne Again Shell, bash) 등이 있다.

사용자 및 응용프로그램은 사용자가 개발한 프로그램 또는 응용프로그램으로 각종 개발 도구, 문서 편집 도구, 네트워크 관리 도구 등이 있다.

특징

유닉스의 특징은 단순성, 개방성, 이식성, 확장성, 대화형 구조, 다중 사용자 및 다중 작업 시스템이다.

단순성은 운영체제를 단순화하여 최소한의 기능만 제공한다.

개방성은 소스 코드를 공개하며, 대학에서 여러가지 소프트웨어를 개발 보급한다.

이식성과 확장성은 C언어로 작성되어 있어 다양한 플랫폼에 이식이 가능하며, 각각의 기능이 모듈화되어 있어, 모듈만 추가하면 기능을 사용할 수 있다.

대화형 구조는 명령어 기반의 사용자 인터페이스로 되어있고, 쉘을 통해 명령어를 입력하면 그에 따른 결과를 사용자에게 보여준다.

다중 사용자 및 다중 작업은 여러 사용자가 동시에 접속할 수 있으며, 한대의 시스템에서 여러가지 작업을 동시에 실행시킬 수 있다.

 

유닉스 vs 리눅스

  리눅스 유닉스
개요 모든 소스가 오픈되어 있으며 무료 운영체제 과거 대학 또는 기업에서 많이 사용하는 운영체제
제조사 리눅스 커널은 커뮤니티를 통해 개발됨
그 이후 여러 가지 리눅스가 발표됨
Solaris , AIX, HP-UX 등 유닉스 기반 운영체제가 대표적임
가격 대부분 무료, 몇가지 리눅스는 유료로 서비스 몇몇 운영체제는 무료이나 대부분 유료
프로세서 다양한 종류를 지원 x86/x64, Power, SPARC, Itanium, PowerPC 등
아키텍처 초기에는 인텔의 x86 을 위해 개발
지금은 ARM 등 여러가지 CPU를 지원
PA-RISC 및 Itanium 기계에 사용
AIX는 Power, Solaris는 SPARC 및 x86/x64 등을 지원
파일시스템 Ext2, Ext3, Ext4, Jfs, Xfs, Btrfs, ReiserFs, NTFS, FAT, FAT32 Jfs, Hfs, Hfs+, gpfs, ufs, xfs, zfs
보안 지금까지 60~100개의 바이러스가 존재 지금까지 85~120개의 바이러스 존재
GUI KDE 및 Gnome GUI를 지원 초기에는 커맨드기반의 운영체제
추후 공통 데스크탑 환경을 구축했고, 현재는 Gnome을 탑재
예시 Ubuntum, Fedora, RedHat, CentOS, Debian, Androd 등 OS X, AIX, HP-UX, Solaris

 

 

 

댓글