본문 바로가기
운영체제/리눅스

리눅스의 역사

by Cloud_Park 2018. 11. 6.
유닉스의 탄생
  1960년대 중반부터 다수의 작업을 동시에 수행할 수 있는 멀틱스라는 프로젝트로 시작
  멀틱스는 다중 사용자, 다중 프로세서, 다중 프로세스를 지원하는 운영체제를 만드는 프로젝트였지만 실패로 끝남
  AT&T에서 멀틱스 프로젝트를 진행하던 켄 톰슨이 사무실에 있던 PC에 멀틱스 프로젝트를 이용하여 간단한 게임인 스페이스 트레블을 구현 
나중에 켄 톰슨의 동료인 데니스 리치가 기존의 어셈블리어로 되어있던 코드를 C언어로 변경
  다양한 작업을 한번에 수행하려다 실패한 멀틱스와 달리 한 가지 작업이라도 제대로 수행한다는 의미로 유닉스를 개발



리눅스의 탄생

헬싱키 대학교에 대학생이었던 리누스 토발즈라는 학생(21살)이 학교 수업에서 사용하던 MINIX라는 운영체제를 사용하던 중 취미로 MINIX를 이용한 운영체제 개발 모임을 발표, 해당 모임에서 운영체제를 개발하던 중 블로그에 소스코드와 함께 운영체제를 공개


리눅스의 종류

데비안 계열 우분투 차이점 : 특정 설정 파일의 위치, 고급 명령어들이 조금은 다르다 레드햇 계열 CentOS



리눅스의 장점

높은 이식성 높은 확장성 안전성 신뢰성 다중 사용자 다중 프로세스 계층적 파일시스템 (최상위가 항상 / 이다) *루트(root) : root 사용자(관리자), / (최상위 디렉토리)


리눅스 시스템의 환경

컴퓨터의 주요 구성요소 CPU 주 기억장치 보조 기억장치 I/O 장치


  운영체제의 주요 구성요소

커널, 쉘, 디렉토리 커널 운영체제의 핵심, 명령어 번역기(우리가 내리는 명령을 하드웨어가 알아들을 수 있게 번역) 쉘의 종류 sh, csh, tcsh, ksh, *bash*, zsh (명령어 기억, 방향키 등 지원) GUI vs CLI Graphical User Interface : 일반적으로 사용자들이 사용하는 인터페이스, 대표적으로 윈도우 환경 Command Line Interface : 명령어를 사용하여 시스템을 사용하는 방식, 대표적으로 리눅스 리눅스도 GUI환경이 있고 윈도우도 CLI환경이 있다. CLI 구문 명령어 옵션 아규먼트 명령어 : 시스템에서 특정 잡업을 수행하기 위해 실행하는 실행 파일 옵션 : 명령어를 어떻게 실행할 것인지 지정, 일반적으로 - 뒤에 지정 ex) netstat -ano, netstat -a -n -o 아규먼트 : 명령어 실행에 영향을 받는 파일 또는 디렉토리 또는 문자열을 입력