리눅스 :: 활용 기술

2025. 9. 10. 20:01백엔드/리눅스

가상화

→ 여러 애플리케이션, 미들웨어, 운영체제들이 서로 영향을 미치지 않으면서 동시에 사용될 수 있도록 해준다.

→ 하이퍼바이저는 기존의 물리적인 머신의 자원을 추상화하여 가상머신 상에서 운영된다.

 

서버 가상화

→ 데스크톱 가상화, 스토리지 가상화, 네트워크 가상화가 있음.

 

 

 

전가상화와 반가상화

전가상화 (Full Virtualization)

VMware Workstation / ESXi , VirtualBox

Xen
KVM (리눅스, 하드웨어 지원 필요)

Guest OS가 자신이 가상 환경에 있다는 것을 모른 채, 실제 물리 하드웨어에 설치된 것처럼 동작함

  CPU의 가상화 지원 기술(Intel VT-x, AMD-V) 필요

  변경 없는 Guest OS 사용 가능 (윈도우, 리눅스 그대로 설치 가능)

 

 

 

반가상화 (Paravirtualization)

Xen (반가상화 모드)

VMware 초창기 일부 모드

Guest OS는 자신이 가상 환경에서 동작한다는 사실을 알고, 하이퍼바이저와 직접 통신

Guest OS를 가상화 친화적으로 수정/최적화해서 실행하는 방식 (커널 수정 필요)

  Guest OS 수정 필요 (즉, 윈도우 같은 범용 OS는 바로 못 씀 → 드라이버나 커널 패치 필요)

  KVM의 VirtIO 드라이버도 반가상화 드라이버 개념

 

 

 

전가상화 (Full Virtualization)  VS  반가상화 (Paravirtualization)

통역사(하이퍼바이저) 가 역할을 어떻게 다르게 하는지의 차이라고 보면 됨.

예) Guest OS가 디스크에 쓰기 요청

 

전가상화(Full Virtualization)

    Guest OS → "하드웨어 I/O 명령어" 실행
    2CPU → "이건 특권 명령어네?" → 실제로 실행하지 않고 트랩(trap) 발생
    하이퍼바이저가 개입 → 이 요청을 가로채서 실제 물리 디스크 I/O로 변환
    결과를 Guest OS에게 다시 전달

          하드웨어를 흉내내는 에뮬레이션 계층이 필요하고, 그 과정에서 성능 손실(오버헤드)이 생김

 

 

반가상화(Paravirtualization)

    Guest OS → 커널이 하드웨어 명령어 대신 하이퍼콜(hypercall) 호출
    하이퍼바이저 → 요청을 직접 받아서 물리 디스크 I/O 수행
    결과 반환

         중간에 trap → 에뮬레이션 과정이 필요 없고, 바로 하이퍼바이저 API를 통해 실행되므로 속도가 훨씬 빠름

 

 

 

 


하이퍼바이저

→ 가상머신과 HW 사이에 위치하며, CPU와 메모리 등의 HW 자원을 논리적으로 분할, 할당하며 이들의 스케줄링을 담당한다.

→ HW 자원을 공유함에 있어 가상 머신 간 고립화를 보장

 

하이퍼바이저 운영 방식

네이티브 방식: HW에 직접 설치하여 실행 → Xen, KVM, Xen Server, EXSi

호스티드 방식: 일반 App과 같이 프로그램으로 실행 → Virtual Box, VMWare

 

오픈소스 하이퍼바이저

Xen 케임브리지 대학교 개발한 하이퍼바이저
리눅스 기본 커널에 포함됨
기본 repository 를 이용한 yum 설치 가능
네트워크 MAC 주소 고정 가능

Xen 설치 후 Xen 커널로 부팅 필요
반가상화 및 전가상화 모두 이용 가능
상용화된 제품이 많음
KVM Qumranent 에서 개발한 하이퍼바이저
리눅스 기본 커널에 포함됨
기본 repository 를 이용한 yum 설치 가능
네트워크 MAC 주소 고정 가능

