Linux
Linux
Linux는 Linux Foundation과 전 세계 개발자 커뮤니티가 공동 개발하는 커널이다. 많이 알려진 “리눅스 운영체제”라는 명칭은 사실상 이 커널을 기반으로 구성된 여러 배포판(Distribution)을 가리킨다. 따라서 정확히 말하면, Linux는 운영체제가 아니라 운영체제의 핵심 구성 요소인 커널이다.
개요
Linux 커널은 Linus Torvalds가 1991년 핀란드 헬싱키 대학 재학 중 개발을 시작한 오픈 소스 커널이다. 처음에는 MINIX 커널을 대체하기 위한 개인 프로젝트로 출발했으나, 현재는 서버, 데스크톱, 임베디드, 모바일 등 거의 모든 컴퓨팅 플랫폼에 사용되는 범용 커널로 발전했다.
Linux는 POSIX 표준을 따르는 Unix 계열 커널로, GNU 프로젝트의 사용자 공간 도구들과 결합될 때 완전한 운영체제 형태(GNU/Linux)를 이룬다.
역사
- 1991년: Linus Torvalds가 첫 Linux 0.01 버전을 발표.
- 1992년: GPL 라이선스로 전환되어 오픈 소스 프로젝트로 성장.
- 1994년: Linux 1.0 정식 출시, 멀티태스킹과 TCP/IP 네트워킹 지원.
- 2003년: Linux 2.6 – 대규모 SMP(다중 프로세서) 및 디바이스 드라이버 확장.
- 2011년 이후: Linux 3.x ~ 6.x – 현대 하드웨어 및 모바일 지원 강화.
- 현재: 서버, 데스크톱, 스마트폰, 슈퍼컴퓨터, IoT 등 다양한 환경에서 활용.
특징
- 모놀리식 커널(Monolithic Kernel) 구조 기반.
- 모듈형 설계 – 커널 기능을 동적으로 로드/언로드 가능.
- 멀티플랫폼 지원 – x86, ARM, RISC-V, PowerPC 등 다양한 아키텍처 호환.
- POSIX 호환성 – Unix 계열 시스템과의 높은 이식성.
- 오픈 소스 개발 모델 – 전 세계 수천 명의 개발자가 참여.
- 높은 안정성과 성능 – 서버 및 실시간 시스템에서 검증됨.
커널 구조
Linux 커널은 크게 다음과 같은 주요 서브시스템으로 구성된다.
- 프로세스 관리 (Process Management)
- 메모리 관리 (Memory Management)
- 파일 시스템 (VFS, ext4, Btrfs, XFS 등)
- 네트워킹 (TCP/IP 스택, Netfilter 등)
- 디바이스 드라이버 (Device Drivers)
- 시스템 호출 인터페이스 (Syscall Interface)
- 스케줄러 (CFS, Completely Fair Scheduler)
배포판과의 관계
Linux 커널은 단독으로 사용되지 않는다. 실제 운영체제는 커널 위에 GNU 유틸리티, systemd, glibc 등의 사용자 공간 소프트웨어가 결합되어 구성된다. 이렇게 만들어진 시스템이 우리가 일반적으로 “리눅스 운영체제” 또는 “리눅스 배포판(Linux Distribution)”이라고 부르는 것이다.
Linux 배포판 계보
개발과 관리
Linux 커널은 Git 버전 관리 시스템으로 유지되며, 중앙 저장소는 Linus Torvalds가 관리하는 kernel.org에 호스팅된다.
- 주요 유지관리자(Maintainers): Linus Torvalds, Greg Kroah-Hartman 등
- 개발 언어: C (일부 Rust 코드가 Linux 6.1부터 통합됨)
- 라이선스: GPLv2
- 배포 주기: 약 9~10주 단위로 새 버전 릴리스
아키텍처 지원
Linux 커널은 세계에서 가장 폭넓은 하드웨어 지원을 제공한다.
- x86 / x86_64
- ARM / ARM64 (모바일, SBC)
- RISC-V
- MIPS, PowerPC, SPARC, s390 등
영향
Linux는 오픈 소스 소프트웨어 운동의 핵심이자, Unix 계열 시스템 철학을 현대적으로 계승한 대표적 커널로 평가된다. 오늘날 대부분의 서버, Android 스마트폰, Chromebook, 슈퍼컴퓨터가 Linux를 기반으로 동작한다.
또한 GNU, BSD, System V 계열과 더불어 운영체제 기술 발전에 지대한 영향을 끼쳤으며, 컨테이너, 가상화, 클라우드 컴퓨팅 환경에서도 사실상의 표준 커널로 자리 잡았다.
같이 보기
참고 문헌
- Official Kernel Repository – kernel.org
- Robert Love, Linux Kernel Development (Addison-Wesley, 2010)
- Jonathan Corbet et al., Linux Device Drivers, 3rd Edition (O’Reilly, 2005)
- Greg Kroah-Hartman, How the Linux Kernel is Developed (Linux Foundation, 2016)