공부 기록/리눅스 기초

[리눅스 기초] 01 리눅스와 가상머신

도도히히 2025. 10. 31. 09:14

GNU 프로젝트

GNU: GNU is Not Unix

유닉스와 유사하지만, 자유 소프트웨어로 구성된 운영체제를 만들고자 함

성과

GNU 프로젝트는 운영체제 개발을 시작했지만, 커널이 완성되지 않음

하지만 많은 핵심 유틸리티(ex. GCC 컴파일러, Bash 쉘, coreutils 등)가 개발됨

 

리눅스 운영체제 개발 배경

MINIX의 한계

  • 제한적인 시스템이었고, 자유롭게 수정할 수 없는 라이선스 문제도 존재함 (16비트 286기반)

유닉스 같은 환경을 원함

  • 리누스는 유닉스 스타일의 운영체제에 관심이 많았음
  • GNU 프로젝트의 도구 (ex. GCC 컴파일러)를 활용하여 커널 개발
  • 초창기 리눅스는 MINIX에서 개발되었지만, 점차 독립적인 OS가 됨

GNU 프로젝트 + Linux의 결합

  • GNU 프로젝트의 도구 + Linux 커널을 결합
  • 완전한 운영체제 완성
  • GNU/Linux가 더 정확한 표현 (Linux라고 많이 부름)

커널과 셸

리눅스 운영체제의 3대 구성 요소: 커널, 셸, 사용자 프로그램

커널(Kernel)

  • 리누스에 의해 생긴 용어
  • 리눅스 운영체제의 핵심 요소
  • 프로세서와 운영체제 제어로 수행되는 프로그램의 자원할당 수행

셸(Shell)

  • 일종의 명령어 해석기
  • 사용자 운영체제 내부(커널) 사이의 인터페이스를 감싸는 층
  • 명령 줄 인터페이스(CLI)와 그래픽 사용자 인터페이스(GUI)로 제공

 

가상머신 소프트웨어

가상머신의 개념

  • 실존하는 컴퓨터가 아닌 가상으로 존재하는 컴퓨터(머신)
  • 멀티부팅과는 개념이 다름
  • 호스트 운영체제 안에 게스트 운영체제를 설치할 때 사용