[LINUX] 1.LINUX 기초 개념
📍 해당 게시글은 사물인터넷을 위한 리눅스 기본을 공부하며 정리한 글입니다.
1. 프로그램 언어의 발달
- 1세대 언어 : 0과 1로 이루어진 기계어
- 진공관 사용
- 군사용 or 학술 연구용
- 2세대 언어 : 어셈블리어
- 트랜지스터 사용
- 상업용으로 확장(은행, 정부 등)
- 3세대 언어 : 절차지향 언어
- Cobol, Fortran, C, Basic
- 1970년대 -> 큰 기업 중심으로 컴퓨터 보급
- 4세대 언어 : 객체지향 언어
- C++, Objective-c
- 1980년대 -> 일반들에게 보급 & 인터넷의 사용
- 5세대 언어 : CBD(Component Based Development)
- 2000년대 -> 클라우드, 모바일로 확장
- 객체지향과의 차별점 : 플랫폼을 가리지 않고 실행가능
- 사실 언어라기 보다, 인공지능 분야의 원리를 사용하는 시스템을 위해 개발된 언어.(NLP 등)
2. OS(Operation System)
: HW와 SW기능을 사용할 수 있게 하는 시스템 소프트웨어
1) UNIX
- 1969년 켄 톰프슨에 의해 탄생
- 어셈블러로 작성되었다가, 1973년에 데니스리치 참여 이후 C를 개발하고 C로 변환됨
2) C
- B언어로부터 진화
- 데니스리치와 유닉스가 함께 개발
3) 시대를 이끌어가는 OS
- 1990년대 : 웹의 시대
- 2000년대 : 유비쿼터스/임베디드의 시대
- 2010년대 : 스마트 디바이스 & 사물인터넷의 시대
4) LAMP, WIMA
a. LAMP
- L : Linux
- A : Apachi
- M : MySQL
- P : PHP / JSP / ASP
b. WIMA
- W : Windows
- I : IIS
- M : MSSQL
- A : ASP
3. 유닉스 시스템 구조
- 커널(kernel)
- HW와 인터페이스 하는 운영체제의 핵심
- 파일 관리
- 셀(Shell)
- 사용자와 직접 대화 -> 터미널
- 리눅스는 GNU 소프트웨어 사용
- 명령어 해독기(Command Interpreter)
- 유틸리티
- 어플리케이션 프로그램
- GNU 사용
4. 리눅스란
- 1991년 핀란드의 리누스 토발즈가 리눅스 커널 0.1를 공개하면서 시작
- GNU를 이용해서 개발
- 스마트 디바이스(안드로이드, 타이젠, mac, ios, tv 등)에서 가장 많이 사용 된다.
1) 리눅스 배포판
- 리눅스 커널 + GNU SW(kernel + Shell + Utillity)
- GNU이란?
- 1984년 리처드 스톨만에 의해 시작
- 하나의 운영 체제이자 컴퓨터 SW의 모음집
2) 구성
- Kernel : OS를 구성하는 기본적인 토대
- 컴퓨터 자원 초기화 및 제어(프로세스/메모리/파일/장치 관리 등)
- Shell : BASH쉘을 사용해 사용자와 커넗 사이의 중간자 역할을 한다.
- 인터페이스 제공
- 사용자의 명령 해석 -> 커널 전달 -> 커널이 수행 결과 리턴 -> 셀이 해석하여 출력
- Application : 사용자 프로그램
- 유틸리티, 프로그래밍 개발 도구, 문서편집 도구 등
- 유틸리티, 프로그래밍 개발 도구, 문서편집 도구 등
3) 특징
[GUI]
- 유닉스의 표준, X윈도시스템을 통해 GUI시스템을 지원 [유닉스 운영체제의 특징과의 공통점]
- Multi user(여러 사용자가 사용)
- Multi Process(여러 프로그램 실행)
- Multi Processor(여러 CPU 지원)
댓글남기기