본문 바로가기
Linux/Linux 이해

1. Linux(리눅스) 이해 - 개요

by ahsung 2022. 7. 17.

  

해당 카테고리 포스팅은 기초적인 용어 정의와 내용도 복기하고 다루지만,

학부생수준의 OS 지식을 전제로 진행합니다.

 

 

들어가기 앞서,

컴퓨터 공학(이하 CS)에서 여러 용어들은 명확한 차이가 있으면서도 혼용되어 사용됩니다. 

큰 틀에서는 무방한 경우가 다수입니다.

 

하지만 이는 이미 차이를 이해하고 있을 때 괜찮은 것이지

학습과 이해를 목표로한다면 용어의 이해가 먼저 선행되어야합니다.

 

Program vs Software vs Application

일반적으로 3가지 용어는 평상시 혼용되어 사용하며 큰 문제 또한 없습니다.

하지만 OS의 구성들은 위 3가지를 항상 명확하게 구분지을 수 없는 경우가 다수 존재하며

같은 것을 보고도 관점에 따라 위 3가지중 어떤 것으로 정의할 것인지 달라질 수 있습니다.

 

그렇기 때문에 program, software, application에 대한 이해가 명확히 필요합니다.

 

https://www.javatpoint.com/program-vs-software

 

Difference between program and software - javatpoint

Difference between program and software with list of top differences and real time examples including images, dog, cat, gross, net, java, database, science, general, english etc.

www.javatpoint.com

https://www.geeksforgeeks.org/difference-between-software-and-application/

 

Difference between Software and Application - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

https://teamtreehouse.com/community/the-difference-between-application-program-software

 

The difference between application, program, software? (Example) | Treehouse Community

Hello! I am a little bit confused with these 3 words, application, program, software. What realy is the difference between them

teamtreehouse.com

 

 

 

Linux란 무엇인가

Linux는 GNU 프로젝트를 따르는 대표적은 Unix 계열 운영체제 커널 소프트웨어입니다.

 

GNU Project - Wikipedia

Free software project Not to be confused with the software collection developed by the GNU Project, GNU. GNU mascot, by Aurelio A. Heckert[1] (derived from a more detailed version by Etienne Suvasa)[2] The GNU Project ()[3] is a free software, mass collabo

en.wikipedia.org

Linux 커널을 사용한 다양한 배포판 운영체제들이 존재하며 현대 서버쪽에서 압도적으로 채택되어 사용되고 있습니다.

 

 

커널이란?

커널은 컴퓨팅 하드웨어 자원을 추상화하고

프래그램 수준에서 하드웨어 자원에 접근할수 있도록 인터페이스를 제공하고 하드웨어를 컨트롤하는 시스템 소프트웨어입니다.

 

자세한 커널의 기능과 역할에 대한 설명은 생략하겠지만,

하드웨어를 추상화한 소프트웨어라는 것을 이해해야 좋습니다.

 

커널의 필요성

애플리케이션들은 하드웨어에 접근하기 위해서 하드웨어를 깊게 이해할 필요가 없으며 커널이 추상화한 개념을 사용함으로서 단순하게 구현되고 구동될 수 있습니다.

 

또한 커널이라는 (신뢰할수 있는)하나의 소프트웨어가 하드웨어를 독점함으로서 여러 애플리케이션으로부터 컴퓨팅 하드웨어를 안전하게 보호할 수 있습니다. (커널모드, 유저모드 등등 여러 솔루션등이 있음)

 

반대로 말하면 OS 또는 커널의 보안 취약점은 그 무엇보다 위험하므로

특정 리눅스 배포판 버전에 보안 취약점이 발생하였다면 보완된 패치버전으로 업그레이드를 하거나 이미 EOL된 버전이라면 새로운 OS 설치가 필요합니다.

 

 

 

 

댓글