Embedded : : Linux/: : Linux

리눅스 사용처, UNIX와 LINUX의 발전

Jay.P Morgan 2023. 10. 15. 21:39

 

 

[리눅스커널] 커뮤니티: if 문에서 break를 쓰면 else를 쓸 필요가 없음|작성자 Austin Kim

출처:

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=54f73df4cab18734b71a4325feb4749d334dc877

리눅스 커널 커뮤니티에서 아주 유익한 패치를 확인했습니다.

if 문 내에서 break 문을 사용하니 else를 사용할 필요가 없는 구문입니다.

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index a53e8fed56f3..cb731c1d30b1 100644
@@ -3680,7 +3680,7 @@ static void set_crtc_test_pattern(struct dc_link *link,
struct pipe_ctx *odm_pipe;
enum controller_dp_color_space controller_color_space;
int opp_cnt = 1;
- uint8_t count = 0;
+ int count;
switch (test_pattern_color_space) {
case DP_TEST_PATTERN_COLOR_SPACE_RGB:
@@ -3725,11 +3725,11 @@ static void set_crtc_test_pattern(struct dc_link *link,
width,
height);
/* wait for dpg to blank pixel data with test pattern */
- for (count = 0; count < 1000; count++)
+ for (count = 0; count < 1000; count++) {
if (opp->funcs->dpg_is_blanked(opp))
break;
- else
- udelay(100);
+ udelay(100);
+ }
}
}

 

 

리눅스의 전망과 함께 리눅스를 어디에서 쓰는지 소개합니다.

리눅스는 윈도우와 함께 우리 생활을 이루는 운영체제입니다.

리눅스는 휴대폰, TV, 클라우드 서버에서 전기 자동차까지 여러 곳곳에 쓰고 있습니다. 4 산업 혁명 시대를 맞이하여 리눅스는 저변을 계속 확대하고 있습니다.

우리 사회에 자리 잡은 리눅스란 운영체제를 어디에 쓰는지 살펴보겠습니다.

안드로이드

리눅스는 휴대폰 운영체제로 이미 자리를 잡았습니다. 대표 주자인 안드로이드는 2010년부터 현재까지 스마트폰의 주력 제품으로 쓰고 있습니다.

 

 

[그림] 안드로이드 플랫폼 아키텍처

* [출처] https://ko.wikipedia.org/wiki/안드로이드_(운영_체제)

리눅스 커널은 안드로이드의 핵심 요소입니다. 그림과 같이 안드로이드는 리눅스 커널 위에서 동작하므로 구글의 안드로이드 개발자는 리눅스 커널을 안드로이드 시나리오에 따라 수정해 쓰고 있습니다.

처음 휴대폰용으로 개발했던 안드로이드는 TV 자동차용 플렛폼으로 영역을 확장하고 있습니다.

자동차(AutoMotive)

리눅스는 휴대폰에서만 쓰는 운영체제가 아닙니다. 리눅스 저변은 휴대폰에서 자동차로 확대되고 있습니다.

최근에 전기 자동차 시장이 열리면서 자동차 인포테이트먼트 분야에 리눅스 커널을 활발히 쓰고 있습니다. 인포테이트먼트는 자동차의 네비게이션 기능에서 운전자에게 제공하는 다양한 멀티미디어 서비스를 의미합니다.

제니비(GENIVI Alliance) 같이 리눅스 기반 자동차 인포테인먼트(IVI) 커넥티비티 소프트웨어 플랫폼을 위한 단체가 설립됐으며 지속적으로 영역을 확대할 것으로 예상합니다.

 

 

[그림] Genivi 플랫폼 아키텍처

IoT 디바이스

대부분 IoT 임베디드 디바이스는 다양한 리눅스에서 구현이 되고 있습니다. 각종 센서와 전자 명함 그리고 전자 메뉴판과 같은 많은 IoT 디바이스들이 앞으로 우리에게 소개될 것입니다. 많은 IoT 디바이스가 등장할 것이며 이를 위해 계속 리눅스 기술에 관심을 갖게 것입니다.

메이저 SoC 벤터(엔비디아/인텔/퀄컴) 들도 자사의 강점을 살려 IoT 시장에 뛰어들고 있습니다. IoT 임베디드 리눅스 개발을 위한 욕토 프로젝트(Yocto Project) 같은 단체가 만들어졌으며 다양한 리눅스 배포판 생성을 가능하게 하는 도구를 만들고 있습니다.

밖에도 TV, 클라우드 서버, 슈퍼컴퓨터 등등의 기기는 리눅스 운영체제에서 실행하고 있습니다. 앞으로 리눅스는 5G AI 기술과 결합해 많이 활용될 것이라 예상합니다. 다음 절에서는 이어서 리눅스 개발 관련 단체들을 소개합니다.

 

 

2. 유닉스(UNIX)와 리눅스(Linux)의 발전 과정

 

 

리눅스는 유닉스 표준에 기반하고 있으므로, 유닉스의 발전 과정과 관련 표준을 간략하게 살펴보자.

 

유닉스(UNIX)는 1969년에 미국의 통신 회사인 AT&T 산하의 벨 연구소에서 켄 톰슨(Ken Thompson)과 데니스 리치(Dennis Ritchie)가 개발한 운영체제이다. 처음엔 기존 운영체제처럼 어셈블리어로 개발하였으나, 데니스 리치가 개발한 C언어를 사용해 1973년에 다시 만들면서 고급 언어(High-Level Language)로 작성한 최초의 운영체제가 되었다.

 

유닉스는 초기에 소스 코드가 공개되어 대학교나 기업에서 쉽게 이용할 수 있었고, 이에 따라 다양한 기능이 추가되었다. 이 후에, AT&T의 상용 유닉스(시스템V)와 버클리 대학교(U.C.Berkeley)의 BSD(Berkeley Software Distribution) 계열로 나뉘어 각각 발전하였다. BSD 버전은 버클리 대학교 학생들이 많은 기능을 추가했는데, 그 중에서도 TCP/IP 기반의 네트워크 기능을 추가한 것이 가장 기억할만 하다.

 

유닉스와 리눅스의 발전 과정