Xen과 호횐되는 가상 장치 관리자 사용
KVM 및 KVM 모듈 설치 후 관련 모듈 로딩 필요
x86기반 시스템, CPU 전가상화 방식 사용
CPU 가상화 기술인 인텔 VT 및 AMD-V 기반 동작
Virtual
Box
이노테크가 개발, 현재 오라클이 개발 중인 상용 사유 소프트웨어(제한된 GPL 버전)
리눅스 기본 커널에 포함되지 않음
일반 버전은 추가 repository 설치를 통한 yum 사용 가능
설치 후 관련 모듈 로딩 필요
독자적인 가상 장치 관리자 사용
XEN 및 KVM에서 사용하는 가상 장치 관리자에 비해 디자인이 우수
전가상화만 지원
대용량의 가상머신 생성 시에도 빠르게 설치 가능
Mac OS 지원으로 아이폰 OS 관련 응용프로그램 개발 시에 유용

 

 

 

 

 

 


클라우드 컴퓨팅

→ 하이퍼바이저 같은 가상화 기술을 포함해 IT 자원을 네트워크(주로 인터넷)로 제공하는 서비스 모델

→ 단순히 가상화뿐 아니라 자동화, 확장성, 과금 체계까지 포함하는 개념이다.

 

특징

→ 사업자와 직접 상호작용하지 않고 개별 관리 화면(모바일 기기 등도 가능)을 통해 서비스를 이용할 수 있다.

→ 필요한 만큼의 스케일업, 다운이 가능하며, 이용한 만큼의 요금이 부과되어 측정 가능한 서비스

 

서비스 종류

Iaas (InfraStructure as a Service)

→ HW 자원만을 임대해주는 클라우드 서비스 ex) Amazon Elastic Compute Cloud (EC2)

 

Paas (Platform)

→ SW 서비스를 개발하기 위한 플랫폼을 제공하는 클라우드 서비스. ex) 구글 앱 엔진

 

Saas (Software)

→ 클라우드 환경에서 동작하는 응용 프로그램을 서비스 형태로 제공함

→ 기존의 패키지 SW처럼 모든 기능을 라이선스별로 구매하는 것이 아니라, 필요한 기능을 필요한 기간만큼 임대하는 방식이다.

→ ex) 네이버메일, G메일, 네이버 클라우드, 구글 드라이브 등

 

Daas

사용자에게 가상화된 데스크톱을 아웃소싱 형태로 전달하는 서비스

 

Zaas (Zebra as a Service)
현재로서는 기업 IT 용어가 아니다. 셀링 투 지브라스라는 기업이 자사를 마케팅하기 위해 사용하는 용어이다.

 

클라우드 서비스 모델

사설 클라우드

→ 기업들이 자체적으로 데이터센터 안에 클라우드 환경을 구축해 사용하는 방식

→ 자사의 정책에 맞춰 구축할 수 있으나 높은 기술력과 운영 능력이 필요하다.

 

공용 클라우드

→ 클라우드 사업자가 시스템을 구축하고 인터넷 망 등의 네트워크를 통해 불특정 다수의 기업과 개인에게 서비스를 제공함

→ 기업 또는 방화벽 외부에 구축된다. (상대적으로 운영 관리 부담이 적다.)

 

하이브리드 클라우드

→ 필요에 의해 데이터나 컴퓨팅 자원의 위치가 조절 가능하고, 중요도와 비즈니스 핵심 업무에 따라 선택 가능하다는 장점이 있음

 

 

 

구축 환경

오픈스택 (Open Stack)

→ Iaas 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트

→ 5개의 코어 프로젝트 노바, 스위프트, 클랜스, 키스톤, 호라이즌, 퀀텀이 유기적으로 연결되어

     하나의 커다란 클라우드 컴퓨팅 시스템을 구축한다.

→ 캐노니컬, 레드햇, HP, IBM, VM웨어 등 150개 이상의 회사가 이 프로젝트에 참가하고 있다.

 

클라우드 스택 (Cloud Stack)

→ Iaas 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트

