목차
오라클 Solaris, DEC Digital Unix 등 고비용의 상용제품들로 인해 쉽게 사용 가능한 유닉스의 대체가 필요했다.
1991년 Linux Torvalds가 유닉스 계열 운영체제인 Linux Kernel을 개발하여 공개했고, 커뮤니티가 형성되어 오늘날의 리눅스가 되었다.
Open Source
소스 코드가 공개되어 있으며, 누구나 수정하고 재배포할 수 있는 소프트웨어이다.
오픈 소스 소프트웨어는 일반적으로 다음과 같은 자유를 보장한다:
•
사용의 자유: SW를 어떤 목적이든 자유롭게 사용할 수 있다.
•
수정의 자유: SW의 소스 코드를 수정하여 개인의 필요에 맞게 변경 가능하다.
•
재배포의 자유: 원본 SW나 수정된 SW를 다른 사람에게 배포할 수 있다.
구성
Kernel
•
정의: 리눅스의 핵심 부분으로, 하드웨어와 소프트웨어 간의 상호작용을 관리한다
•
기능:
◦
프로세스 관리: 실행중인 프로세스의 생성 스케줄링 및 종료를 관리한다
◦
메모리 관리: 메모리 할당 및 해제를 관리한다
◦
파일 시스템 관리: 데이터 저장 및 접근을 위한 파일 시스템을 관리한다
◦
장치 드라이버: 하드웨어 장치와의 통신을 위해 드라이버를 제공한다
Shell
•
정의: 사용자가 커널과 상호작용할 수 있다록 해주는 명령어 인터페이스
•
기능:
◦
사용자 명령어를 해석하고, 이를 커널에 전달하여 작업을 수행한다.
Applications
•
정의: 사용자가 직접 사용하는 소프트웨어
•
예시: 웹 브라우저, 텍스트 편집기, 오피스 도구 등
•
패키지 관리: 리눅스 배포판에서 소프트웨어를 설치하고 관리하는 시스템으로 apt, yum, dnf 등이 있다