기타/리눅스마스터 1급

[1028] 가.실무의이해 > A.운영체제와 리눅스 > ii) 리눅스 철학과역사

 

  A. 운영체제와 리눅스
  i) 운영체제
  1. 역할(3), 2. 역사(1940~), 3.특징(13), 4. 종류(데스크톱(3), 모바일(6), 스마트TV(4), IVI(5), 웹)
  ii) 리눅스 철학과 역사
  1. 철학(3), 2. 라이선스(6), 3. 역사(1991~),
4. 활용(클러스터
(3), 임베디드 시스템, 클라우드 컴퓨팅(3), 빅데이터, 사물인터넷)

 

ii) 리눅스 철학과 역사

1. 철학(3)

1. GNU : GNU는 유닉스가 아니다

1983년 시작 리차드 스톨만
초기 자유로운 리눅스 만들기 후에 소프트웨어 자유롭게 사용

2. FSF : 자유 소프트웨어 재단

1985년 리차드 스톨만이 세운 비영리조직
1. 목적 상관없이 프로그램 실행 자유
2. 프로그램 학습, 개작자유
3. 무료, 유료 재배포 
4. 프로그램 개선,발표

3. GNU GPL(공공라이선스)

카피레프트(카피라이트반대)를 실제로 구현한 라이선스

2. 라이선스(6)

라이선스  버전/설명 2차저작물 공개 독점소프트웨어결합
1. GPL
(일반 공공 라이선스)
FSF 창시자 리차드 스톨먼
1. 프로그램 목적 자유, 법위반안하면
2. 실행 복사본 소스코드와 함께 판매, 무료 배포
3. 소스코드 변경가능
4. 변경된 컴퓨터 프로그램도  공개배포
5. 변경된 컴퓨터 프로그램도 똑같은 라이선스인 GPL 적용
공개 불가능
GPLv1 1989년 1월 이해 쉬운 코드 같이 배포 조건
GPLv2 1991년 6월 특허로인한 추가지불, 코드공개가 불가능 할 때, 소스코드, 실행 프로그램 배포 안해도 되게 완화
GPLv3 2007년 6월 소프트웨어 특허 대처법, 라이센스 호환성, 원시코드 구성, DRM(디지털 제한 관리)관련 내용추가
2. LGPL
(라이브러리 일반 공공 라이선스)
LGPLv1  1991년 6월  리처드 스톨먼
GPL은 자유소프트웨어를 만들때만 사용
LGPL은 자유소프트웨어, 독점소프트웨어 사용가능 
단 수정시는 소스코드 반드시 제공
LGPL 사용개발 GPL 변경가능
GPL을 LGPL 변경 불가 
공개 가능
LGPLv.2.1 1999년 리처드 스톨먼
LGPL -> LPGL
( The GNU Lesser General Public License  : 약한 GNU 일반 공공 라이선스)

3. BSD
(버클리 소프트웨어배포)
버클리 캘리포니아대학 비공개가능 가능
4. 아파치 라이선스 ASF(아파치 소프트웨어 재단)
2.0 재배포시 소스코드 반드시 공개할 필요 없다. 단 라이선스2.0 포함시켜라
Apache HTTP Server, Hadoop, Hbase, Tomcat
비공개가능 가능
5. MPL 라이선스
(모질라 공공 라이선스)
BSD, GPL 혼합
MPL 만수정시는 반드시 공개, 섞으면 안해도됨. 
Firefox, 모질라 애플리케이션 스위트, 선더버드, 썬의 CDDL 탄생영향
공개
/썪으면 가능
가능
6. MIT 라이선스
(매사추세츠 공과대학)
MIT 소프트웨어 공학도 돕기위해 개발된 라이선스, 
BSD 기초 작성. 
X Window , JQuery, Node.js, Ruby on Rails
비공개 가능  가능

 

3. 역사(1987~)

유닉스 < 미닉스 < 리눅스 <SLS<슬랙웨어<데비안<레드헷<리눅스커널<SuSE<레드헷 커널2.2<우분투