→ 시트릭스 (Citrix) 에서 오픈 소스로 공개한 제품

→ 클라우드 인프라 스트럭처를 만드는 네트워크, 스토리지, 컴퓨터들의 노드를 관리함

 

유칼립투스 (Eucalyptus)

→ Iaas 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트

→ 미국 UC 산타바바라 대학에서 시작된 오픈 소스 프로젝트

→ 아마존 EC2 API 와 동일한 API를 쓰고 있고 완벽하게 호환됨

→ 분리된 물리 자원에서 유칼립투스 컴포넌트들을 운영할 수 있는 환경(Storage, Cloud, Back-end 등) 을 지원함

 

 

 

 

 

 


빅데이터

→ 기존 DB 관리 도구의 데이터 수집, 저장, 관리, 분석 역량을 넘어서는 데이터

3대 요소 : 규모, 다양성, 속도 의 3대 요소 중 두 가지 이상 충족되면 빅데이터라 할 수 있다.

 

볼륨

→ 수십 테라바이트 ~ 수십 페타바이트 이상

 

속도

속도적인 특징으로서 실시간 처리와 장기적 접근으로 나눌 수 있다.

→ 실시간 처리: 데이터의 수집, 저장, 분석

→ 장기적 접근: 수집된 대량의 데이터를 다양한 분석 기법과 표현 기술로 분석

→ 분석 기법: 데이터 마이닝, 기계 학습, 자연어 처리, 패턴 인식 등 (통계학, 전산학)

 

다양성

정형(Structured), 반정형(Semi-Structured), 비정형(Unstructured) 데이터

→ 정형 데이터: 고정된 필드에 저장되는 데이터로, 일정한 형식을 갖추고 있음

반정형 데이터: 고정된 필드에 저장되지는 않지만 XML, HTML 과 같이 메타데이터나 스키마 등을 포함함

비정형 데이터: 고정된 필드에 저장되지 않는 데이터.

      ex) 사진, 동영상, 메신저로 주고받은 대화 내용, 스마트폰에 기록되는 위치 정보, 통화내용 등

 

하둡 (Hadoop)

대용량 데이터를 처리할 수 있는 자바 기반의 오픈 소스 프레임워크

분산 파일 시스템인 HDF (Hadoop Distributed File System) 에 데이터를 저장하고, 분산 처리 시스템인 맵리듀스를 이용해 데이터를 처리한다.

용량이 부족한 경우 필요한 만큼 리눅스 서버만 추가하면 된다.

하둡은 데이터의 복제본을 저장하므로 문제 발생시 데이터의 복구가 용이하다

여러 대의 서버에 데이터를 저장하고, 각 서버에서 동시에 데이터를 처리하는 방식

 

 

 

 


임베디드 시스템

리눅스 기반의 공개형 운영체제

