Back-end/Linux

리눅스 운영체제란? Linux

cheersHena 2022. 3. 30. 00:34
반응형

운영체제란?

컴퓨터와 같은 기계장치인 하드웨어와 컴퓨터에 설치되는 모든 SW를 관리하는 실행관리자다.

사용자에게 컴퓨터를 효율적으로 사용할 수 있도록 한다 

처리하고자 하는 과정의 작업순서를 정하고 중앙처리장치CPU와 주기억장치 RAM, 주변장치인 키보드,모니터, 마우스, 스피커 등.. 의 여러 하드웨어 시스템에게 일련의 작업순서를 할당한다.

프로그램 실행, 파일접근, 응용프로그램 구동, 모니터 및 메모리 저장장치 제어, 명령해석 등과 같은 임무를 수행하도록 CPU에게 지시. 

 

윈도우  Windows

마이크로소프트사에서 제공하는 윈도우 계열 운영체제가 시장을 점유율을 거의 독점하고 있는 운영체제다.

윈도우의 가장 강력한 강점은 응용 소프트웨어의 호환성이다.

시중에서 배포되는 소프트웨어 대다수가 윈도우 운영체제 기반에 제공되고 있다. 

리눅스란?  Linux

핀란드 헬싱키 대학에서 운영체제를 공부하던 리누스 토발즈에 의해 개발 됨. 

처음부터 소스코드를 모두 공개하는 무료 오픈소스 운영체제.

배포판에 포함된 기본 커널을 사용자가 직접 최신의 커널로 업그레이드 할 수 있음. == 커널 업그레이드, 커널 컴파일

최근 배포판은 안정되어 과거에 비해 커널 업그레이드에 대한 부담은 줄었음.

 

리눅스의 구성요소

1. 커널 Kernel

리눅스 운영체제의 핵심.

운영체제와 사용자 사이에는 커널과 셸이 존재한다. 운영체제에서 사용하는 언어와 사용자 언어가 다르기 때문에 사용자가 명령을 입력하면 셸에서 명령얼 받아 운영체제가 사용할 수 있는 언어로 셸을 통해 번역을 수행한다. 이렇게 번역된 언어를 커널로 전달하고 커널은 해당하는 작업을 수행한다. 즉, 커널이 실제로 운영체제를 운영하는 놈이다. 

 

2. 셸 Shell 

사용자와 커널의 중간에서 사용자의 명령어를 해석하여 커널에게 전달한다. 일종의 명령어 해석기다. 

커맨드라인형(명령줄) /  그래픽형 두 종류로 나뉨. 커멘드 라인 셸은 운영체제 상에서 명령줄 인터페이스(CLI)를 제공하고, 그래픽 셸은 그래픽 사용자 인터페이스(GUI)를 제공한다. 커널이 수행하는 작업은 실제로 사용자에게 보여지지 않고 커널이 작업한 결과값이 셸에 의해 사용자가 이해할 수 있는 언어로 번역되어 화면에 출력되는 것이다.

-리눅스에서 대화형 사용자 인터페이스를 의미

-사용자가 입력하는 명령어를 이해하고 실행하는 역할

-운영체제 바깥 계층에 위치

-사용자와 커널의 의사소통 담당

-cshell, bourneshell, vashshell, tcshell 등의 다양한 종류가 있음

 

3. 사용자 프로그램 Application 

리눅스 환경에서 사용하는 프로그램. 웹서버, FTP, DB 서버 등 .. 

 

 

사용자 > 프로그램 > 셸 > 커널 > 하드웨어

리눅스 특징

 

1. 독립된 플랫폼

거의 모든 CPU를 완벽하게 지원하여 여러 환경에서 구동가능한 독립된 플랫폼을 갖는 범용 운영체제.

유닉스와 마찬가지로 UID, GID를 가지며 USER, GROUP, OTHER 로 구분하여 각 디렉터리과 파일의 접근여부에 관한 권한을 제어함. 

이와 같은 특징으로 동일 그룹안의 USER는 서로 파일을 공유할 수 있고 디렉터리 또는 파일 관할 권한을 부여할 수 있음.

리눅스 시스템을 사용하는 사용자 계정도 관리자(ROOT)와 일반사용자(USER)로 구분하여 권할별 보안관리라 가능.

