오경석의 개발노트

Linux_정의 및 특징 본문

소프트웨어, 운영체제/Linux

Linux_정의 및 특징

OHSAYU 2023. 11. 28. 10:37

Linux :  1991년 핀란드의 리누스 토발즈가 개발한 운영체제 커널. 당시에는 개인용 컴퓨터가 점점 보급되면서 운영체제의 필요성이 대두되었고, 특히 유닉스(UNIX)와 같은 운영체제는 비싼 가격과 소스코드의 비공개로 인해 개인 사용자들에게는 접근이 어려웠다.

    리눅스 토발즈는 이러한 상황에서 개인용 컴퓨터에서도 사용할 수 있는 무료 운영체제를 개발하고자 Linux 커널을 개발하여 인터넷상에 공개했다. 이후 많은 개발자들이 Linux 커널에 참여하면서 오픈소스 커뮤니티가 형성되었고, Linux 운영체제는 현재까지도 계속해서 발전하고 있다. Linux는 오픈소스 기반의 운영체제로서 무료로 사용할 수 있다.

    리눅스는 엄밀히 말하면 리눅스 커널(Linux Kernel)을 의미한다. 커널은 운영체제의 핵심적인 기능을 수행하는 운영체제의 한 부분이다. 즉, 리눅스는 커널의 형태로 만들어져 있어 운영체제가 수행해야 하는 핵심 기능만 정의돼 있으며, 이외의 부분은 사용자가 자신의 용도에 맞게 커스터마이징하여 사용할 수 있다.

    안정성과 보안성이 뛰어나기 때문에 서버와 같은 대규모 시스템에서 많이 사용된다. 리눅스는 운영체제들 중에서 가장 안전하다고 평가되는 운영체제다. 그 이유 역시 오픈소스 때문인데, 누구나 코드를 검토하고 버그가 없는지 확인할 수 있기 때문에 계속해서 취약점을 발견, 개선할 수 있다. 리눅스는 메모리를 비교적 낭비하지 않으면서 성능을 최대한으로 끌어올릴 수 있다. 따라서 개인용 컴퓨터는 비중이 작지만 서버 시장에서는 96% 이상이 리눅스를 사용하는 주도적인 운영체제이다. 가장 빠른 상위 500대 슈퍼컴퓨터에서 유일하게 사용하는 OS다. Linux 재단에 따르면 퍼블릭 클라우드 컴퓨팅 워크로드의 90%, 스마트폰의 82%, 임베디드 기기의 62%, 슈퍼 컴퓨터 시장의 99%가 Linux로 작동한다.

    Linux의 가장 큰 장점은 오픈소스이다. Linux는 GPL(GNU General Public License)를 사용하여 출시되었다. 따라서 누구나 소프트웨어를 실행, 연구, 공유, 수정할 수 있다. 수정한 코드를 재배포하거나 판매할 수도 있으며, 이 경우 반드시 동일한 라이선스를 사용해야 한다. 

    리눅스는 또한 일반적으로 운영 체제가 펌웨어로 빌드되면서 시스템에 높은 수준으로 맞추어진 임베디드 시스템에서도 동작한다. 여기에는 라우터, 자동화 컨트롤, 스마트 홈 기술(예: 구글 네스트), 텔레비전(삼성전자, LG전자의 스마트TV는 각각 타이젠과 웹OS를 사용함), 자동차(예: 테슬라, 아우디, 메르세데스-벤츠, 현대자동차, 도요타는 모두 리눅스에 의존함), 디지털 비디오 레코더, 비디오 게임기, 스마트워치가 포함된다. 팰컨 9와 드래곤 2의 항공 전자기기는 커스터마이즈 된 리눅스 버전을 사용한다.

 

 

Linux 포함 요소

○ 커널

    OS의 기본 구성 요소. 커널이 없으면 OS는 작동하지 않는다. 커널은 시스템 리소스를 관리하고 하드웨어와 통신하며 메모리, 프로세스, 파일 관리를 담당한다.

 