OS 특징
마에모
(Maemo)
노키아가 스마트폰 및 인터넷 태블릿용으로 만든 소프트웨어 플랫폼
리눅스 기반
인텔의 모블린과 합병 → 미고 (Meego)
모블린
(Moblin)
인텔과 리눅스 재단이 리눅스 기반으로 개발
Mobile+Linux 의 약어로, MID(Mobile Internet Device), 넷북 등 임베디드 모바일 기기를 위해 만들어짐
인텔은 모블린 프로젝트를 노키아의 마에모와 합병 → 미고(Meego)
미고
(Meego)
노키아가 윈도우 폰을 주력하겠다고 선언하고, 인텔도 삼성과 협력하여 타이젠을 개발하겠다고 선언함
→ 인텔과 노키아는 이탈했으나 프로젝트는 계속적으로 운영함
넷북, 스마트폰, 태블릿 외에도 IVI, 차량용 네비게이션, 스마트TV 버전도 개발 중
리모
(Limo)
Linux-Mobile 의 약어로, 삼성전자, NEC, 파나소닉, 바다폰 등이 참여하여 시작
프로젝트가 종료된 후 MeeGo로 대체
인텔과 삼성전자를 주축으로 리모 재단, MeeGo 개발자 등과 협력하여 HTML5 와 웹 표준에 기반한 Tizen 프로젝트 시작
타이젠
(Tizen)
인텔과 삼성을 주축으로 한 리눅스 재단, MeeGo 개발자 등이 합류하여 만든 리눅스 기반 무료 공개형 모바일 운영체제
SDK 발표 후 Lakspur 라는 코드명으로 V1.0 발표
웹 표준과 HTML5를 지원
태블릿, 넷북, 스마트폰, 스마트TV, IVI 지원이 목표
iOS 처음 공개된 당시에는 사용자가 개발한 응용 프로그램의 추가가 허용되지 않았음
2.0 버전부터는 애플의 앱스토어를 통해 자유롭게 사용자 응용 프로그램을 공개 판매 가능하게 되었음.
가장 많은 응용프로그램을 보유한 운영체제
안드로이드 구글에서 만든 스마트폰용 운영체제
구글이 앤디 루빈이 설립한 안드로이드라는 회사를 인수하면서 시작됨
안드로이드 플랫폼을 모바일 기기 운영체제로서 무료 공개 ㅂ말표
리눅스 커널 2.6을 기반으로 모바일 기기 플랫폼 ‘안드로이드’ 발표, 언어는 자바 사용

 

 

 

 

 


스마트 TV 운영체제

타이젠 (Tizen)

휴대전화, TV, 냉장고와 같은 모든 전자기기에 포함하는 것을 목적으로 하는 오픈소스 모바일 운영체제

삼성전자, 인텔, 파나소닉에서 리눅스 커널, HTML5, C++ 기반으로 공동개발

SDK(소프트웨어 개발 키트) 를 통해 응용 프로그램을 개발하기 위해 필요한 각종 도구들과 API를 제공함

사물 인터넷(IoT)에 강점

 

 

웹OS

리눅스 커널에서 구동되는 모바일 운영체제

팜이 개발 → HP 인수 → LG전자 인수

CES에서 webOS가 내장된 스마트 TV를 선보임

LG의 webOS 스마트 TV는 기존 webOS 의 특징인 Card view 를 계승함

 

 

IVI (In-Vehicle Infotainment)

인포테인먼트: 정보+오락 (정보 전달에 오락성을 가미한 시스템) 내비게이션, 계기판, 트림 컴퓨터, AV시스템, DMB, 오디오 및 외부 기기와의 연결까지 가능한 통합적인 차량 내부 시스템을 포함함

 

특징

GENIVI 표준 플랫폼 기반의 인포테인먼트 시스템

CE4A 표준 터미널 모드와 확장 API 기술을 포함한 스마트폰 연동 기술을 탑재하고 있다.

AUTOSAR 연계 소프트웨어 진단 (DLT) 서비스 기술을 탑재한다.

 

GENIVI (GENEVA In-Vehicle Infotainment)

오픈 소스 기반 차량 멀티미디어 플랫폼 표준화 활동이다.

BMW 등 유럽, 북미 자동차 OEM과 자동차 부품업체들을 중심으로 결성된 오픈소스 기반 인포테인먼트

SW 플랫폼 구축을 위한 자동차 산업 표준 협의체이다.

GENIVI SW 플랫폼 기본 구조의 80% 정도는 기존 오픈 소스로 구성된 리눅스 OS와 오픈소스 컴포넌트 등의 기술을 차용한다.

→ 15%는 오픈 소스를 차량용으로 사용하기 위해 일부 수정하거나 최적화하여 사용한다.

→ 5% 는 새로운 차량용 기술을 반영하기 위하여 신규 코드로 추가한다.

 

 

 

 

 

'백엔드 > 리눅스' 카테고리의 다른 글

리눅스 :: 라이선스  (0) 2025.09.12
리눅스 :: 기출문제  (0) 2025.09.11
리눅스 :: 기술 동향  (0) 2025.09.09
리눅스 :: 네트워크서비스  (0) 2025.09.09
리눅스 :: 네트워크(기초)  (0) 2025.09.09