본문 바로가기

개발자/Linux 리눅스

Linux Tutorial 1 - Linux 소개

반응형

 

 

컴퓨팅 장치는 지난 수십 년 동안 크게 발전했으며 소프트웨어 기술도 발전했습니다. 전 세계의 컴퓨팅 장치는 데스크톱 컴퓨터 및 랩톱, 모바일 장치, 서버, 메인프레임, 슈퍼컴퓨터 및 임베디드 장치로 크게 분류할 수 있습니다. 모든 컴퓨터에는 하드웨어와 소프트웨어라는 두 가지 필수 구성 요소가 있습니다. 소프트웨어는 크게 운영 체제와 응용 프로그램의 두 가지 유형으로 분류됩니다. 운영 체제는 컴퓨터의 하드웨어를 제어하는 ​​소프트웨어 유형입니다. 운영 체제가 없으면 응용 프로그램 소프트웨어는 하드웨어를 사용할 수 없으므로 컴퓨터에서 실행할 수 없습니다. 모든 유형의 컴퓨팅 장치 중에서 임베디드 장치의 일부만이 응용 프로그램 소프트웨어가 장치 자체의 펌웨어에 하드 코딩된 하드웨어에서 직접 응용 프로그램을 실행합니다.

 

현재(2018년 8월 기준) 모바일 장치는 전 세계 모든 컴퓨팅 장치의 52.61%, 데스크톱 및 랩톱 43.15%, 태블릿 4.13%를 구성합니다. 전 세계적으로 메인프레임과 슈퍼컴퓨터는 거의 없습니다. 수십억 개의 임베디드 장치가 있지만 그 수와 이를 실행하는 소프트웨어 기술을 추적하는 정확한 메커니즘은 없습니다.

 

데스크톱 시스템(노트북 포함) 중에서 Windows, MacOS 및 Linux가 각각 82.45%, 12.64% 및 1.7%의 사용 점유율을 가진 가장 인기 있는 운영 체제입니다(제공: StatCounter). 모바일 기기 중 Android(Linux Kernel 기반) 72.46%, iOS(Unix 기반) 22.78%, Windows(Mobile) 운영 체제 0.52%를 사용합니다. 서버 중 66%는 Linux 배포판(Ubuntu, Debian, CentOS, RedHat, Gentoo, Fedora 등)을 사용하고 1%는 BSD(Unix 기반)를 사용하고 33.5%는 Windows Server를 실행합니다. 거의 모든 슈퍼컴퓨터는 맞춤형 Linux 변종에서 실행됩니다. 메인프레임 중 28%는 Linux 기반 OS를 실행하고 나머지는 Unix 기반 운영 체제를 사용합니다. 29%의 임베디드 장치(OS 실행)도 Android 또는 Android가 아닌 Linux 운영 체제를 사용하고 있습니다. 분명히 Linux는 모든 종류의 컴퓨팅 장치에 널리 퍼져 있습니다.

 

따라서 Linux를 배우고 마스터하는 것의 중요성은 모든 소프트웨어 개발자에게 논쟁의 여지가 없습니다. 이 시리즈는 운영 체제로서의 Linux에 대한 기본적인 이해를 개발하고 사용자와 개발자 모두에게 Linux를 공통적으로 사용할 수 있도록 하는 모든 야심 찬 엔지니어를 위해 설계되었습니다.

 

운영 체제의 역할

 

앞에서 언급했듯이 컴퓨터에는 하드웨어와 소프트웨어라는 두 가지 기본 구성 요소가 있습니다. 프로세서, 물리적 메모리(RAM), 마더보드, 보조 저장 장치(예: 하드 디스크 및 솔리드 스테이트 디스크), 사운드 카드, 비디오 카드 및 입출력 주변 장치(키보드, 마우스, 터치패드, 터치 스크린, 마이크 등의 입력 장치, 디스플레이 및 스피커와 같은 출력 장치)는 모든 컴퓨터의 일반적인 하드웨어 장치입니다.

 

