질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

리눅스의 개념과 자격증에 대한 간단한 소개

작성자 정보

  • 김흥수 작성
  • 작성일

컨텐츠 정보

본문

운영체제의 작동 과정과 운영체제의 개념

 

하드웨어를 활성화시키고 관리하기 위한 운영체제는 여러 계층으로 존재하고 작동합니다.

 

하드웨어를 초기화 시키고 동작시키기 위한 기능인 부팅을 하도록 부트로더라는 부분이 있고, 부트로더 이후 부팅되는 과정과 계속적인 하드웨어 자원을 관리하는 커널, 그리고 커널 위에서 사용자와 시스템 사이를 중재하고 대화를 가능하게 하는 인터페이스 부분인 쉘이 있습니다.

 

커널은 사용자에게 완전히 숨겨져 있어서 잘 알기 어렵지만 우리가 흔히 사용하는 윈도우 부팅과정에서 지렁이 화면이라고 불리는 부분이 바로 커널입니다.

 

쉘이 동작하도록 하기 위해서 각종 이미지들을 메모리 특정 번지에 옮기는 로딩작업을 진행하죠.

 

이렇게 부팅이 끝나면 사용자에게 입력을 받는 인터페이스인 쉘이 동작합니다.

 

윈도우에서 GUI로 마우스 입력을 받거나 DOS나 UNIX 또는 리눅스에서 커맨드를 입력 받는 과정이 모두 쉘입니다.

 

명령어를 치거나 클릭을 해서 응용 프로그램을 실행할  수 있지요.

 

요약하자면, 운영체제는  커널 + 쉘 + 응용 프로그램으로 구성되어 있다고 할 수 있습니다.

 

응용프로그램 중에서 꼭 필요한 것들은 운영체제에서 자체적으로 제공하기 때문에 큰 범주에서 운영체제란 응용 프로그램을 포함하고 있는 것입니다.

 

 

 

리눅스란? 리눅스의 정의, 개념

 

우리가 이야기하는 리눅스(Linux)는 정확히 말해서 리눅스 커널 부분입니다.

 

일반적으로 리눅스를 생각할 때, 시스템을 부팅하고 하드웨어 자원들을 관리해주는 역할을 하고 그 위에 응용 프로그램을 돌릴 준비를 해주는 부분을 떠올리는데 이게 바로 리눅스 커널입니다.

 

하지만 정확한 리눅스라는 운영체제에 대한 정의와 개념은 리눅스 커널이 아닌 리눅스 커널 + 쉘 + 유틸리티(응용프로그램) 입니다.

 

리눅스 운영체제를 정확히 말하는 용어는 GNU/Linux (GNU/리눅스)라고 합니다.

 

리눅스 커널은 유닉스를 간단하게 만든 미닉스(minix)라는 프로그램의 클론(Clone)입니다.

 

리눅스의 개발자로 알려진 리누즈 토발즈가 헬싱키 대학 실습 시간에 교수가 만든 미닉스라는 프로그램의 소스 코드를 공개해서 쓰자고 주장했지만, 교수가 반대해서 직접 커널을 개발하였고, 인터넷에 배포하게 된 것입니다.

 

배포 이후에 전세계 해커들이 개발에 참여해 직접 소스를 제공하면서 리눅스는 엄청난 발전을 거뒀습니다.

 

운영체제를 개발하는 것은 쉽지 않습니다.

 

만약 커널만 개발하려 한다면 간단합니다.

 

특정 머신에 맞는 어셈코드와 하드웨어 등을 알고 메모리 관리, 파일 시스템 관리, 프로세스 스케쥴링 등을 구현하면 되지요.

 

그러나 계속 말씀 드렸듯이 운영체제는 커널에서 끝이 아닙니다.

 

가장 난적은 라이브러들입니다.

 

커널을 개발 했더라도, 컴파일러와 어셈블러 링커 디버거를 개발해야 하고(사실 이것은 크로스 컴파일러로 개발하면 됨), 각종 라이브러리들을 제공해야 합니다.

 

그래야 운영체제를 쓸 수 있도록 하는 준비가 되는 것이구요.

 

또한 개발을 했더라도 지적재산권(특허침해)과 관련된 문제가 생길 수 있으며, 가장 중요한 사용자 수도 문제가 될 수 있습니다.

 

리눅스가 지금처럼 널리 알려질 수 있었던 이유 중 하나는 인터넷을 통한 해커들의 참여가 활발했기 때문에 지속적으로 커널이 업데이트 되었고, 이에 각종 드라이버 및 라이브러리들이 빠른 시일 안에 해결 되었던 것입니다.

 

