리눅스 역사 및 리눅스 구성요소

Xonic·2021년 11월 8일
0
post-thumbnail

리눅스 사용자 관리

1. 리눅스 탄생 배경 (유닉스)

  • 1960년 초 Multics 프로젝트에서 시작되었다 볼 수 있다.
    - Multics 프로젝트는Multiprogramming System(다중 프로그래밍), 다중 사용자 기반이며 AT&T BELL LAB에서 탄생되었다.
  • 켄 톰슨 (어셈블러, Kernel 개발), 데니스 리치 (C언어 개발) 등의 개발자분들이 합심하여 Unics(한 번에 한가지 작업이라도 똑바로 하자.)가 탄생하게 되었고 이후에 Unix라는 이름으로 바뀌게 된다
  • 매우 저렴한 가격으로 AT&T 연구소는 버클리 대학 소프트웨어 재단에 소스코드를 판매하였다.
  • 이하 버클리 대학은 소스코드를 수정하고 네트워크 기능을 탑재한 유닉스인 BSD를 출시한다.

2. 리눅스 역사

2.1 GNU 프로젝트

  • 1984년 리차드 스톨만
  • 1985년 GNU 선언문 발표
  • 오픈 소스의 사상
  • "프로그램은 무료이어야 하며, 프로그램의 사용, 복사, 수정, 재분배에 대한 제한이 있어서는 안된다"

2.2 리누스 토발즈

  • 핀란드 헬싱키 대학의 MINIX (앤디 탄넨 바움 교수)
  • 1991년 0.02버전 커널 발표
  • 리누스의 MINIX => Linux 명명
  • Linux => GNU/Linux

2.3 배포

  • 1994년 1.0 (정식) 버전 커널 발표
  • 1996년 06월 09일 2.0 버전 (SMP 기능 - 서버로서의 운영체제로서의 기틀)
  • 2003년 12월 2.6 버전 발표 (엔터프라이즈급 머신에서 Linux를 사용)

참고 GNU General Public License

  • 컴퓨터 프로개름을 어떠한 목적으로든지 사용 할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.
  • 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스코드와 함께 판매하거나 소스코드를 무료로 배포해야한다.
  • 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.
  • 변경된 컴퓨터 프로그램 역시 프로그램의 소스 코드를 반드시 공개 배포해야 한다.
  • 변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이센스를 취해야 한다.
    즉 GPL 라이센스를 적용해야 한다.

3. 리눅스의 특징

  • 공개형 오픈소스 운영체제
  • 유닉스와의 완벽한 호환 가능
  • Multi user
  • Multi-tasking (Backgorund job) 및 가상 터미널 환경 지원
  • 저렴한 소유 비용

4. 리눅스의 구성 요소

  • 커널 (Kernel)
    1. OS의 핵심적인 역할
    1. 보안
    2. 자원관리
    3. 추상화 기능
  • 쉘 (Shell)
    1. 사용자와 커널의 연결고리
    1. 명령어 해석기
    2. 사용자와 커널 사이의 인터페이스 담당!
    3. 쉘 -> 기계어로 번역해서 커널에 전달
    4. 다양한 쉘이 존재한다.

4.1 쉘의 종류

쉘의 이름특징
Bourne Shell (sh)- 최초의 쉘 (기본적인 쉘)
- 대화형 인터페이스
- 대부분 시스템에 기본 내장
- 강력한 이식성
C Shell (csh)- C언어 형식과 유사
- 프로그래밍에 유리
Korn Shell (ksh)- Bourne Shell을 토대로 생성
- C shell 기능 일부 포함
- 현재 Unix 기본 쉘
Bash Shell (bash)- Linux 시스템 표준 쉘
- Bourne Shell 의 업그레이드 버전
- C shell과 Korn Shell의 장점 보유

4.2 리눅스 표준 Shell

4.2.1 bash shell

  • Korn shell에 버금가는 무료 shell
  • Linux 시스템 표준 shell
  • 명령어 history 기능 지원
  • 명령어 자동완성 기능 지원
  • 프롬프트로 유저 구분
    일반 유저 : $
    슈퍼 유저 : #

참조

profile
공부 한 것을 공유하는 블로그입니다.

0개의 댓글