리눅스 소개
Linux는 Linux 커널의 오픈 소스 Unix 계열 운영 체제 기반 제품군이며, OS 커널은 1991년 9월 17일에 처음 게시되었습니다. 리누스 토발즈 . 일반적으로 Linux는 지원 라이브러리, 시스템 소프트웨어 및 커널이 포함된 Linux 배포판으로 패키지되어 있으며 그 중 일부는 GNU 프로젝트에서 제공됩니다. 여러 Linux 배포판에서는 이 용어를 사용합니다. '리눅스' 제목에는 있지만 자유 소프트웨어 재단에서는 'GNU/리눅스' GNU 소프트웨어의 필요성에 초점을 맞춘 제목으로 인해 몇 가지 논란이 발생했습니다.
유명한 Linux 배포판으로는 Ubuntu, Fedora Linux 및 Debian이 있으며, 후자는 Xubuntu 및 Lubuntu를 포함한 여러 가지 수정 및 배포판으로 구성됩니다. 상용 배포판은 SUSE Linux Enterprise와 Red Hat Enterprise Linux입니다. Linux의 데스크탑 배포판은 Wayland 또는 X11과 같은 윈도우 시스템과 KDE Plasma 및 GNOME과 같은 데스크탑 환경입니다.
- 원래 Linux는 Intel x86 아키텍처 기반의 개인용 컴퓨터용으로 설계되었으나 이후 다른 운영 체제보다 더 많은 환경으로 이동되었습니다.
- Android를 포함하여 Linux는 2022년 5월 현재 스마트폰을 통해 Linux 기반 Android가 제어되기 때문에 모든 범용 운영 체제 중 가장 큰 설치 기반을 보유하고 있습니다.
- 그러나 2022년 11월 현재 데스크톱 컴퓨터 중 약 2.6%만이 Linux를 사용하고 있습니다.
- 또한 Linux는 많은 임베디드 시스템, 즉 OS가 일반적으로 펌웨어에 설계되고 시스템에 맞게 극도로 맞춤화된 장치에서 실행됩니다.
- 여기에는 우주선(Perseverance rover, Dragon 크루 캡슐, Falcon 9 로켓), 자동차(Toyota, Hyundai, Mercedes-Benz, Audi, Tesla), TV(LG 및 Samsung 스마트 TV), 비디오 게임 콘솔, 스마트 홈 장치, 자동화 제어 및 라우터.
Linux는 오픈 소스 및 무료 소프트웨어 협업의 가장 뛰어난 사례 중 하나입니다. 소스 코드는 GNU GPL(General Public License)과 같은 해당 라이선스의 조건에 따라 모든 사람이 비상업적 또는 상업적으로 배포, 수정 및 사용할 수 있습니다. 예를 들어 Linux 커널은 GPLv2에 따라 라이센스가 부여됩니다.
리눅스 OS의 역사
유닉스 기반 운영 체제는 1969년에 구현되고 고안되었습니다. AT&T의 벨 미국의 Joe Ossanna, Douglas Mcllroy, Dennis Ritchie 및 Ken Thompson의 연구실. 1971년에 처음 출시된 Unix는 당시의 기본 관행과 마찬가지로 전적으로 어셈블리 언어로 작성되었습니다. 1973년 Dennis Ritchie에 의해 선구적인 방식으로 C 언어로 업데이트되었습니다. Unix 고급 언어 구현이 가능해지면서 별도의 컴퓨터 플랫폼으로의 포팅이 편리해졌습니다.
Torvalds는 1990년대 가을에 헬싱키 대학을 방문하면서 Unix 과정에 등록했습니다. 이 과정에서는 Ultrix를 실행하는 MicroVAX 미니컴퓨터를 사용했으며 필요한 텍스트 중 하나는 Andrews S. Tanenbaum이 쓴 운영 체제: 설계 및 구현이었습니다. 교과서에는 Tanenbaum의 MINIX 운영 체제 사본이 포함되어 있습니다. Torvalds가 처음에 Unix에 공개된 것은 이 과정과 함께였습니다. 그는 1991년에 운영 체제에 관심을 갖게 되었습니다. 당시 교육용으로만 제한되었던 MINIX 라이센스에 좌절하여 그는 자신의 운영 체제 커널 작업을 시작했으며 이는 결국 Linux 커널이 되었습니다.
Torvalds는 MINIX에서 Linux 커널 개발을 시작했으며 MINIX용으로 작성된 소프트웨어는 Linux에서도 사용되었습니다. 나중에 리눅스가 재배되었고, 리눅스 커널의 개발이 리눅스 시스템에 나타났습니다. 또한 GNU 프로젝트를 통해 무료 코드를 새로운 OS와 함께 사용하는 것이 유익했기 때문에 GNU 응용 프로그램은 모든 MINIX 구성 요소를 대체했습니다. GNU GPL에 따라 라이선스가 부여된 코드는 호환되거나 동일한 라이선스에 따라 게시되는 한 다른 컴퓨터 기능에 다시 적용될 수 있습니다.
Torvalds는 상업적 배포를 금지하는 실제 라이센스에서 GNU GPL로 전환하기 시작했습니다. 개발자들은 Linux 커널을 사용하여 GNU 요소를 개발하여 무료이고 완전한 기능을 갖춘 운영 체제를 만들었습니다.
Linux 커널의 수석 관리자는 다음과 같습니다. 그렉 크로하트만 개발을 지도하는 사람. 자유 소프트웨어 재단의 전무 이사는 다음과 같습니다. 윌리엄 존 설리반 , 이는 차례로 GNU 구성 요소를 지원했습니다. 기업과 개인은 마침내 GNU가 아닌 타사 구성 요소를 개발합니다.
타사 구성 요소는 광범위한 작업으로 구성되며 사용자 라이브러리와 애플리케이션, 커널 모듈을 모두 포함할 수 있습니다. Linux 커뮤니티 및 공급업체는 커널, 비 GNU 구성 요소 및 GNU 구성 요소를 Linux 배포 방식의 추가 패키지 관리 소프트웨어와 함께 배포하고 결합합니다.
프로덕션 환경에서 Linux 채택은 1990년대 중반부터 취미생활자만이 사용하는 대신 슈퍼컴퓨팅 커뮤니티에서 시작되었습니다. NASA와 같은 조직에서는 고가의 컴퓨터를 Linux를 실행하는 저렴한 상용 컴퓨터 클러스터로 점점 더 교체하기 시작했습니다. 상용화는 휴렛팩커드가 쫓던 IBM과 델이 데스크톱 OS 시장에서 마이크로소프트의 독점에서 벗어나기 위해 리눅스 지원을 시작하면서 시작됐다.
Linux 시스템은 임베디드 시스템부터 사실상 모든 슈퍼컴퓨터에 이르기까지 오늘날 컴퓨팅에 완벽하게 사용되고 있으며 유명한 LAMP 애플리케이션 스택과 같은 서버 설치 분야에서 입지를 확보했습니다. 기업 및 가정용 데스크탑에서 Linux 배포판의 사용이 발전해 왔습니다.
또한 Linux 배포판은 맞춤형 Linux 배포판을 설치하여 여러 기기에 이동하고 Google에서 넷북용으로 개발된 ChromeOS를 게시하는 등 넷북 시장에서 유명해졌습니다.
리눅스 OS의 설계
다양한 오픈 소스 개발자들은 Linux 커널이 개발된 것이 아니라 자연 선택에서 진화했다는 점을 인정합니다. Linux 기반 시스템은 호환 가능한 Unix 계열 OS로, 1970년대와 1980년대 Unix에서 만들어진 원칙에서 공통 설계의 대부분을 파생했습니다. 이러한 시스템은 파일 시스템, 주변 장치 액세스, 네트워킹 및 프로세스 제어를 관리하는 모놀리식 커널인 Linux 커널을 적용합니다. 장치 드라이버는 커널과 직접 통합되거나 장치가 활성화된 동안 로드된 모듈로 포함됩니다.
설치된 Linux 시스템 구성 요소는 다음과 같습니다.
- ㅏ 부트로더 , 예를 들어 systemd-boot, SYSLINUX, LILO 및 GNU GRUB. 펌웨어 로그인을 한 후 컴퓨터를 켜면 컴퓨터에서 실행되어 리눅스 커널을 컴퓨터의 메인 메모리에 로드할 수 있는 프로그램입니다.
- 안 프로그램에 들어가다 , 기존 sysvinit 및 최신 Upstart, OpenRC 및 systemd와 같습니다. Linux 커널과 프로세스 트리 루트가 발표한 첫 번째 프로세스입니다. 즉, 모든 프로세스는 init에서 열립니다. 로그인 프롬프트 및 시스템 서비스(터미널 또는 그래픽 모드에서)와 같은 프로세스를 시작합니다.
- GNU C 라이브러리를 표준으로 사용하는 시스템에서 C 프로그램을 실행하려면 C 표준 라이브러리가 필요합니다. uClibc(uClinux용으로 개발됨), EGLIBC(Debian에서 한때 사용했던 glibc 포크) 및 musl과 같은 대안이 개발되었습니다. 그러나 처음 두 개는 현재 유지 관리되지 않습니다. Android는 C 라이브러리를 사용합니다. 바이오닉 .
- GUI 쉘은 Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME 및 KDE Plasma와 같은 광범위한 데스크탑 환경과 함께 패키지된 데스크탑 시스템에서 가장 유명한 사용자 인터페이스이지만 다양한 사용자 인터페이스를 사용할 수 있습니다.
- 가장 유명한 사용자 인터페이스는 다음과 같은 X Window System 개념을 사용하여 작동합니다. '엑스' .
- 이는 네트워크 투명성을 제공하고 시스템에서 활성화된 그래픽 애플리케이션을 다른 시스템에 표시하여 사용자가 해당 애플리케이션과 협력할 수 있도록 합니다.
- 그러나 특정 X Window System 확장은 네트워크에서 작동할 수 없습니다.
- 많은 X 디스플레이 서버를 X.Org 서버와 함께 사용할 수 있으며, 참조 구현이 가장 유명합니다.
또한 사용자 인터페이스를 쉘이라고 합니다. 이는 GUI(그래픽 사용자 인터페이스), CLI(명령줄 인터페이스) 또는 관련 하드웨어에 연결된 컨트롤이며 이는 임베디드 시스템에서 일반적입니다. 기본 사용자 인터페이스는 데스크탑 시스템의 그래픽입니다. 그러나 CLI는 터미널 에뮬레이터 창이나 격리된 가상 콘솔에서 사용할 수 있습니다.
명령줄 인터페이스 셸은 출력과 입력 모두에 텍스트를 활용하는 텍스트 기반 UI입니다. 주요 쉘은 원래 GNU 프로젝트용으로 설계된 Linux에서 사용되는 bash(Bourne-Again Shell)입니다. 여러 사용자 영역 부분을 포함하여 Linux의 거의 모든 하위 수준 구성 요소는 CLI를 독점적으로 사용합니다. 특히, CLI는 지연되거나 반복적인 작업 자동화와 호환되며 매우 쉬운 프로세스 간 통신을 제공합니다.
현재 Linux에는 비디오 입력 장치를 처리하기 위한 두 가지 커널 사용자 공간 API가 있습니다. TV 수신을 위한 DVB API와 라디오 및 비디오 스트림을 위한 V4L2 API입니다.
이 인프라는 다양한 장치의 다양성과 복잡성, 그리고 해당 API에서 관리하는 수많은 표준과 형식으로 인해 다른 장치에 더 잘 맞도록 발전해야 합니다. 더 나은 사용자 공간 장치 라이브러리는 장치가 지원하는 모든 형식에서 작동할 수 있는 사용자 공간 응용 프로그램을 갖는 성공의 열쇠이기도 합니다.
리눅스 OS의 사용
오픈 소스/무료 소프트웨어에 대한 여러 정량적 연구는 Linux를 구체적으로 조사한 많은 연구와 함께 안정성 및 시장 점유율과 같은 주제에 중점을 두고 있습니다. Linux 시장은 발전하고 있으며 Linux OS 시장 규모는 2019년 38억 9천만 달러에 비해 2027년까지 19.2% 성장하여 156억 4천만 달러에 이를 것으로 예상됩니다. 지지자와 분석가는 Linux의 연관적 성공을 자유로움, 저렴한 비용으로 꼽습니다. , 공급업체 종속으로부터의 안정성 및 보안.
W3Cook은 상위 1,000,000개의 Alexa 도메인을 활용하는 통계를 발표합니다. 2015년 5월 현재 웹 서버의 96.55%가 Linux를 사용하고, 1.73%가 Windows를 사용하고, 1.72%가 FreeBSD를 사용하는 것으로 추정됩니다.
웹 서버 통계에 따르면 2022년 5월 현재 Linux 시장 점유율은 데스크톱 컴퓨터에서 약 2.5%입니다. Microsoft Windows의 시장 점유율은 약 75.5%인 반면 macOS는 약 14.9%입니다.
안드로이드는 리눅스 커널 기반 스마트폰의 대표적인 운영체제로 자리 잡았다. 2022년 7월에는 인터넷을 사용하는 전 세계 스마트폰의 71.9%가 Android를 사용했습니다. 또한 안드로이드는 2013년 기준으로 태블릿 매출의 60% 이상을 차지하고 있는 유명한 태블릿 OS이다.
Linux는 수년간 영화 산업에서 선호되는 플랫폼이었습니다. Linux 서버에서 개봉된 최초의 대형 영화는 1997년의 타이타닉이었습니다. 그 이후 Industrial Light & Magic, Weta Digital, Pixar 및 DreamWorks Animation을 포함한 대규모 스튜디오가 Linux로 이전했습니다.
Linux 배포판은 여러 국가 및 지방 정부에서도 인기를 얻었습니다. 케랄라는 모든 공립 고등학교에서 시스템에 Linux를 사용하도록 의무화했습니다. 중국은 기술 독립을 달성하기 위해 Loongson 프로세서 제품군의 OS로 Linux를 독점적으로 사용합니다.
일부 지역에서는 공식 및 교육 기관에서 광범위하게 사용되는 Linux 배포판을 스페인에 통합했습니다. 또한 독일과 프랑스도 Linux 채택을 위한 조치를 취했습니다. 북한의 레드스타 OS는 2002년부터 개발된 페도라 리눅스 버전을 기반으로 한다.
리눅스 OS 작동
Linux 운영 체제는 여러 배포판과 변형의 핵심인 표준 설계를 따릅니다. 모든 Linux 배포판은 Linux 커널을 기반으로 하지만 다음과 같은 요소에 따라 다를 수 있습니다.
- 연결된 장치의 작동 방식을 관리하는 코드를 활용하는 장치 드라이버입니다.
- 커널이 고유한 파일 시스템에서 작동하는 방식을 관리하는 코드를 활용하는 파일 시스템 드라이버입니다.
- 프로그램이 커널을 통해 서비스를 요청하는 방법을 관리하는 코드를 활용하는 시스템 호출.
- Linux 커널을 부팅하고 로드합니다.
- 커널은 부팅된 후 모든 시스템 출력과 입력을 처리합니다. 시스템이 부팅되고 프로세스가 초기화될 수 있습니다.
- 시스템 프로세스가 부팅될 때 명령줄, 네트워크 서버 기능, 데스크톱 응용 프로그램 또는 모든 프로그램이나 응용 프로그램에서 대화형으로 입력한 명령을 포함하는 프로세스에 시스템을 활용할 수 있습니다.
커널은 Linux를 실행하는 모든 시스템이 공통적으로 갖고 있는 것입니다. Linux는 다음을 통해 작동합니다.
사용자 경험은 Linux 시스템이 어떻게 활용되는지에 따라 크게 달라질 수 있지만 커널은 일부 컴파일 차이점과 구성 차이를 제외하면 거의 동일할 수 있습니다. 예를 들어, 독특한 사용자 경험을 제공하는 Linux의 몇 가지 사용 사례는 다음과 같습니다.
Linux는 데스크탑 환경에서 GUI로 사용할 때 GUI 기반 운영 체제와 매우 유사하게 작동합니다. 아이콘을 눌러 애플리케이션과 기타 다양한 리소스를 시작할 수 있으며, 트랙패드나 마우스를 사용하여 파일을 삭제, 복사 또는 이동할 수 있습니다.
리눅스 배포판
리눅스는 개발 초기부터 GNU GPL을 만들어낸 자유 소프트웨어 재단(Free Software Foundation)의 카피레프트 조항을 받아들였습니다. GPL은 수정 및 무료로 제공되는 모든 항목은 자유롭게 배포되어야 한다고 설명합니다.
배포판 또는 배포판이라고도 하는 수백 가지 Linux 버전을 사용할 수 있습니다. 일반적으로 유통업체는 특정 목표, 목표 시장, 기능 또는 철학을 정의하여 팩을 통해 차별화됩니다.
보안, 게임, 데스크탑, 서버 또는 Raspberry Pi 시스템과 같은 임베디드 장치와 같은 특정 대상 기능을 위해 만들어진 많은 배포판이 있습니다. 거의 모든 최신 배포판은 바로 사용할 수 있고 사전 컴파일되어 있으며, Gentoo Linux와 같은 다른 배포판은 모든 사용자가 설치를 시작하는 동안 시스템 구성을 사용하기 위해 로컬로 컴파일할 수 있는 소스 코드로 구성되어 있습니다.
리눅스 OS의 장점과 단점
Linux를 사용하면 얻을 수 있는 몇 가지 이점이 아래에 나열되어 설명되어 있습니다.
Linux의 몇 가지 단점은 다음과 같습니다.