리눅스 :: 기술 동향

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

기술 동향

리눅스 활용 분야는 크게 서버, 데스크톱 및 개발, 임베디드 분야로 나눌 수 있다.

임베디드 분야에서는 모바일(스마트폰, 태블릿), 스마트TV, IVI(In-Vehicle-Infotainment), 가전기기 등 상당 부분을 리눅스가 점유하고 있다.

→ 리눅스 운영체제인 안드로이드와 애플의 운영체제 X(유닉스 운영체제) 가 경쟁 중

 

클러스터링으로 웹서비스, 온라인 게임서비스 등 고성능 환경도 리눅스가 솔루션으로 대두되고 있음

 

하둡과 분석 파일 시스템의 오픈 소스 소프트웨어를 이용하여 빅데이터 분석에도 활용하고 있음

기본적으로 POSIX 표준을 따르고 있으며, 저작권법상 컴퓨터 프로그램으로서 보호 대상이다.

 

 


리눅스 관련 기술

클러스터링

→ 네트워크로 여러 시스템을 연결하여 하나의 거대한 시스템처럼 동작하도록 제작하는 기술

클러스터 노드 클러스터의 실질적인 작업을 처리하는 것
클러스터 노드는 클러스터에 속하도록 구성해야 함
클러스터 관리자 각 노드에 대한 자원분배 및 관리를 할 수 있는 기능을 가짐
클러스터 노드가 클러스터 관리자 기능을 갖기도 함
환경에 따라 여러 대의 클러스터 관리자가 존재

 

 

 

클러스터링 구축 목적

공유 프로세싱을 통해 여러 시스템의 프로세싱 능력을 조합하여 고성능 컴퓨팅(HPC) 구축

여러 대의 웹서버 노드를 두고 중앙 관리 툴에서 부하를 조정(로드밸런싱)함

fail-over : 주 서버에 문제가 발생하였을 경우 백업 서버로 동작하도록 한 기능

 

 


클러스터링 종류

고계산용 클러스터 (HPC Cluster)

→ 베어울프(Beowulf) 클러스터 라고도 함. 과학계산용

 

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

→ 대규모 서비스 제공 목적으로 제작됨 (주로 웹서비스)

→ 다수 개의 서버가 로드밸런서에 연결되어 서비스 제공

     (참고: 해당 티스토리 AWS 배포전략 - 롤링 에 쓰인 기술이 이것임.)

 

LVS 클러스터의 웹 요청 처리 과정

ⓐ 로드밸런서에게 웹 요청이 들어옴

ⓑ 로드밸런서는 정해진 알고리즘에 따라 서비스를 수행할 Server 선택후 웹요청 포워딩

ⓒ 포워딩된 요청은 선택된 서버에 전달됨

ⓓ 서버는 응답을 로드밸런스에게 전달

ⓔ 로드밸런서가 제공받은 데이터를 이것을 요청한 PC로 재전송

 

 

 

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

→ 지속적인 서비스 제공 목적. 금융권, 데이터센터, 회사의 기간업무 등에 사용됨

로드밸런서와 백업서버 사이에서 주기적으로 통신하며 이상 유무 점검

→ 로드밸런서 문제 발생시 로드밸런서가 점유하고 있는 IP를 백업 서버로 이주시켜 지속적인 서비스를 수행

 

 

 


임베디드 시스템

미리 정해진 특정 기능을 수행하는 프로그램이 내장되어 있는 시스템

하드웨어와 소프트웨어를 포함하는 특정한 응용시스템

개인 휴대정보 단말, 지리정보 시스템, 의료정보 단말, 정보가전, 게임기기, 자동차, 항공기 및 우주선, 의료 및 산업 원격조종 장비 등의 시스템

 

 

구성 요소

하드웨어 프로세서/컨트롤러, 메모리, I/O 장치, 센서, 구동기 등
소프트웨어 운영체제, 시스템 S/W, 응용 S/W

마이크로 프로세서, 마이크로 컨트롤러 등을 내장하여 특정한 기능 반복 수행을 위해 하드웨어와 소프트웨어를 결합하여 구성됨

적절한 이미지를 찾지 못했다. 아래 사진에서 하드웨어에 ‘네트워크 장치’ 도 추가해야 한다.

 

특징

REAL-TIME 처리, 높은 신뢰성 보장, 소형, 경량, 저전력 지원

 

 

장점

PowerPC, ARM(Advanced RISC Machines), MIPS(Microprocessor without Interlocked Pipeline Stage) 등 다양한 CPU Platform 지원

로열티가 없음 → 가격 경쟁력 우수

기존 데스크탑 환경과 동일 → 개발 용이

 

 

단점

기존 RTOS(Real Time Operating System) 보다 많은 메모리가 요구됨

개발 환경이 Text 기반 → 해당 부분은 어려움이 있음

GUI 환경을 개발하기 어렵다.

사용자 모드와 커널 모드 메모리 접근이 복잡하여 제품화하기 위한 솔루션 구성이 어렵다.

많은 업체와 개발자들이 독자적으로 개발하므로 표준화가 어렵다.

 

 

 

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

리눅스 :: 기출문제  (0) 2025.09.11
리눅스 :: 활용 기술  (3) 2025.09.10
리눅스 :: 네트워크서비스  (0) 2025.09.09
리눅스 :: 네트워크(기초)  (0) 2025.09.09
리눅스 :: X-윈도우  (0) 2025.09.08