본문 바로가기

Network, Security

리눅스의 특징

리눅스

리누스 토르발스(Linus Torvalds)가 개발한 운영체제로 유닉스 기반의 오픈소스 운영체제이다. 리눅스는 기존 유닉스 서버와는 다르게 대형 서버를 위해 개발된 것이 아닌 개인용 컴퓨터나 워크스테이션으로 사용하기 위해 개발되었다. 이러한 리눅스는 오픈소스 라이센스 중 GPL이 적용된 상태이다. 오픈소스 라이센스는 GPL, LGPL, BSD, MIT 등 여러 종류의 등급이 있으며 그 중 GPL은 General Public License의 약자로 어떤 프로그램을 개발할 때 GPL 의 코드 일부를 사용하게 되면 해당 프로그램은 소스코드를 공개해야 한다. 이 후 유료로 판매해도 상관은 없다. 하지만 이렇게 소스코드가 공개되면 유료로 판매되는 해당 프로그램을 개조하여 더 좋은 성능의 프로그램을 만들어 판매하는 억울한 상황이 발생할 수 있다.

리눅스 마스코트 TUX

 

리눅스의 특징

  • 다중 사용자(Multi User) : 리눅스는 여러명의 사용자가 네트워크를 통해 접속하여 컴퓨터 시스템을 사용할 수 있는 다중 사용자 환경을 지원한다. 때문에 사용자별 권한 관리와 자원 관리가 가능하다. SSH등을 이용하여 리눅스 시스템에 접근하여 자원을 조작하고 관리하는게 가능한 것이다.
  • 다중작업(Multi Tasking) : 다중작업은 운영체제에서 여러 개의 프로세스를 동시에 실행시켜서 CPU를 스케줄링하여 사용할수 있는 것이다. 작업을 시간 단위로 나누어 사용량만큼 자원을 할당하고 사용할 수 있게 하는 시분할을 지원한다.
  • 다중 처리기(Multi Processor) : 컴퓨터 시스템에 하나 이상의 CPU가 장착되어 있으면 여러개의 CPU를 지원해주는 다중 처리기를 지원한다. 여러개의 CPU를 장착함으로써 병렬적으로 작업을 처리할 수 있다.
  • 다중 플랫폼(Multi Platform) : 리눅스는 여러 종류의 CPU를 지원함으로써 대부분의 플랫폼을 지원하고 성능을 낼 수 있다.
  • 계층형 파일 시스템(File System) : 리눅스 파일 시스템은 루트(root)를 최상위 디렉토리로 하여 그 밑으로 하위 디렉토리들이 계층적으로 구성된다. 계층적으로 구성된 파일 시스템으로 효율적인 관리가 가능하다. 윈도우와 유닉스 또한 계층적 구조로 되어있다.
  • POSIX와 호환 : POSIX는 유닉스 시스템의 표준 인터페이스를 정의한 것으로 리눅스는 POSIX 표준을 따른다. POSIX는 ㅖPortable Operating System Interface의 약자이다. 맨 마지막의 X는 유닉스 호환 OS의 경우 X를 붙이는 것에서 유래한 것이다. 즉, 서로 다른 유닉스 OS여도 공통의 API를 사용하므로써 상호간 이식성을 높이는 것이다.
  • 우수한 네트워킹(Networking) : 리눅스는 여러 네트워킹 기능들 TCP/IP, IPX/SPC, Appletalk, Bluetooth 등 다양한 프로토콜을 지원한다.
  • 가상콘솔(Virtual Console) : 리눅스는 기본적으로 6개의 가상 콘솔이 있어서 해당 콘솔마다 다른 작업을 수행할 수 있다. 이를 이용하여 물리적인 모니터의 한계를 극복할 수 있다. tmux를 이용하여 하나의 터미널에서 다중 터미널 효과를 낼 수도 있다.
  • 가상 기억장치(Virtual Memory) : 주기억장치의 용량적 한계를 극복하기 위해 보조기억장치의 일부를 주기억장치처럼 사용하는 것이다. 과거 주기억장치의 용량이 크기않아 필수적으로 사용했던 부분이다. 리눅스 운영체제 설치 시 파티션 설정 부분의 Swap영역에 해당한다.

 

반응형