-
[02] Part 1 리눅스 실무의 이해 Chapter 01. 리눅스의 개요 - 02. 리눅스 기초리눅스 마스터 1급 2021. 3. 6. 19:24
<리눅스의 철학>
- 리눅스는 최초 개발자가 중심이 되어 수 많은 개발자들의 참여로 개발이 이루어진다. 이런 개별 소프트웨어들은 그 소프트웨어를 기반으로 파생되어 다른 소프트웨어로 발전시킨다. 이렇게 리눅스와 관련된 개발은 수많은 변수를 가지고 있으면 자유롭게 이루어진다.
cf) 유닉스 : 기업의 엄격한 통제 및 계획 아래서 이루어지며, 개발자는 임의로 새로운 기능을 추가하거나 코드의 중요 부분을 변경할 수 없고, 개발자가 자신의 프로그램을 만든다고 해도 자신의 프로그램이 아닌 유닉스 회사의 제품이 되는 것
ㅇ.GNU (GNU's not Unix)
- 유닉스와 호환이 되도록 만들어진 운영체제이나 유닉스와는 다른 운영체제라는 의미를 내포시키기 위해서 만든 이름 / 소프트웨어의 상업화에 반대해 소프트웨어를 자유롭게 사용하도록 하는 목적
ㅇ.FSF (Free Software Foundation)와 자유 소프트웨어
- 자유 소프트웨어는 사용자가 소프트웨어를 실행, 복제, 학습, 개작, 향상시킬 수 있는 자유가 보장되어야 한다.ㅇ. Copyleft와 GNU GPL(General Public License)
- Copyright의 반대를 뜻하는 의미
- 소프트웨어를 개인의 소유로 사유화시키는 대신 자유로운 상태로 유지시키는 수단으로 삼는 것이다.
ㅇ. 주요 라이센스
1) GPL
- GNU 정신에 입각해여 자유 소프트웨어를 보호하며 실제적으로 카피레프트를 담보할 수 있는 법률적 허가권
(1) 프로그램은 어떠한 목적으로든지 사용할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.
(2) 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스 코드를 무료로 배포해야 한다.
(3) 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.
(4) 변경된 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 한다.
(5) 변경된 프로그램 역시 똑같은 GPL 라이선스를 적용해야 한다.
2) LGPL(Library/Lesser GPL)
- GPL 라이선스의 강력한 카피레프트 조건과 단순한 사용 허가를 위한 절충한인 LGPL-
3)BSD(Berkeley Software Disturbution) 라이선스
4) 아파치 라이선스
5) MPL 라이선스
6) MIT 라이선스
ㅇ. 커널(Kernel)
- 운영체제의 핵심
- 시스템이 부팅될 때 로드되며 주된 역할은 하드웨어의 제어이다.
- 메모리 , CPU, 디스크, 단말기, 프린터 등의 시스템 자원 활용도를 높이기 위한 스케줄링과 실행중인 프로그램 관리, 자료관리 등을 수행한다.
ㅇ. 주요 리눅스 배포판
1) Slackware
2) Debian
3) Red Hat
4) SUSE
5) Ubuntu
6) 기타
ㅇ. 리눅스의 동향
- 리눅스는 전통적인 서버 및 데스크톱 분야뿐만 아니라 모바일 기기, 자동차, 가전기기 등 다양한 분야에 활용되고, 클라우드 컴퓨팅 인프라 구축과 빅데이터 및 IOT환경에서도 중추적인 역할 수행.
ㅇ. 리눅스 클러스터링(Linux Clustering)
- Cluster : 단말 제어 장치와 그에 접속된 복수 단말의 총칭을 말함 / 여러 대의 컴퓨터를 연결하여 하나의 컴퓨터를 사용하는 것처럼 구성된 시스템
1) 고계산용 클러스터(HPC)
- 주로 과학계산용으로 활용되며, 슈퍼컴퓨터가 HPC 클러스터로 구성하여 제작.
2) 부하분산 클러스터(LVS, Linux Virtual Server)
- 대규모의 서비스를 제공하기 위한 목적으로 사용되는 클로스터 기법으로 이용자가 많은 웹 서비스 등에 활용가치가 높다.
- 여러 대의 Real Server에부하를 분산해 주는 Load Balancer를 두고 운영하는 방법
3) 고가용성 클러스터(HA)
- 지속적인 서비스 제공을 목적으로 하는 클러스터
- LVS와 연동하여 많이 사용
- 부하분산 클러스터의 로드 밸런스가 오류가 발생되어 동작하지 않는다면 문제가 발생하므로 상태를 체크하고 있다가 이상이 발생하면 서비스를 이어 받도록 구성하는 방법
ㅇ. 임베디드 시스템(Embedded System)
- 특정한 기능을 반복적으로 수행하기 위해 하드웨어와 소프트웨어를 결합하여 만든 전자 제어 시스템을 말함
- 마이크로 컨트롤러, 마이크로프로세서, DSP 등을 내장
- 하나의 고성능 소형 컴퓨터가 내장된 시스템
ㅇ. 클라우드 컴퓨팅(Cloud Computing)
- IT 자원들은 어디엔가 존재하고, 사용자는 단지 필요할 때 활용하기만 된다는 의미로 출현
- 즉, 사용자가 필요한 작업을 제시하면, 여기에 필요한 컴퓨팅 자원이 할당되어 작업하고 결과를 얻도록 해주는 것
- 클라우드 컴퓨팅을 이해하기 어렵다면 '인터넷을 이용한 IT 자원의 주문형 아웃소싱 서비스'로 이해하면 편하다.
- 클라우드 컴퓨팅은 3가지로 구성되는데
1) Iaas : 업무 처리에 필요한 서버, 데스크톱 컴퓨터, 스토리지 같은 IT하드웨어 자원을 클라우드 서비스로 빌려 쓰는 형태
2) PaaS : 업무에 필요한 소프트웨어를 개발할 수 잇는 환경을 클라우드에서 제공
3) SaaS : 기업에서 사용하는 소프트웨어를 통째로 클라우드 서비스 사업자에게 빌려 쓰는 개념
ㅇ. 빅 데이터(Big Data)
- 기존의 데이터베이스 관리도구로 데이터를 수집, 저장, 관리, 분석할 수 있는 역량을 넘어서 대량의 정형 또는 비정형 데이터 집합 및 이러한 데이터로부터 가치를 추출하고 결과를 분석하는 기술을 말한다.
- 빅 데이터의 관련 기술 : 데이터 마이닝, 기계 학습, 자연 언어 처리, 패턴 인식, 텍스트 마이닝, 오피니언 마이닝, 소셜 네트워크 분석, 군집분석, 하둡, NoSQL, R
ㅇ. 사물 인터넷(IOT, Internet Of Things)
- 생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경을 말함.
- 현재 다수의 IOT기기들이 리눅스 운영체제를 기반으로 동작
- 사물 인터넷 플랫폼 : 사물 간에 인터넷을 할 수 있는 물적 기반인 통신 네트워크가 원할하게 작동하도록 하는 운영체제
* 플랫폼은 제공자와 사용자를 어떻게 정의하는가에 따라 다양하게 정의될 수 있다.
'리눅스 마스터 1급' 카테고리의 다른 글
[01] Part 1 리눅스 실무의 이해 - Chapter 01. 리눅스의 개요 - 01. 운영체제의 개요 (0) 2021.03.06