여러개의 파일 시스템이 존재하기 때문에 각각의 파일시스템의 성격에 맞도록 ID를 부여할 수 있음.

 

2. 빠른 업그레이드

윈도우 운영체제와 같은 비공개형 운영체제는 사용중 버그가 발견되어도 사용자는 수정할 수 없고, 오직 마이크로 소프트사에서 공식적으로 패치버전을 설치해야 하며 새 버전 배포까지 상당한 시간이 걸린다.

리눅스는 오픈 운영체제로 커널 및 프로그램에 대한 버그 및 업그레이드가 전 세계 수많은 개발자들에 의해 개발되고 수정되기 때문에 업그레이드 속도와 버그 해결이 신속하게 이루어져 사용자에게 빠른 업그레이드의 편의성을 제공한다.

 

3. 강력한 네트워크 지원

 리눅스 시스템을 네트워크 서버로 사용하기 위해서는 간단한 몇가지 환경설정(IP주소, 도메인네임, 넷마스크, 게이트웨이 등) 만으로도 곧바로 네트워크 서버를 사용할 수 있고 인터넷이나 이더넷에 안정적으로 연결이 가능하다. 또한 클라이언트 프로그램 지원 뿐만 아니라 웹서버, DB서버, 메일서버, 뉴스서버, 네임서버 등의 네트워크 서버기능도 제공하고 있어 강력한 네트워크를 지원한다.

 

4. 멀티태스킹(다중작업)과 가상 터미널 환경 지원 

멀티태스킹은 동시에 여러 작업을 처리하는 개념으로 예를들면 웹브라우저를 통해 인터넷을 검색함과 동시에 다른 창에서는 문서를 작성하는 등 여러 시스템 자원의 동시 사용을 의미한다. (멀티태스킹 기능은 윈도우 환경에서도 가능)

가상 터미널 환경은 하나의 모니터에 여러개의 가상 화면을 두는 기능을 의미한다. 리눅스는 기본적으로 6개의 가상 콘솔이 설정되어 있어 간 창마다 다른 작업을 진행할 수 있다. 

 

5. 유닉스와 호환성

과거 네트워크를 주로 사용하고자 할 경우의 운영체제는 유닉스 또는 윈도우 NT중 하나를 선택하여 사용해 왔다.

유닉스는 워크스테이션용 운영체제로 대학이나 연구기관, 기업 등에서 많이 사용하고 있지만 뛰어난 성능 및 안정성에 비해 높은 비용의 시스템으로 개인이나 중소규모의 기업에서 사용하기에는 다소 어려움 존재함. 이런 경우 리눅스를 채택하면서도 유닉스에 사용하는 프로그램 등을 별도의 수정 없이도 사용이 가능함.

 

6. 공개형 오픈 소스 운영체제

리눅스가 보다 빠르게 정착할 수 있었던 계기는 비공개형 윈도우 운영체제와 달리 오픈소스로 공개되어 있어 누구나 소스코드를 변경, 개발, 재배포 할 수 있어서 이다. 전 세계 프로그래머들에 의해 안정적이고 강력한 운영체제로 진화되어 가고 있다.

예전부터 사용 해왔던 리눅스는 거의 무료라 점과 유닉스와의 호환성을 장점으로 오늘날 상용화된 운영체제로 발전함.

이러한 계기로 상업용 리눅스도 출시되었지만 유닉스의 높은 가격대에 비해 저렴한 비용으로 엔터프라이즈 환경에서 가장 안정적이고 뛰어난 성능을 가지며 리눅스 업체로부터 유지보수 등의 지원을 받을 수 있게 되었다.

 

7. 다중 사용자 환경 

터미널이나 네트워크를 통해서 한 시스템에서 여러 사용자가 많은 프로그램을 동시에 사용할 수 있는 다중 사용자 환경을 지원.

즉, 저렴한 비용으로 많은 작업을 동시에 수행할 수 있다. 

구형 PC등에서도 효율적으로 리눅스 전용 컴퓨터로 사용할 수 있고 네트워크 서비스 기능도 운영할 수 있을 만큼의 기능을 제공하므로 저급 사양의 개인용 PC(집에서 놀고있는 컴퓨터라던지) 에서도 큰 문제 없이 인터넷과 서버 구축등이 가능하다. 

 

 

 

반응형