1987년 네덜란드 타넨바움교수  미닉스 교육용 유닉스인 미닉스
1991년 필란드 헬싱키 대학 리누스 토발즈 리눅스 첫 공개 
1992년 피터맥도널드 SLS 
(소프트랜딩 리눅스 시스템)
-> 패트릭볼커딩 슬랙웨어
-> 이안머독 데비안프로젝트
리눅스 배포판 중 하나

1993년 패트릭볼커딩 슬랙웨어 SLS 기반
소프트웨어 최상단에서 수정되어 배포되는 형식
패키지 새롭게 적용 수정 힘듬
->SuSE, Porteus, Vector Linux, Salix OS
1993년  이안머독 데비안프로젝트 dpkg, apt 독자적 패키지 관리도구 GNU/Linux
GNU/Linux 운영체제 : GNU시스템과 리눅스 결합. 리눅스를 시스템 커널로 채용한 GNU 시스템
-> Knoppix , Ubuntu, Linux Mint 
해킹관련도구내장 : 백트랙( 2006 Knoppix 기반) ->  칼리(2016년)
1993년  밥영 , 마크유잉 레드헷 리눅스 RPM, YUM 패키지 관리도구
->RHEL, CentOS, Fedora(무료배포판), Oracle Linux
1994년 리눅스 커널버전 1.0 ~ 초기 리눅스는 운영체제의 핵심인 커널을 지칭 후에 운영체제로 발전
커널(Kernel) : 하드웨어 제어. 주버전.부버전.패치레벨
SuSE
( 수세, 독일어 소프트웨어 및 시스템개발 )
1992년 독일 설립 초기 유닉스 기반 소프트웨어 개발 목적. 
1994년  슬랙웨어 기반 상용 리눅스 배포판 출시. 
YaST  패키지 관리위한 유틸리티 
2003년 노벨에 인수 SUSE Linux 로 변경. 
1999년 레드햇 리눅스 커널버전 2.2기반 서버제작 서버시장진출
2003년 리눅스 커널 2.6  
2004년 Ubuntu
(우분투, 남아프리카 네가 있으니 내가있다.)
데비안 GNU/Linux를 기반으로 만든 운영체제 영국  마크 셔틀워스 시작. 
GNOME 기반의 그래픽 셀인 유니티 사용. 

 

3. 활용

- 리눅스 클러스터(3)

1. 고계산용 클러스터 HPC
High Performance Computing Cluster
= 베어울프 클러스터
1994년 NASA 슈퍼컴퓨터 임대기간 종료에 대비하던중 만들어짐 병렬 컴퓨터
하나의 작업을 4개에 노드를 이동시켜 수행
2.부하분산 클러스터 LVS
Linux Virtual Server Cluster
= 리눅스 가상서버 클러스터
대규모 서비스 제공위한 목적 사용자 -> 로드발란서 -> 여러대 서버
3. 고가용성 클러스터 HA
High Availability Cluster
부하분산 클러스터 오류대비  Primary Node가 부하분산을 처리
Backup Node 가 상태를 체크하고 있다가 이상시 서비스 이어받아 구성. 

- 임베디드 시스템

마이크로 컨트롤러, 마이크로 프로세서 내장, 하드웨어 소프트웨어 결합한 전자제어 시스템

리눅스 사용시 무료로 안정적으로 개발/지원이쉽지만 상대적으로 많은 메모리 사용과 필요보다 복잡해질수있음(커널모드, 프레임워크)

아두이노 : 2005년 이탈리아 Linux, Window, Mac OS 지원 C, C++, Java 사용
라즈베리파이 : 영국  데비안, 우분투등 지원

 

- 클라우드 시스템(3)

인터넷을 이용한 IT 자원의 주문형 아웃소싱 서비스
1.IaaS
Infrastructure as a Service
서버, 데스크톱 컴퓨터, 스토리지 아마존 EC2, 네이버 클라우드, 구글클라우드...
2. PaaS
Platform as a Service
소프트웨어 개발 환경 DB server, Server
3. SaaS
Software as a Service
소프트웨어를 사용함 GoogleApps

- 빅데이터

대량, 비정형, 정형 데이터로부터 가치 추출, 결과를 분석하는기술

하둡, NoSQL, R

- 사물인터넷