소프트웨어는 응용 프로그램과 운영 체제의 두 가지 유형이 있습니다. 응용 프로그램은 하드웨어가 데이터를 조작할 수 있도록 하는 프로그램입니다. 워드 프로세서가 키보드를 통해 입력된 데이터를 읽고, 입력된 데이터를 그래픽 인터페이스를 통해 디스플레이에 표시하고, 워드 파일을 2차 저장소에 저장하고, 그 워드 파일을 프린터로 인쇄하게 하는 것처럼 워드 프로세서입니다. 데이터(또는 정보)는 언제든지 런타임 데이터 또는 저장 장치의 파일에 저장된 데이터가 될 수 있습니다. 응용 프로그램은 프로그램이라는 파일로 보조 저장소에 저장됩니다. 실행 중에 실행되는 이러한 파일이나 프로그램을 프로세스라고 합니다. 프로세스는 하드웨어 구성 요소에 직접 액세스 할 수 없습니다. 하드웨어 리소스, 물리적 메모리, 데이터 파일 및 하드웨어 간 데이터 전송을 관리하는 또 다른 소프트웨어가 필요합니다. 이 소프트웨어를 운영 체제라고 합니다.

 

운영 체제는 하드웨어 리소스를 관리하고, 물리적 및 가상 메모리를 응용 프로그램에 할당하고, 파일 시스템을 유지 관리하고, 컴퓨터에서 한 번에 실행되는 모든 프로세스를 관리합니다. 컴퓨터를 사용하는 사람을 사용자라고 합니다. 사용자는 컴퓨터와 설치된 응용 프로그램을 사용하기 위해 운영 체제에 로그인해야 할 수 있습니다.

 

사용자는 입출력 주변 장치를 통해 운영 체제 위에 설치된 응용 프로그램과 상호 작용합니다. 운영 체제에는 컴퓨터 시스템에 연결된 각 하드웨어에 대해 설치된 장치 드라이버가 있습니다. 장치 드라이버는 하드웨어 구성 요소와의 데이터 통신을 지시하는 프로그램입니다. 컴퓨터 시스템에 연결된 각 하드웨어에는 운영 체제가 하드웨어와 상호 작용할 수 있도록 운영 체제에 명시적으로 설치해야 하는 자체 장치 드라이버가 있습니다.

 

운영 체제는 디스플레이(LCD, LED 모니터 또는 프로젝터 화면)에 투사되는 사용자 인터페이스도 제공합니다. 사용자 인터페이스를 통해 사용자는 연결된 보조 저장 장치 또는 이동식 저장 장치에 저장된 파일에 액세스하고 응용 프로그램과 상호 작용할 수 있습니다. 사용자 인터페이스는 본질적으로 텍스트일 수 있습니다. 이러한 인터페이스를 명령줄 인터페이스라고 합니다. 명령줄 인터페이스에서 사용자는 응용 프로그램을 실행하거나 파일 및 해당 내용에 액세스 하기 위해 명령을 입력해야 합니다. 또는 사용자 인터페이스는 본질적으로 그래픽일 수 있습니다. 이러한 인터페이스를 그래픽 사용자 인터페이스라고 합니다. 그래픽 사용자 인터페이스에서 사용자는 화면에서 클릭 가능한 아이콘으로 프로그램 및 데이터 파일에 액세스 할 수 있습니다.

 

운영 체제는 시스템 서비스 또는 유틸리티 서비스도 제공합니다. 이러한 서비스에는 프로그램(프로세스) 예약, 파일 처리, 텍스트 조작, 인쇄, 네트워킹 등이 포함됩니다. 이러한 서비스는 별도의 프로세스로 실행되며 운영 체제가 부팅될 때 시작됩니다. 응용 프로그램은 특정 작업을 위해 이러한 서비스 중 하나 이상에 액세스 하거나 상호 작용해야 할 수 있습니다.

 

