1 분 소요

📍 해당 게시글은 사물인터넷을 위한 리눅스 기본을 공부하며 정리한 글입니다.


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 지원)




태그:

카테고리:

업데이트:

댓글남기기