시스템 사용자 공간

    구성 및 소프트웨어 설치와 같은 시스템 수준 태스크를 위한 관리 레이어. 여기에는 셸이나 커맨드라인, 데본, 백그라운드에서 실행되는 프로세스와 데스크톱 환경이 포함된다.

 

애플리케이션

    태스크를 수행할 수 있도록 지원하는 소프트웨어 유형. 애플리케이션에는 데스크톱 툴 및 프로그래밍 언어에서 다중 사용자 비즈니스 제품군에 이르는 모든 것이 포함된다. 대다수의 Linux 배포판은 추가 애플리케이션을 검색하고 다운로드할 수 있도록 중앙 데이터베이스를 제공한다.

 

 

특징

1. 멀티유저, 멀티태스킹 운영체제

 - 멀티유저 기능은 여러 사용자가 동시에 동일한 시스템에 접근 가능

 - 멀티태스킹은 여러 개의 태스크를 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있는 기능

 - 가상 터미널 환경으로 하나의 모니터에 여러 개의 가상 화면(가상 콘솔)을 두어 화면마다 다른 작업을 실행

 

2. 다중 스레드를 지원하는 네트워크 운영체제

 - 하나의 프로세스 내에서 여러 개의 네트워크 작업을 동시에 처리할 수 있기 때문에 강력한 네트워크 지원이 가능

 - 네트워크 서버로 사용이 가능하며 인터넷과 이더넷에 안정적으로 연결이 가능

 - 웹 브라우저, 메일, 뉴스, 웹 서버 등의 모든 인터넷 서비스 기능을 갖춤

 

3. 여러 종류의 파일 시스템을 지원하는 운영체제

 - 리눅스의 기본 파일 시스템인 ext2, ext3, ext4, DOS의 FAT16, Windows의 FAT32, NTFS, 네트워크 파일 시스템 SMB, CIFS, NFS 등도 지원

 

4. 리눅스는 완벽하게 유닉스와 호환 가능

 - 리눅스는 POSIX(Portable Operating System Interface) 규격을 따르고 있다.

 - POSIX는 유닉스 운영체제에 기반을 두고 있는 표준 운영체제 인터페이스

 - 리눅스는 POSIX 표준화를 기반하기 때문에 유닉스 소스코드를 전혀 사용하지 않고 개발

 - POSIX 규격을 따르기 때문에 유닉스용 프로그램은 별도의 수정 없이 리눅스에서 동작

 

5. 리눅스는 PC용 운영체제보다 안정적

 - 리눅스는 매우 안정적이며 충돌이 잘 발생하지 않음

 - 일반 PC는 업무가 끝나면 전원을 끄지만 리눅스는 네트워크 사용을 전제로 설계되었기에 특별한 상황을 제외하고 항상 켜 놓아도 안정적으로 운영

 - 리눅스의 서버 가동시간은 매우 높고 가용성은 약 99.9%

 - 리눅스 시스템은 네트워크 기반하의 멀티유저, 멀티태스킹이 가능하여 많은 작업자가 동시에 사용해도 안정적인 시스템 운영이 가능

 - 시스템을 재부팅 하지 않고 유지보수 가능

 

6. 하드웨어 기능을 효과적으로 사용

 - 다른 운영체제보다 적은 양의 메모리 사용

 - SWAP 방식을 통해 RAM이 부족한 경우 Swap 영역을 늘려 메모리의 효율성을 높일 수 있다

 - 윈도우는 새로 출시가 될 때마다 기술 사양이 더 이상 최신 OS를 실행하기에 적합하지 않은 등 하드웨어 이식성에 대한 이슈가 있다.

 

7. 오픈소스 운영체제

 - 많은 인재가 확보되어 있기 때문에 우수한 소프트웨어 개발이 가능하고 여러 배포판 개발 업체들이 있어 사용자에게 넓은 선택권이 주어짐

 - 다양한 배포판들이 존재하여 운영체제뿐만 아니라 여러 가지 유틸리티 프로그램과 응용 프로그램들을 사용자 편의에 맞춰 무료로 사용

 