따라서 컴퓨터 시스템 아키텍처에서 하드웨어는 가장 낮은 수준에 있습니다. 하드웨어를 통해 하드웨어와 상호 작용하고 응용 프로그램 소프트웨어를 관리하는 운영 체제를 실행합니다. 응용 프로그램은 운영 체제에서 실행되며 운영 체제에 의해 제어 및 관리됩니다. 무엇보다 운영 체제에 로그인하여 응용 프로그램에 액세스하고 입출력 주변 장치를 통해 상호 작용하는 인간 사용자입니다.

 

모든 컴퓨터의 기본 아키텍처 https://en.wikipedia.org/wiki/User_(computing)

 

 

리눅스 운영 체제

 

Linux는 다양한 컴퓨팅 플랫폼에서 사용할 수 있는 오픈 소스 운영 체제입니다. 원래 Linux Kernel이라는 이름으로 당시 헬싱키 대학의 학생이자 현재 핀란드계 미국인 소프트웨어 엔지니어인 Linus Benedict Torvalds가 개발했습니다. Linux 커널을 개발한 후 Torvalds는 개선을 위한 제안을 위해 이를 인터넷에 공개했습니다. 곧 그는 전 세계의 전문 소프트웨어 개발자뿐만 아니라 학생들로부터 제안을 받기 시작했습니다.

 

처음에는 Linus 자신이 변경 사항을 통합하여 나중에 라이선스 비용 없이 누구나 사용할 수 있는 Linux 커널 소스 코드를 사용하는 커뮤니티 프로젝트가 되었습니다. 누구나 Linux Kernel의 소스 코드를 다운로드하고 버그 및 개선 사항을 테스트하고 변경하고 사용자 정의된 Linux 버전을 릴리스할 수 있습니다. Linux 커널은 가장 널리 사용되는 프로그래밍 언어인 C로 작성되었습니다. Linux 커널과 함께 시스템 유틸리티(GNU 유틸리티), Shell(사용자가 파일 및 프로그램을 관리하기 위한 특수 유틸리티), 데스크톱 환경(Linux 커널에 그래픽 사용자 인터페이스 추가) 및 기본 응용 프로그램 소프트웨어(Linux 커널용으로 작성됨) 사용할 준비가 된 완전한 운영 체제를 형성합니다. Linux 커널, GNU 유틸리티, 쉘,

 

수백 개의 Linux 배포판이 있습니다. 일부 버그를 수정하거나 특정 응용 프로그램을 실행하기 위해 특정 배포판을 설치한 후 Linux 커널을 업데이트해야 할 수도 있습니다. 수천 명의 소프트웨어 개발자와 수백 개의 회사가 Linux 개발에 기여하고 있습니다. 리눅스 커널은 주기적으로 업데이트되고 다운로드할 수 있습니다. Linux 커널의 각 릴리스는 버전 번호로 식별됩니다. 버전 번호는 주 번호, 부 번호 및 개정 번호의 세 가지 구성 요소로 구성됩니다. 주요 번호는 Linux 커널에 대한 주요 개정을 나타냅니다. 부 번호는 버전의 부 수정 및 안정성을 나타냅니다. 부 번호가 홀수이면 개발 커널임을 나타내고 짝수이면 프로덕션 커널임을 나타냅니다. 개발 커널은 완전히 테스트되지 않았으며 불안정할 수 있습니다. 프로덕션 커널은 Linux 커널의 완전히 테스트되고 안정적인 릴리스입니다. 개정 번호는 커널에 대한 미세한 변경 사항을 나타냅니다. 예를 들어 안정적인 최신 Linux 커널 버전은 4.18.10(2018년 9월 26일 기준)이며 4는 주 번호, 18은 부 번호, 10은 개정 번호입니다.

 

