[OS] 리눅스 정리

리눅스를 처음 배울 때 데비안 계열의 리눅스로 입문해서 그런지 다른 계열의 리눅스는 손에 잘 안익는 경향이 있었다.

그래서 이번에 리눅스에 대해 다시 공부해보려고 정리해보았다.

목차


Linux란?

  • Linus Torvalds 가 1991년 대학생 시절 취미로 만든 운영체제의 커널 이름
  • 크로스 플랫폼의 의도는 없었으나 다른 운영 체제나 커널 대비 더 다양한 컴퓨터 아키텍쳐를 지원하도록 확장됨
    • 이후 자유 소프트웨어 프로젝트인 GNU(GNU is Not Unix)에서 Hurd라는 자체 커널을 개발하다 개발이 너무 늦어져서 Linux 커널을 사용하게 되었다.
    • 결국 GNU 프로젝트로 Linux 운영체제가 정립되면서 지금의 Linux가 되었다.

Linux의 철학

  • 개방성
    • Linux는 소스 코드가 오픈소스로 공개되어 있어 누구나 추가, 변경이 가능
  • 효율성
    • Linux는 필수 기능만을 커널 부분에 두고 나머지 기능은 필요시 선택적으로 사용할 수 있는 설계 방법을 채택해 사양이 낮은 컴퓨터에서도 좋은 성능을 뽑아낼 수 있음
  • 안정성
    • 가장 안정화된 OS로 인정받은 Unix를 모태로 하기 때문에 안정적


Linux Kernel

  • 컴퓨터 소프트웨어는 아래와 같은 구조로 분리할 수 있다.
  • 컴퓨터 소프트웨어
    • 응용프로그램
    • 운영체제
      • 시스템 프로그램(Shell)
      • 커널
  • 커널이란 운영체제의 핵심 기능으로 컴퓨터 자원들을 관리하는 소프트웨어 이다.
  • 커널이 없으면 사용자는 하드웨어를 사용하기 위해 좀 더 많은 노력을 투자해야 한다.
    • 응용프로그램과 하드웨어 사이를 이어주는 매개체 역할을 하는 것이 운영체제 속에 있는 커널이기 때문
    • 시스템 프로그램(Shell)은 사용자가 커널에 접근할 수 있게 해주는 도구이다.

Kernel의 구성요소

image

  • 태스크(Task) 관리자
    • 물리적 자원인 CPU를 추상적 자원인 태스크로 제공
  • 메모리(Memory) 관리자
    • 물리적 자원인 메모리를 추상적 자원인 페이지나 세그먼트로 제공
  • 파일 시스템(File System) 관리자
    • 물리적 지원인 디스크를 추상적 자원인 파일로 제공
  • 네트워크(Network) 관리자
    • 물리적 자원인 네트워크 장치를 추상적 자원인 소켓으로 제공
  • 디바이스(Device Driver) 드라이버 관리자
    • 각종 외부 장치에 대한 접근


Linux 배포판

  • 배포판은 커널과 함께 시스템 프로그램 뿐만 아니라 이들을 쉽게 설치할 수 있는 기능까지 제공하는 것을 뜻한다.
  • 위의 Linux의 철학에서 리눅스는 효율성을 철학으로 삼는다고 했는데 이와 같은 특징덕분에 리눅스의 핵심인 커널과 사용자의 입맛에 맞는 시스템 프로그램, 기타 응용프로그램을 묶어서 배포해 사용할 수 있다.
  • 추구하는 방향성에 따라 다양한 배포판이 나올 수 있는 것이다.

Linux 배포판 종류

image

  • 리눅스의 배포판은 많이 있지만 그중에 큰 계열 3가지를 정리해보았다.
  • Debian 계열
    • 최초 배포판인 SLS(Softlanding Linux System)기반으로 만들어짐
    • 다른 계열 리눅스에 비해 안정성이 매우 높음
    • 패키지 설치와 업그레이드 등 패키지 관리가 매우 편리 (apt, dpkg)
    • 데스크탑보다는 서버에 적합
    • 다양한 하드웨어 지원
    • 종류
      • Ubuntu
      • Raspbian
      • Linux Mint
      • Kali Linux
  • Slackware 계열
    • 현재까지 살아 있는 가장 오래된 배포판
    • 가장 유닉스다운 리눅스 배포판이라는 기조에 따라 시스템 권한을 최대한 사용자에게 이양함
      • 프로그램을 설치할 때 의존성 패키지를 자동으로 설치해주지 않는다. (의존성 검사를 안한다.)
      • 환경 설정은 텍스트 에디터로 해당 설정 파일을 직접 수정해야 한다.
    • 현재는 잘 안쓰이는 배포판
    • 하지만 다른 배포판을 사용하면서 익힌 지식들이 해당 배포판 전용인 경우가 많고 슬랙웨어를 사용하면서 배우게 되는 지식들은 모든 리눅스/유닉스 배포판에 적용가능한 것들이 많다.
    • 종류
      • OpenSUSE
      • Vector Linux
      • Salix OS
  • RedHat 계열
    • 상용에 가까운 배포판
    • 현업에서 가장 널리 사용되는 배포판
      • 유료지만 레드헷으로부터 지속적인 관리와 최신기술 지원, 보안 업데이트 등의 혜택을 받을 수 있기 때문 (RHEL)
    • 리눅스의 최신동향과 변화추세에 맞춰 최신 서비스 제공
    • 패키지 관리는 rpmyum을 사용
    • 종류
      • RHEL(Red Hat Enterpirse Linux)
      • CentOS (The Community ENTerprise Operation System)
      • Fedora Linux

태그:

카테고리:

업데이트:

댓글남기기