[LINUX] 리눅스의 역사



# 리눅스의 역사

  • 교육용 유닉스인 미닉스(Minix)로부터 리누스 토발즈에 의해 만들어짐.
  • 리눅스 커널과 GNU프로젝트의 라이브러리의 도구들이 포함되면서 GNU/Linux가 만들어졌다.

 1. 리눅스의 계보

  • SLS(Softlanding Linux System)
       - 최초의 리눅스 배포판이고, 피터 맥도널드에 의해 만들어진 소프트랜딩 리눅스 시스템이다.
       - SLS에 존재하는 버그를 잡으면서 슬랙웨어라는 리눅스 배포판이 되었다.


  • 슬랙웨어(Slackware)

- 패트릭 볼커딩에 의해 만들어진 리눅스 배포판.
- 최초의 리눅스 배포판인 SLS를 기반으로 디자인의 안정성과 단순성을 목표로 만들어졌다.


  • 데비안(Debian)

- GNU GPL라이선스 기반, 리눅스 커널을 탑재한 데비안 GNU/Linux
- 초창기 데비안은 SLS기반으로 만들어졌다.
- dpkg라는 패키지 관리 도구를 사용하고, 최근에는 apt를 사용.
- 정보보안을 테스트하기 위해 해킹과 관련된 도구와 설명서 등을 내장한 백트랙(BackTrack)과 칼리(Kali Linux)도 이 계열에 속함.


  •  레드햇(Red Hat)

- RPM과 YUM이라는 패키지 관리 도구를 제공.
- 일반 사용자를 위한 무료배포판인 fedora라는 오픈 소스 프로젝트를 만들어 자유롭게 사용가능.
- RHEL의 복제판으로 자체적인 커뮤니티에 의해 관리되던 CentOS도 흡수함.


  • 수세(SUSE)

- 슬랙웨어 기반의 사용 리눅스 배포판인 SuSE Linux를 출시.
- SuSE Linux는 슬랙웨어의 단점인 패키지 관리 기법을 보완하기 위해 YaST(Yet another Setup Tool)이라는 유틸리티를 제공.


  • 우분투(Ubuntu)

- 데비안 GNU/Linux를 기반으로 만든 운영체제.
- 그놈 데스크톱 환경(GNOME desktop environment)기반의 그래픽 셸인 유니티(Unity)를 사용.


  • 기타 배포판이

- 젠투 리눅스, 리눅스 민트, 아시아눅스, SULinux 등




2. 리눅스 클러스터링


1) 고계산용 클러스터(HPC : High Performance Computing Cluster)

- 고성능의 계산 능력을 제공하기 위한 목적.


2) 부하분산 클러스터(LVS : Linux Virtual Server Cluster)

- 대규모의 서비스를 제공하기 위한 목적.

- 여러 대의 리얼 서버에 부하를 분산해주는 로드 밸런서를 두고 운영.


3) 고가용성 클러스터(HA : High Availability Cluster)

- 지속적인 서비스 제공을 목적으로 하는 클러스터로 위에 열거된 부하분산 클러스터와 연동하여 많이 사용.

- 로드 밸런서에 오류가 발생하면 서버가 서비스를 제공하지 못하는 문제점을 해결하기 위해 Primary Node가 부하분산의 처리를 수행하고 다른 하나의 Backup Node(또는 Secondary Node)가 Primary Node의 상태를 체크하고 있다가 이상이 발생하면 서비스를 이어 받도록 구성.


# 임베디드 시스템(Embedded System)


1) 정의: 마이크로컨트롤러(Microcontroller), 마이크로프로세서(Microprocessor), DSP(Digital Signal Processor) 등을 내장하여 특정한 기능을 반복적으로 수행하기 위해 하드웨어와 소프트웨어를 결합하여 만든 전자 제어 시스템.


2) 임베디드 리눅스의 장단점

- 장점 : 별도의 로열티가 없다, 커널이 안정적, 관련 소프트웨어 개발 및 지원하는 업체가 많음, 변경하고 재배포가 용이
- 단점 : 커널과 루트파일 시스템등에 상대적으로 많은 메모리를 차지, 사용자 모드와 커널 모드 메모리 접근이 복잡, 디바이스 드라이버 프레임워크가 복잡



# 클라우드 컴퓨팅(Cloud Compution)


  1) 정의 : 컴퓨터나 서버등의 자원들이 하나의 구름 모양의 집합을 이루고 있다고하여 나온말.


  2) 클라우드 컴퓨팅에서 제공하는 서비스

-IaaS : 업무 처리에 필요한 서버, 데스크탑 컴퓨터, 스토리지 같은 IT하드웨어 자원을 빌려쓰는 형태의

-PaaS : 소프트웨어를 개발할 수 있는 환경(플랫폼)을 제공

-SaaS : 기업에서 사용하는 소프트웨어를 통째로 빌려 쓰는 형태



# 빅 데이터(Big Data)


  1) 정의 : 데이터베이스 관리도구로 데이터를 수집,저장,관리,분석할 수 있는 역량을 넘어서 대량의 정형 또는 비정형 데이터 집합 및 이러한 데이터로부터 가치를 추출하고 결과를 분석하는 기술.

  2) 기술 : 데이터마이닝, 기계학습, 자연 언어 처리, 패턴 인식, 텍스트 마이닝, 오피니언 마이닝, 소셜네트워크 분석, 군집분석

  3) 인프라 : 하둡(Hadoop), NoSQL, R



# 사물 인터넷(IoT : Internet of Things) 

  
  1) 정의 :  생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경.


* 아두이노 : 오픈 소스를 기반으로 한 단일 보드 마이크로컨트롤러로 완성된 보드와 관련 도구 및 환경을 말함.

0 댓글