리눅스 운영체제의 특징을 간단하게 알아보면 다음과 같습니다.

 

  • 계층적인 파일 구조: 파일 구조는 /(root)를 기준으로 하위 디렉터리에 usr, var, bin 등이 존재하고 usr 밑에는 local, src 등의 디렉터리가 존재한다. 이러한 파일 구조를 계층적 파일 구조 == 트리 구조 라고 한다.
  • 장치의 파일화: 장치란 하드디스크, 키보드 등 시스템에 설치된 여러 가지 하드웨어적 자원을 말한다. 리눅스는 이러한 장치들을 모두 파일화하여 사용한다. 특정 하드웨어에게 명령을 수행시키려면 해당 장치 파일에 명령을 내리면 된다. 예) $mount /dev/cdrom
  • 가상메모리 사용: 가상메모리란 물리적 저장장치의 일부를 메모리처럼 사용하는 것을 말한다. 프로그램 실행시 메모리 공간을 이용하는데, 용량이 부족하면 실행 시킬 수 없게된다. 이 문제점을 해결하기 위한 방법이 가상메모리를 만들어 이용하는 것이다. 이 가상메모리 영역을 스왑 메모리라고 부른다.
  • 스와핑(Swapping)이란? 메모리에 프로그램들이 많이 올라와 공간이 없는 경우 가상메모리 설정을 통해 추가로 실행시킬 수 있게 된다. 이것은 메모리에 있지만 사용하지 않는 프로그램을 스왑 영역으로 보내어 메모리 공간을 확보하고 실행하기 때문인데 이 물리디스크와 메모리간의 데이터 교환을 스와핑이라고 한다. 스왑 용량의 확인은 메모리 확인 명령어 free 를 사용하면 알 수 있다. 옵션 -m 으로 MB 단위 확인이 가능하다.
  • 동적 라이브러리 지원: 프로그램에서 특정 기능을 하는 루틴들을 모아 놓은 것을 라이브러리라 하여, 프로그램 개발 시 라이브러리 중 필요한 루틴을 받아 링크 시킨다. 리눅스는 같은 기능을 하는 루틴을 모아 동적 공유 라이브러리에 두어 프로그램을 실행할 때 가져다 사용하여 메모리 효율성을 높인다.
  • 가상 콘솔: 하나의 모니터를 장착한 시스템에 여러 개의 가상 화면을 제공해서 사용하는 기능이다. CTRL+ALT+F1~F6 까지 6개의 창을 기본 제공한다. ALT+Fn으로 전환이 가능하다.
  • 파이프 '|' : 프로세스의 통신을 위해 도입한 것으로 어느 프로세스의 표준 출력이 다른 프로세스의 표준 입력으로 쓰이게 하는 것을 말한다.
  • 리다이렉션: 어떤 프로세스의 입/출력을 표준 입출력이 아닌 다른 입출력으로 변경할 때 사용한다. 출력 결과를 파일로 저장하거나 파일의 내용을 프로세스의 입력으로 사용하는 기법이다. 출처: https://yulsay.tistory.com/43 [Yul hub]  

 

리눅스의 역사

 

1965년 MIT(Massachusetts Institute of Technology), General Electric 및 AT&T Bell Laboratories는 MULTICS(Multiplexed Information and Computing Service)라는 운영 체제 개발을 시작했습니다. MULTICS는 프로세스 간의 프로세서 시간 공유를 개선하기 위한 테스트 프로젝트였습니다. 이 프로젝트는 1969년에 중단되었습니다. 그러나 MULTICS의 개발 팀 멤버였던 Ken Thompson이 계속 작업하여 UNIX라는 운영 체제를 개발했습니다.

 

UNIX 및 B 프로그래밍 언어를 개발한 Ken Thompson https://www.thefamouspeople.com/profiles/ken-thompson-15474.php

 