8. 공개 운영체제이기 때문에 문제점 발생시 기술 지원 한계

 - RHEL, SUSE와 같은 몇몇 엔터프라이즈용 리눅스들은 기술 지원이 유료로 제공되고 있으나 대부분은 예상치 못한 오류 발생 시 개발자들의 기술 지원을 직접적으로 받는 것이 불가능

 

9. 한글 지원 미흡

 - 배포판마다 별도의 한글 지원 패키지를 설치한 후 사용

 

10. 높은 보안성

 - 오픈소스 특성상 시스템에 부족한 부분과 보안 취약성을 여러 사람들이 파악하고 빠른 대처로 보안성이 높음

 

 

출처 : 이기적 리눅스마스터 2급

출처 : https://velog.io/@ryucherry/OSLinux-%EB%A6%AC%EB%88%85%EC%8A%A4%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

 

[OS/Linux] 리눅스를 사용하는 이유

리눅스는 컴퓨터 운영체제의 한 종류이자 커널 자체를 의미한다.리눅스 커널 자체가 유닉스의 미닉스(Minix)를 참고하여 개발 되었습니다.기족의 유닉스는 높은 하드웨어 스펙을 기반으로 복잡

velog.io

출처 : https://namu.wiki/w/Linux/%EC%BB%A4%EB%84%90

 

Linux/커널 - 나무위키

커널 설정을 생성한다. 크게 두 가지의 방법이 있다. 이미 Linux를 실행하고 있다면, 현재의 커널 설정을 베이스로 할 수 있다. zcat /proc/config.gz > .config 명령어로 현재 커널 설정을 덤프하는 방법이

namu.wiki

출처 : https://namu.wiki/w/Linux

 

Linux - 나무위키

Linux의 GUI 환경을 구성하는 요소로 디스플레이 서버, 디스플레이 매니저, Windows 매니저, 데스크톱 환경 등이 있다. 커널: 하드웨어와의 통신을 담당한다.디스플레이 서버[18]: 클라이언트와의 입

namu.wiki

출처 : https://contents.premium.naver.com/3mit/wony/contents/221123204036431dx

 

리눅스(Linux), 들어봤지만 잘 모르는 개념

안녕하세요. 워니예요 오늘은 리눅스에 대해 알아볼게요😀 리눅스가 뭐야? 🤔 리눅스는 운영체제(OS)예요. 우리가 흔히 아는 윈도우, 맥OS와 같은 거죠. 다만 윈도우, 맥과 달리 오픈소스 운영체

contents.premium.naver.com

출처 : https://www.codestates.com/blog/content/%EB%A6%AC%EB%88%85%EC%8A%A4-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4

 

리눅스 기본 명령어 모음 | Linux 의미, 기능, 작성 예시

리눅스(Linux)는 핀란드의 소프트웨어 엔지니어 리누스 토르발즈(Linus Torvalds)가 유닉스(Unix)에 기반하여 만든 운영체제입니다. 리눅스를 사용하는 이유는 무엇인지, 그리고 리눅스 기본 명령어에

www.codestates.com

출처 : https://www.redhat.com/ko/topics/linux/what-is-linux

 

Linux(리눅스)란?

Linux는 OS의 기본 구성 요소인 커널과 함께 번들로 제공되는 툴, 애플리케이션, 서비스로 구성되는 소스 코드가 공개된 오픈소스 소프트웨어 운영 시스템을 뜻합니다.

www.redhat.com

출처 : https://www.redhat.com/ko/topics/linux

 

Linux의 이해: 리눅스 개념 및 리눅스 버전 등을 설명합니다.

Linux는 베어메탈에서 가상 환경, 클라우드, 컨테이너 등 모든 IT 워크로드와 배포를 위한 안정적인 기반이며, GNU 제너럴 퍼블릭 라이센스를 사용하여 출시되었습니다.

www.redhat.com

출처 : https://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4

 

리눅스 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 리눅스(Linux)개발자리누스 토르발스 (커뮤니티 주체)프로그래밍 언어C, 어셈블리어OS 계열유닉스 계열상태사용중,개발 중소스 형태오픈 소스최초 버전 출시일19

ko.wikipedia.org

 

Comments