- 리눅스도 결국 운영체제일뿐
- 윈도우처럼 운영체제(OS)
컴퓨터 운영체제의 한 종류
핀란드 헬싱키 대학의 대학원생 리누스 토발즈(Linus Torvalds)가 1991년에 개발
윈도우와는 다르게 오픈 소스(소스 코드가 공개된 프로그램) 운영체제
소스코드가 공개되어 있기 때문에 다양한 리눅스 기반의 운영 체제가 존재
구글의 안드로이드도 리눅스를 기반으로 만든 운영체제
리눅스의 조상님 - 유닉스
1965년 MIT, AT&T 벨 연구소, General Electric 소속 개발자들이 모여 멀티태스킹(다중작업)을 지원하는 멀틱스(Multics)라는 운영체제 개발을 시작
▶ 하지만 실패로 끝남
멀틱스를 이어받아 하나의 작업이라도 제대로 하는 유닉스(UNIX)라는 운영체제를 기계어로 만듦
기계어로 만들었던 유닉스를 C언어로 개발하였고 완성된 유닉스의 소스코드를 무료로 대학기관이나 연구소에 배포
배포된 유닉스를 여러 기관에서 개발하기 시작
유료인 유닉스에 반발하여 무료로 배포하려는 기관들이 등장(GNU)
무료 유닉스 운영체제를 만든 리누스 토발즈 학생
핀란드의 헬싱키라는 곳에서 리누스 토발즈
라는 (대학원생) 학생이 GNU 시스템에 적합한 커널을 개발
리누스 토발즈는 어느 정도 완성된 커널을 comp.os.minix에 포스팅
I'm doing a (free) operationg system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
이후 계속해서 발전해가며 여러 리눅스 종류들이 탄생
높은 이식성과 확장성(C언어 기반이기 때문)
안전성과 신뢰성
(국제적이고, 개방적으로 개발되었기 때문에 문제점에 대한 대처가 빠름)
계층적 파일 시스템
(최상위 디렉토리가 존재하고, 모든 것들은 해당 디렉토리 하부에 존재)
리눅스의 기본 구성 요소
운영체제 : 하드웨어를 관리/제어, 사용자에게 편리한 인터페이스 제공
커널 : 쉽게 운영체제 자체. 핵심적인 부분. 하드웨어까지 전달 시켜주는 역할. kernel32.dll 윈도우의 핵심적인 요소.
쉘 : 우리가 내리는 명령어를 커널이 알아들을 수 있는 형태로 번역. 우리가 내리는 명령어는 사람이 알아들을 수 있는 것. 프로그램을 실행시켜주는 것.
명령어 : ipconfig, netstat 이라던가 .. 많은 명령어. 프로그램이다.
각종 정보를 표시해주는 프롬프트
[root@localhost tester] #
- 현재 로그인한 사용자
- 여러분이 사용중인 컴퓨터의 이름이 무엇(host명)
- 경로
- 권한에 따라 #, $
명령어로 모든 것을 처리하는 명령줄 인터페이스
텍스트 터미널을 통해 사용자와 컴퓨터가 상호작용하는 방식을 뜻한다.
즉, 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하며 컴퓨터로부터의 출력 역시 문자열의 형태로 주어진다.
명령어 구조
아규먼트(Argument) : 명령어에 의해서 영향을 받는 파일 or 디렉토리 등 특정 대상
ex) netstat - anp, ifconfig -a, ls -al