동시에 C 프로그래밍 언어는 Dennis Ritchie에 의해 개발되었습니다. 그 당시 컴퓨터는 일반적으로 어셈블리 언어로 프로그래밍되었고 플랫폼에 독립적인 프로그래밍 언어가 없었습니다. C는 플랫폼에 독립적이고 모든 프로세서 제품군을 위한 프로그램을 작성하는 데 사용할 수 있었기 때문에 혁신적인 개발이었습니다. UNIX는 1970년대 후반에 C 언어로 다시 작성되었습니다. 따라서 UNIX는 소프트웨어 커뮤니티에서 이식 가능한 운영 체제로 인기를 얻었습니다.

 

C 프로그래밍 언어를 개발한 Dennis Ritchie

 

연방 법원 명령으로 인해 AT&T는 UNIX를 판매할 수 없었으므로 일련의 표준에 따라 UNIX 소스 코드를 여러 회사에 판매했습니다. 각 회사는 합의된 표준을 준수하는 한 고유한 UNIX 버전을 개발할 수 있습니다. AT&T는 또한 교육 목적과 처음에 UNIX를 홍보하기 위해 여러 대학에 UNIX의 무료 소스 코드를 제공했습니다. 1980년대 내내 UNIX는 일반적인 UNIX 시스템의 비용이 수십만 달러였기 때문에 대규모 소프트웨어 회사에 국한되었습니다. 유닉스의 다양한 변종(개별 회사에서 개발)은 여전히 ​​주요 소프트웨어 회사에서 사용됩니다. Oracle의 Solaris, Apple의 Macintosh OS X 및 iOS, Hewlett-Packard의 HP-UX, IBM의 AIX 및 기타 주요 소프트웨어 회사에서 판매하는 많은 운영 체제는 모두 UNIX 기반입니다.

 

1980년대 중반, 유명한 해커인 Richard Stallman은 FSF(Free Software Foundation)를 설립하고 UNIX가 아닌 자유 운영체제를 구축하기 위해 GNU 프로젝트를 설립했습니다. GNU 프로젝트는 무료 공동 기여로 소프트웨어를 개발할 수 있고 소스 코드를 라이선스 비용 없이 무료로 사용할 수 있는 GNU 공개 라이선스를 도입했습니다. 모든 개발자는 GNU에서 자유 소프트웨어의 소스 코드를 얻고 수정하고 동일한 라이선스에 따라 배포할 수 있습니다. 이는 수정된 버전의 소스 코드도 개발자가 사용할 수 있어야 함을 의미합니다. 별도의 라이선스 비용이 없는 이러한 협업 소프트웨어 개발은 ​​이름 해커 문화로 유명해졌습니다.

 

Richard Stallman, 유명한 해커이자 Free Software Foundation의 설립자

 

1991년, 헬싱키 대학의 학생이었던 리누스 베네딕트 토발즈(Linus Benedict Torvalds)가 MINIX(Mini UNIX) 작업을 하면서 최초의 Linux 커널을 개발했습니다. MINIX는 Intel x86 플랫폼용으로 Andrew Tannenbaum이 개발한 교육용 UNIX 버전입니다. 1990년대에 Intel x86 플랫폼은 Microsoft의 Windows 운영 체제가 실행되는 가정과 사무실에서 표준이 되었습니다.

 

최초의 Linux 커널을 개발한 Linus Benedict Torvalds

 

곧 Torvalds는 GNU Public License에 따라 Linux Kernel을 게시했고 해커 문화가 이에 기여하기 시작했습니다. GNU 시스템 유틸리티와 결합된 Linux 커널은 완전한 무료 운영 체제가 됩니다. 나중에 Linux용으로 작성된 데스크톱 환경과 무료 응용 프로그램은 그 사용과 범위를 더욱 확장했습니다. 1998년까지 해커 문화는 OSS(오픈 소스 소프트웨어) 개발자라는 용어로 알려지기 시작했습니다. 수천 명의 소프트웨어 개발자(OSS 개발자)와 수백 개의 회사(주요 소프트웨어 회사 포함)가 Linux 커널 및 관련 소프트웨어 응용 프로그램의 개발에 기여해 왔습니다.

 

