리눅스 강의 정리 - Day 1 #1

joy_hye5·2020년 12월 11일
0
post-thumbnail

리눅스 역사, 배포판

역사를 다루는 이유

국제 표준, 업계 표준을 준수하여 올바르게 학습하자!
공식 문서를 보지않고 사설 블로그, 구글 문서를 보는것은 초보자가 지양해야 함.

표준을 준수해야한다고? 🤔

표준을 준수하는것은 호환성을 보장한다. 표준을 근거로 서로 다른 vendor에서 만들어지는 SW, HW가 조합된 시스템에서도 작동된다는 보장을 준다
  • OpenWrt

공식 문서

UNIX : www.opengroup.org
LINUX

Multics Project : UNIX의 씨앗

  • Multics : Ge, Bell lab과 MIT AI Lab의 MAC(Multi-Access Computers) 프로젝트의 산물. 운영체제의 복잡한 기능을 감추고 Time Sharing, Page/Segment 메모리 관리, 프로세스 관리, 파일 시스템, 주변장치 관리, 양방향 인터페이스 등등 다양한 기능을 실험한 프로젝트
  • Multics 프로젝트가 비대해지면서 실패의 징후가 나타난다. Ken Tompson은 Multics에서 스핀오프된 기술을 통해 게임을 위한 UNIX를 작성하기 시작한다. 후일 UNIX 개발의 모티브를 준다.
  • UNIX가 성공하여 이전의 DEC운영체제는 쇠퇴의 길로..
  • 하지만 기존 UNIX는 어셈블리어로 작성되어 포팅에 너무 많은 시간이 걸린다는 단점이 있다. 어셈블리어 특징 때문에 기기간 호환성도 안좋다.
  • 이후 UNIX를 C언어로 작성하여 UNIX가 탄생하게 된다! 즉 하드웨어가 달라져도 rebuild 혹은 약간의 수정만으로 포팅이 가능해졌다.

C Programming Language

고급언어이면서도 어셈블리어에 버금가는 성능 + 낮은 추상화

C언어 국제 표준 - ISO/IEC 9899

ANSI-C (C89) : 1989년도 표준
**C99** : 현재 산업계의 실질적 표준. 1999년도 표준
C11 : 2011년도의 표준 (차세대 표준. Generic, Atomic, Trhead를 언어레벨에서 지원하지만 2015년 기준으로 아직까지는 많이 쓰이지는 않는다.)

UNIX의 분열

BSD(Berkeley Software Distribution) UNIX

  • 켄 톰슨이 안식년을 맞아 모교인 버클리의 객원교수로 가게 되면서, 버클리에서 본격적으로 연구됨. 이후 BSD UNIX 로 명명되어짐
  • 미래지향적인 기능들이 많았음.
  • C shell, 가상기억장치, TCP/IP 네트워킹이 이때 만들어짐.
  • 여기서 만난 대학원생인 빌 조이가 Sun Microsystem 창시자.

구심점의 부재로 인한 UNIX의 분열

UNIX의 파편화가 진행됨. 추후 BSD 유닉스 계파를 탄탄하게 하는데 밑거름이 되었다.

분열된 UNIX들의 경쟁 결과

AT&T vs BSD

AT&T 계열은 UNIX System Vx 계열로 발전되었고 SysV는 실질적인 현대 UNIX를 의미하게 되었다. (SysV Release4 - 1988)

0개의 댓글