Linux

Linux 01. Linux 란?

shin96bc 2022. 5. 25. 09:30

(1) Linux(리눅스)의 정의

     1) Linux는 컴퓨터 운영체제 중 하나이며, 다중 사용자, 다중 작업(멀티테스킹, 다중 쓰레드)을 지원하는

         네트워크 운영체제(NOS)입니다.

     2) 1991년 핀란드의 헬싱키 대학에서 리누스 토발즈에 의해 개발되었고, 독점되거나 배타되지 않는

         프리 소프트웨어 중 하나로 GNU 프로젝트에 따라 쉽게 이용할 수 있게 배포되고 있습니다.

     3) Linux는 개인용 컴퓨터부터 슈퍼 컴퓨터는 물론 휴대전화, 스마트TV 등 임베디드 시스템까지 

         광범위하게 이용되고 있습니다.

     cf) Linux( Linux is not Unix ) 는 리눅스는 유닉스가 아니다 의 약자이다.

     cf) NOS( Network Operation System ) 는 사람이 컴퓨터를 사용할 수 있도록 하는 프로그램 중

          하나 입니다. 

 

(2) Linux의 장점

     1) Unix와 완벽하게 호환가능합니다.

     2) 공개 운영체제 입니다.

     3) PC용 OS보다 안정적 입니다.

     4) 무료입니다.

     5) 하드웨어의 기능을 알차게 사용할 수 있습니다.

     6) 강력한 네트워크를 구축할 수 있습니다.

     7) 보안 기능 강력합니다.

     8) 인터넷의 모든 기능을 지원합니다.

     9) 개발 환경이 풍부합니다.

 

(3) Linux의 단점

     1) 공개 운영체제이기 때문에 문제 발생시 보상 받을 수 없습니다.

     2) 한글을 입출력하는데 어려움이 있습니다.

     3) 기술지원이 부족합니다.

     4) 특정 하드웨어에 대한 자원이 부족합니다.

     5) 사용자의 숙련된 기술이 요구됩니다.

 

(4) Linux를 사용하는 이유

     1) 모든 소스가 오픈되어 있어 광범위하게 사용됩니다.

     2) 다중 사용자, 다중 작업을 지원하기 때문에 시스템적으로 서버를 운영하기에 적합합니다.

     3) 무료이기 때문에 기업에서 많이 사용되고 있어서 배우려고 하는 목적도 있습니다.

 

(5) Linux 배포판

출처: https://hongci.tistory.com/5

     1) Linux 배포판은 Linux Kernel(리눅스 커널)과 자유 소프트웨어(GNU 소프트웨어 등)로 구성된 

         운영체제를 말합니다.

     2) Linux Kernel이란 Unix 계열 운영체제의 커널입니다.

     3) Kernel이란 운영체제의 핵심 부분으로서, 운영체제의 다른 부분 및 응용프로그램 수행에 필요한

         다양한 서비스를 제공합니다.

     4) GNU 소프트웨어란 GNU 프로젝트를 통해 개발된 유닉스 호환이 자유로운 소프트웨어입니다.

     5) GNU란 GUN는 Unix가 아니다( Gnu is not Unix )의 약자이고, Unix를 완벽하게 호환하며,

         사용가능한 모든 이가 자유롭게 사용할 수 있도록 작성한 소프트웨어 시스템입니다.

 

(6) Linux의 구조

출처: https://velog.io/@sji7532/Linux-Linux-%EA%B8%B0%EC%B4%88%EC%99%80-%EB%AA%85%EB%A0%B9%EC%96%B4

     1) 커널( Kernel )

          <1> 프로그램 실행과정에서 가장 핵심적인 연산이 이루어지는 부분으로 코어, 리눅스라고 부릅니다.

          <2> 하드웨어를 직접 제어하고, 프로세스 관리, 메모리 관리, 파일시스템 관리 등을 수행하는 

                  운영체제의 핵심으로, 사용자가 실행시키는 응용프로그램( Application )과 하드웨어 사이의

                  관리자 역할을 수행하며 쉘과 연관되어 쉘에서 명령하는 작업을 수행하고 그 결과를 쉘에

                  보내는 일을 합니다.

 

     2) 쉘( shell )

          <1> 쉘은 운영체제에서 사용자가 입력하는 명령을 대신 해석해 커널에 전달, 실행해주는

                 프로그램입니다.

          <2> 쉘은 사용자가 입력한 문자열을 해석하고 해당하는 명령어를 찾아서 커널에 작업을

                 요청하게 됩니다.

          <3> 그리고 커널에서 작업을 수행한 결과를 다시 쉘로 보내면 쉘은 그 결과를 유저에게

                 알려주는 형식입니다.

          <4> 쉘의 종료에는 MacOs의 bash, C Programming 스타일의 csh 등이 있습니다.

 

     3) 응용프로그램( Application )

          <1> 리눅스는 각종 프로그래밍 개발도구, 문서 편집도구, 네트워크 관련 도구 등 매우 다양한

                응용프로그램을 제공한다.

                (Editor, 통신프로그램, X윈도우, 웹서버, DB서버 등)

 

 

참고자료:

https://hongci.tistory.com/5

 

https://velog.io/@sji7532/Linux-Linux-%EA%B8%B0%EC%B4%88%EC%99%80-%EB%AA%85%EB%A0%B9%EC%96%B4

'Linux' 카테고리의 다른 글

Linux 02. Linux 의 명령어  (0) 2022.05.26