그리고 사용자가 늘어나면서 각종 응용 프로그램 및 유틸리티들이 기하 급수적으로 늘어나게 되었구요.

 

마이크로소프트가 독점이라고 해서 많은 말이 나오고 있지만, 빠른 시일 안에 많은 부분을 한 기업 내에서 해결하고 있다는 것 자체는 대단히 높이 살만 합니다.

 

특히 라이브러리 문제가 발생하지 않도록 많은 부분을 제공하고 있기도 하구요.

 

 

 

리눅스의 활용

 

그럼 리눅스는 어떻게 활용할 수 있을까요?

 

리눅스 자체는 운영체제 입니다.

 

응용 프로그램이 없다면 단순히 하드웨어를 깨어 있게 할 뿐입니다.

 

하지만 여러 가지 서비스를 제공할 수 있는 잠재력을 가지고 있습니다.

 

많은 사람들과 회사들은 운영체제 위에서 서버(메일 서버, 웹 서버, 파일 서버)를 구축/활용하고 있으며, 워드로 문서 작업을 하고, 웹 브라우져로 웹 서핑을 하고 있습니다.

 

어떤 사람들은 프로그래밍을 하는데 쓰고, 어떤 사람들은 계산을 하거나 시뮬레이션을 하는데 사용기도 하며, 또한 그래픽 작업을 하는 용도로 사용하는 사람도 많죠.

 

즉 범용 하드웨어에서 범용 운영체제인 리눅스는 모든 작업을 지원하고 있다고 볼 수 있죠.

 

하지만 이 외에도 특정 용도로 개조해서 사용할 수도 있습니다.

 

그 하나의 예가 임베디드 분야의 리눅스죠.

 

기존에 하드웨어의 역할이 제한적인 전자사전에서는 운영체제가 필요없다고 생각되었지만, 요즘 나오는 전자사전은 mp3, 비디오 재생, 작업 관리 등 많은 부분이 미니 컴퓨터라고 해도 무방할 정도로 발전했습니다.

 

전자사전 뿐만이 아니라 PDA와 PMP, MP3, 네비게이션, 휴대폰 등에는 CPU 및 메모리, 작은 운영체제가 탑재되어 있습니다.

 

이것이 임베디드 시스템에서 사용하는 임베디드 리눅스 또는 윈도 CE 와 같은 운영체제인 것입니다.

 

운영체제가 탑재되어 있다면 그 위에서 응용프로그램을 개발하기가 편하죠.

 

시스템에 관한 사항을 모르는 상태에서도 프로그래밍이 가능하기 때문에 소프트웨어 개발자들은 운영체제가 내장된 시스템을 선호합니다.

 

왜냐하면 하드웨어에서 여러 작업을 하기 위해서는 필수적으로 그 자원들을 관리할 수 있어야 하기 때문입니다.

 

리눅스를 깔고 설치하는 과정에서 파티션을 설정을 한 후 드라이버를 잡고, 프로그램을 설치하는 과정 자체도 공부 과정입니다.

 

일단 리눅스를 설치해서 퍼미션 개념, 파일 시스템 개념, 서버 개념, 커널 컴파일 개념, 부트로더 개념, 쉘 스크립트, Makefile 등만 공부해도 많은 부분을 배울 수 있으니까 조급해 하지 마시고 천천히 진행해 나가세요^^

 

 

 

리눅스 자격증

 

리눅스 관련 자격증은 국내자격증과 국제자격증으로 구분할 수 있습니다.

 

우선 국내자격증으로 민간자격증인 리눅스마스터 1, 2급이 있습니다.

 

문제 유형은 다음과 같습니다.

 

리눅스 실무의 이해

  - 리눅스의 개요

  - 리눅스 시스템의 이해

  - 네트크의 이해

 

리눅스 시스템 관리

  - 일반운영 관리

  - 장치 관리

  - 시스템 보안 및 관리

 

네트워크 및 서비스의 활용

  - 네트워크 서비스

  - 네트워크 보안

 

 

국제자격증으로는 대표적으로 LPIC와 RHCE가 있습니다.

 

LPI와 레드햇 리눅스가 자격증 인증을 해주는 벤더사입니다.

 

따로 정해진 시험 일정은 없고, 국제자격증 시험센터에서 시험 접수를 하시고, 접수 3일 후 시험을 보시면 됩니다.

 

출처 : 인티뱅크

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,302 명
  • 현재 강좌수 :  36,966 개
  • 현재 접속자 :  382 명