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)로 제공
가상머신 소프트웨어
가상머신의 개념
- 실존하는 컴퓨터가 아닌 가상으로 존재하는 컴퓨터(머신)
- 멀티부팅과는 개념이 다름
- 호스트 운영체제 안에 게스트 운영체제를 설치할 때 사용
'공부 기록 > 리눅스 기초' 카테고리의 다른 글
| [리눅스 기초] 06 우분투 에디터 (0) | 2025.11.02 |
|---|---|
| [리눅스 기초] 05 파일 명령어 (0) | 2025.10.31 |
| [리눅스 기초] 04 디렉터리 명령어 (0) | 2025.10.31 |
| [리눅스 기초] 03 디렉터리와 파일 (0) | 2025.10.31 |
| [리눅스 기초] 02 우분투 기본 명령어 (0) | 2025.10.31 |