표준 존재 의미 파악
표준 문서와 공식 문서를 통한 틀린 정보 습득 방지
인과관계, 상관관계 이해
역사적 배경과 철학을 이해하는게 중요
표준을 기억 -> 호환성 보장 -> 교환 효율 높인다 -> 다양한 조합이 제대로 작동된다는 보장 가능
URL | |
---|---|
UNIX | https://www.opengroup.org |
Red Hat | https://access.redhat.com |
Linux Foundation | https://www.linuxfoundation.org |
(1964) GE, Bell lab, MIT AI lab -> Multics
프로젝트
Bell lab 소속 Ken Tompson -> UNIX
작성
UNIX
는 Assembly
로 작성됨 -> 새로운 CPU가 나올 때마다 새로 작성 -> 포팅에 시간 많이 걸림
Dennis Ritchie -> B언어 개량 C언어
개발
하드웨어(CPU)가 달라져도 rebuild 또는 약간의 수정만으로 포팅 가능
고급언어이면서도 어셈블리어에 버금가는 성능
낮은 추상화 지원
저수준 하드웨어 조작 가능
C언어 국제 표준 : ISO/IEC 9899
ANSI-C
(C89) : 1989년도 표준
C99
: 1999년도 표준
현재 산업계 실질적 표준
C11
: 2011년도 표준
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
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
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
발표
유럽 컴퓨터 제조업체들이 Open System의 표준화를 위해 출범된 단체
표준화 제정이 아닌 교육과 메뉴얼 제시
X/Open의 가이드라인 : XPG
(X/Open Portability Guide)
SVR4
, OSF/1
은 XPG v3
에 근거하여 제작됨
혼잡한 UNIX 벤더들의 표준안
하지만 벤더들은 정부에서 규제하는 POSIX만 간신히 만족
XPG는 지침서일 뿐 강제성 없음
단일 표준안의 필요성을 촉발한 MS
1990년대 Microsoft사의 서버용 OS 제작 발표
UNIX는 MS의 새로운 서버형 OS에 의해 잠식당할 가능성
OSF
-> X/Open
과 합병 -> Open Group
으로
유닉스 단일 표준안
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
GNU Hurd 커널의 개발 지연으로 인한 임시 운영체제
GNU는 PC 구동 가능 커널로 토발즈가 만든 Linux kernel 지원 시작
Minix(Mini uNIX)
Andrew Tanenbaum이 교육용으로 작성한 OS
교육용이라서 OS 작동 방식만 보여줄 뿐 성능 제약 많음
리누스 토발즈 : Linux 탄생
Minix | Linux |
---|---|
Andrew Tanenbaum | Linus Torvalds |
Micro kernel | Monolithic kernel |
Richard Stallman에 의해서 설립된 단체
기존의 상업적 지적재산권 제도가 SW발전을 저해한다고하여 설립됨
GPL 공개라이센스를 따름
GPL : GNU Public License : 코드 사용 시 본인 코드도 공개
소스 코드 오픈
UNIX 표준(POSIX, SUS)를 받아들여 빠르게 시장 규모 키우고 상업용 수준까지 발전
프로그램이 미리 컴파일되서 실행가능한 상태
묶어서 버전관리
GNU사의 공식 배포판
Debian, Ubuntu, Mint ..
Debian : 데비안 기본(작고 가벼운 시스템 구축)
Ubuntu : 예쁘고 사용이 편리한 데스크탑 리눅스 구축이 목적
RedHat사의 공식 배포판
RHEL(RedHat Enterprise Linux), CentOS(Community Eenterprise Operating System), Fedora ..
CentOS를 사용하는 경우 EPEL(Extra Packages for Enterprise Linux) 사용하는 경우 많음
Multic -> UNIX 탄생
UNIX -> AT&T, BSD로 갈라짐
표준화 : POSIX(IEEE), X/Open(Europe), OSF/1(Minor Vendors)
SVR4(System V Release 4) 탄생 = 업계 실질적 표준
Windows NT로 인해 UNIX업계의 통합 촉발
SUS 탄생