Linux 역사, 배포판

BERT·2023년 3월 19일
0

Linux

목록 보기
2/24

UNIX, Linux 역사 배우는 이유

표준 존재 의미 파악
표준 문서와 공식 문서를 통한 틀린 정보 습득 방지

인과관계, 상관관계 이해
역사적 배경과 철학을 이해하는게 중요

UNIX, Linux는 무엇 때문에 만들어졌는가?

표준을 기억 -> 호환성 보장 -> 교환 효율 높인다 -> 다양한 조합이 제대로 작동된다는 보장 가능

Reference

URL
UNIXhttps://www.opengroup.org
Red Hathttps://access.redhat.com
Linux Foundationhttps://www.linuxfoundation.org

MAC 프로젝트

(1964) GE, Bell lab, MIT AI lab -> Multics 프로젝트
Bell lab 소속 Ken Tompson -> UNIX 작성

UNIXAssembly로 작성됨 -> 새로운 CPU가 나올 때마다 새로 작성 -> 포팅에 시간 많이 걸림
Dennis Ritchie -> B언어 개량 C언어 개발

C언어

하드웨어(CPU)가 달라져도 rebuild 또는 약간의 수정만으로 포팅 가능
고급언어이면서도 어셈블리어에 버금가는 성능
낮은 추상화 지원
저수준 하드웨어 조작 가능

C언어 국제 표준 : ISO/IEC 9899
ANSI-C (C89) : 1989년도 표준

C99 : 1999년도 표준
현재 산업계 실질적 표준

C11 : 2011년도 표준

UNIX 분열

AT&T UNIX
교환기 & 빌딩 시스템에 사용

Ken & Dennis의 UNIX, C언어 공식 발표
Berkeley 대학 관심 -> BSD UNIX 탄생
TCP/IP 네트워킹 도입

Berkeley 대학원생 Bill Joy
Sun Microsystem 창업
vi 에디터 개발
Java 개발

UNIX의 분열 : BSD 분위기
개발자들간 소통의 부재 -> 호환성 파괴
이에 반해 Linux는 리누즈 토발즈와 POSIX, GNU에 기반한 공동체의 강력한 구심점으로 분열이 일어나지 않음


SysV 계열과 BSD 계열의 경쟁은 호환성 파괴의 결과를 야기함
Java 탄생의 모티브

미 국무성에서 강한 불만 표출
IEEE(전기전자공학회) 주도 System call의 표준화 진행
1988년 POSIX 초안 발표 : POSIX.1 1003-1988

POSIX(Portable Operating System Interface)

UNIX 시스템의 최소한의 호환성 요구
phazicks로 딕션(four six 하지말것)
API 문법과 작동에 대한 의미만을 담고 있음

POSIX 1003.1-1988 : 초안
POSIX 1003.1-1990 : ISO 승인 IEEE std 1003.1-1988
POSIX.1 = IEEE std 1003.1

Minor vendors : OSF(Open Software Foundation)

1980년대 UNIX 업계 : AT&T & Sun 양강 구도
POSIX에 빠진 부분을 포함하는 산업계 표준(De facto)를 만들고자 AT&T, Sun 공조
-> 업계 표준 UNIX인 SVR4 만들어냄
Sun microsystem은 자사 UNIX를 Solaris(SVR4 기반)로 개작
POSIX + α ⇒ SVR4

UNIX가 SVR4에 의해 사장될 것을 두려워한 Minor vendor들
DEC, IBM, HP ...
OSF 설립
AT&T와 Sun에 대항할 방법 모색
1992년 OSF/1 발표

X/Open

유럽 컴퓨터 제조업체들이 Open System의 표준화를 위해 출범된 단체
표준화 제정이 아닌 교육과 메뉴얼 제시
X/Open의 가이드라인 : XPG(X/Open Portability Guide)
SVR4, OSF/1XPG v3에 근거하여 제작됨

혼잡한 UNIX 벤더들의 표준안
하지만 벤더들은 정부에서 규제하는 POSIX만 간신히 만족
XPG는 지침서일 뿐 강제성 없음

단일 표준안의 필요성을 촉발한 MS
1990년대 Microsoft사의 서버용 OS 제작 발표
UNIX는 MS의 새로운 서버형 OS에 의해 잠식당할 가능성
OSF -> X/Open과 합병 -> Open Group으로

SUS(Single UNIX Specification)

유닉스 단일 표준안
SUSv1 : XPG 4.2 420
SUSv2 : UNIX98 500
SUSv3 : SUS 2002 600
SUSv4 : SUS 2007 700
https://www.opengroup.org

통합 후 Open Standard를 통해 표준화
Open system = UNIX


Linux kernel

GNU Hurd 커널의 개발 지연으로 인한 임시 운영체제
GNU는 PC 구동 가능 커널로 토발즈가 만든 Linux kernel 지원 시작

Minix(Mini uNIX)
Andrew Tanenbaum이 교육용으로 작성한 OS
교육용이라서 OS 작동 방식만 보여줄 뿐 성능 제약 많음
리누스 토발즈 : Linux 탄생

MinixLinux
Andrew TanenbaumLinus Torvalds
Micro kernelMonolithic kernel

FSF(Free Software Foundation)

Richard Stallman에 의해서 설립된 단체
기존의 상업적 지적재산권 제도가 SW발전을 저해한다고하여 설립됨
GPL 공개라이센스를 따름
GPL : GNU Public License : 코드 사용 시 본인 코드도 공개

Linux의 성공 요인

소스 코드 오픈
UNIX 표준(POSIX, SUS)를 받아들여 빠르게 시장 규모 키우고 상업용 수준까지 발전

Linux 배포판

패키지 시스템

프로그램이 미리 컴파일되서 실행가능한 상태
묶어서 버전관리

DEB 계열

GNU사의 공식 배포판
Debian, Ubuntu, Mint ..
Debian : 데비안 기본(작고 가벼운 시스템 구축)
Ubuntu : 예쁘고 사용이 편리한 데스크탑 리눅스 구축이 목적

RPM 계열

RedHat사의 공식 배포판
RHEL(RedHat Enterprise Linux), CentOS(Community Eenterprise Operating System), Fedora ..
CentOS를 사용하는 경우 EPEL(Extra Packages for Enterprise Linux) 사용하는 경우 많음


Summary

Multic -> UNIX 탄생
UNIX -> AT&T, BSD로 갈라짐
표준화 : POSIX(IEEE), X/Open(Europe), OSF/1(Minor Vendors)
SVR4(System V Release 4) 탄생 = 업계 실질적 표준
Windows NT로 인해 UNIX업계의 통합 촉발
SUS 탄생

0개의 댓글