2007년까지 커널 개발은 코드의 80%를 작성하는 상위 20명의 개발자에서 Linux 코드의 30%만 작성하는 상위 30명의 개발자로 이동했습니다. Linux Kernel은 GNU Public License에 따라 사용할 수 있으며 현재 수백 가지 Linux 배포판을 사용할 수 있습니다. 모든 Linux 배포판에는 공통 Linux 커널 및 GNU 유틸리티가 있으며 데스크톱 환경과 추가 패키지(배포판과 함께 설치되는 기본 응용 프로그램)만 다릅니다.

 

OSS 개발자들은 1980년대에 네트워킹 소프트웨어 개발에 집중했지만 1990년대에는 Linux 개발에 집중했습니다. 현재 오픈 소스 소프트웨어 커뮤니티는 2010년대에 모바일용 Android 운영 체제의 전례 없는 성장과 인기를 목격함에 따라 Embedded Linux 개발에 중점을 두고 있습니다. Android는 (물론) Linux를 기반으로 하는 오픈 소스 모바일 운영 체제입니다.

 

Linux 라이선스

 

Linux는 FSF(Free Software Foundation)에서 개발한 GNU Public License에 따라 사용할 수 있습니다. GPL에서는 모든 소프트웨어와 소스 코드를 자유롭게 사용할 수 있어야 합니다. 누군가 소스 코드를 수정하면 라이선스 비용 없이 재배포되어야 합니다. 따라서 Linux는 오픈 소스입니다. 오픈 소스 라이선스에 따라 소프트웨어와 소스 코드는 무료로 제공되어야 합니다. 소프트웨어 자체는 협업을 통해 자유롭게 개발 및 개선됩니다. 오픈 소스 소프트웨어(OSS)는 협업을 통한 신속한 개발, 지속적인 버그 수정, 사용자 요구 및 제안에 따른 소프트웨어 개발과 같은 여러 이점이 있습니다.

 

다른 유형의 소프트웨어 라이선스는 폐쇄 소스 라이선스입니다. 폐쇄형 소스 소프트웨어는 무료로 배포하거나 라이선스 비용을 첨부하여 배포할 수 있지만 소스 코드는 사용할 수 없습니다. 무료로 제공되는 폐쇄형 소스 소프트웨어의 유형을 프리웨어라고 합니다. 무료로 제공되지만 사용 기간이 지나면 비용을 지불해야 하는 폐쇄형 소스 소프트웨어의 유형을 셰어웨어라고 합니다.

 

소프트웨어 회사와 개발자는 오픈 소스 소프트웨어로 수익을 창출할 수 없습니다. 소프트웨어와 소스 코드는 오픈 소스 라이선스에 따라 무료로 배포되어야 하기 때문입니다. 따라서 OSS 개발자(및 Linux 개발자)는 OSS를 실행하는 하드웨어를 판매하고 Linux와 같은 OSS에서 실행되는 폐쇄 소스 소프트웨어를 판매하고 OSS와 관련된 고객 지원을 제공함으로써 수익을 창출합니다.

 

Linux 사용의 장점

 

