리눅스의 개요
- 리눅스란?
- 멀티 유저, 멀티 태스킹 지원
- UNIX와 유사
- 리누스 토발스에 의해 개발된 공개OS
- 독점/배타X, 프리 소프트웨어
- GNU라이센스 => 누구에게나 자유롭게 배포
- GNU 프로젝트
- 프로그램 복제/공유 자유
- 개작 자유
- 개작 후 배포 자유
- 리눅스의 역사
- 1969 - UNIX 개발(어셈블리어)
- 1971 - C언어로 UNIX 재작성
- 1985 - GNU 선언문 발표
- 1991 - 리눅스 커널 완성
- 리눅스의 특징
- 완벽한 멀티 유저, 멀티 태스킹 OS
- CLI, GUI 지원
- 오픈 소스
- 여러 종류의 파일 시스템 지원 (FAT, FAT3, NTFS, NFS, xfs)
- 쉘 제공 : 대화형 사용자 인터페이스
- HW 효과적 사용 : 메모리 적게 차지
- 인터넷의 모든 기능 지원
- 가술 지원 어려움
- 배포판
- 전체 시스템을 구성하는 SW패키지 형태
- 데비안 리눅스
- GNU 공식 후원
- 제품
- 우분투 : 사용자 편의성 중점
- 민트
- 레드햇 리눅스
- 알기 쉬운 인스톨러, 관리도구 사용
- RPM(Redhat Package Manager) 지원
- 제품
- 페트라 : 래드햇 후원, 기술 지향, 짧은 간격으로 업데이트
- CentOS : 래드햇 엔터프라이즈 리눅스 배포판, 기업용 서버로 많이 사용, 기술지원X
- 리눅스의 구조
- HW
- cpu, gpu, ram 등의 하드웨어
- 커널
- 가장 핵심적인 연산이 이루어지는 곳
- 하드웨어 제어
- 프로세스/메모리/파일 관리
- 프로그램과 HW사이의 관리자
- 쉘
- 명령어를 해석하여 커널에 저장
- 대화형 사용자 인터페이스
- 명령어 이해&실행
- 종류
- 본쉘(bash)
- C쉘(csh)
- 콘쉘(ksh)
- 커널 -> 쉘 (작업 지시)
- 커널 <- 쉘 (결과 전송)
- HW