Linux는 낮은 운영 비용, 하드웨어 플랫폼의 유연성, 안정성 및 보안, 멀티스레딩, 다중 사용자 기능, 멀티태스킹, 파일 시스템의 유연성, 모놀리식 커널 및 사용자 정의 용이성과 같은 여러 이점을 제공합니다. 장점 항목을 간단히 설명하면 아래와 같습니다.

 

  • 다중 사용자 및 다중 처리: 시스템 하나의 시스템에 다수의 사용자들이 동시에 접속하여 사용할 수 있고, 각 접속자들은 다수의 응용 프로그램을 실행할 수 있다.
  • 완전히 공개된 시스템: 운영체제의 핵심인 커널 뿐만아니라, 같이 내장되어 배포되는 대부분의 응용 프로그램이 소스가 공개된 프로그램이다.
  • 모노리식 커널과 사용자 정의 용이성: 모놀리식 커널(Monolithic kernel)은 커널의 구조 및 설계 사상을 가리킨다. 단일형 커널이라고도 한다. 입출력 기능, 네트워크 기능, 장치 지원 등 운영 체제의 일반적인 기능을 커널과 동일한 메모리 공간에 적재, 실행하는 기법을 말한다. 
  • 높은 수준의 네트워크 환경: 가장 널리 쓰이는 이더넷, SLIP, PPP, ATM 등의 다양한 네트워크 환경을 지원하며, TCP/IP, IPX, AppleTalk 등 대부분의 네트워크 프로토콜을 지원한다.
  • 다양한 파일 시스템 지원: 프로그램과 자료를 저장하기 위해 리눅스 고유의 파일 시스템인 ext2, ext3, ext4 등을 사용한다. 그러나 고유의 파일 시스템만 지원하는 다른 운영체제와 달리 다양한 파일 시스템을 지원한다. DOS의 FAT, Windows의 FAT32 및 NTFS, CD-ROM의 ISO 9660 등
  • 높은 이식성: 약간의 어셈블리와 대부분의 C언어로 작성되어 있기 때문에 C를 컴파일 할 수 있으면 어셈블리 부분만 새롭게 만들고 C부분을 다시 컴파일함으로써 쉽게 다른 시스템에 이식이 가능하다.
  • 유연성과 확장성: 리눅스는 상업용 유닉스의 모든 특성을 가지고 있으며, 유닉스의 표준인 포직스를 준수하고 있다. 따라서 공개 유닉스 프로그램들을 컴파일해서 사용 가능하며, 리눅스의 원시코드를 쉽게 접할 수 있고 공개 된 커널 소스를 통해 다양한 지원을 받을 수 있다.
  • 안정성과 보안성: 커널 소스가 공개되어 있어서 Windows와 같은 폐쇄형 운영체제에 비해 보안 취약점이 쉽게 노출되나, 빠른 피드백으로 보안 패치를 받을 수 있다.
  • 우수한 가성비: 리눅스 시스템은 무료로 배포되고 있으며 기업용 시스템 또한, windows 시스템에 비해 저렴한 가격이 소요된다.

 

Linux의 응용 프로그램

 

Linux는 다양한 플랫폼과 애플리케이션에서 사용됩니다. Linux는 Intel x86/x64, ARM, MIPS, Itanium, Alpha, PowerPC, SPARC, Ultra-SPARC, M68K, Mainframe 등과 같은 수많은 하드웨어 플랫폼에서 운영 체제로 사용할 수 있습니다. 데스크톱 컴퓨터(가정 및 사무실 워크스테이션), 인터넷 서버, 슈퍼컴퓨터, 클라우드 시스템, 파일 및 인쇄 서버, 애플리케이션 서버, 과학 워크스테이션, 휴대전화 및 임베디드 장치. Linux는 사용자와 개발자 모두에게 무료로 제공됩니다. 오픈 소스 특성으로 인해 빠르게 성장하고 발전할 수 있었습니다. 임베디드 리눅스는 훨씬 더 풍요로운 미래를 가지고 있습니다. 현재 지구 상에서 가장 보편적인 모바일 운영체제인 안드로이드는 리눅스 커널을 기반으로 하는 리눅스를 핵심으로 하고 있다.

 

모든 Linux 운영 체제 또는 Linux 배포판은 종종 Linux 시스템이라고 합니다. 다음 튜토리얼 – 한눈에 보는 모든 Linux 시스템에서는 모든 Linux 시스템(예: Linux 커널, GNU 유틸리티, 셸, CLI/GUI 데스크톱 환경 및 응용 프로그램)의 구성 요소를 살펴보고 다양한 Linux 배포판을 검토합니다. 

 

시작은 여기다. 

 

 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^