Part1. 리눅스의 이해
Chapter1. 리눅스의 이해
1.1 운영체제의 개요
* 운영체제(OS: Operating System)는 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어로 사용자가 프로그램을 수행할 수 있는 환경을 제공한다.
1.1.1 운영체제의 이해
* 운영체제의 주요 역할
① 컴퓨터의 하드웨어를 제어한다.
② 작업의 순서를 정하며, 입출력 연산을 제어한다.
③ 프로그램의 실행을 제어하며, 데이터와 파일의 저장을 관리한다.
④ 사용자들 간의 하드웨어 자원을 공유할 수 있도록 한다.
⑤ 시스템 자원을 스케줄링하여 효율적으로 활용할 수 있게 한다.
⑥ 입출력을 쉽게 하는 기능을 제공한다.
⑦ 응용 프로그램의 작성과 실행을 관리하게 한다.
⑧ 오류의 발생을 막고 복구를 지원한다.
⑨ 데이터의 조직화, 네트워크 통신 처리 기능을 수행한다.
⑩ 편리한 사용자 인터페이스를 제공한다.
1.1.2 운영체제의 종류
* 운영체제의 분류
분류 | 내용 |
서버 | 하나의 서버에 다수가 접속하는 환경 기반. 웹 서버, 메일 서버, DNS 서버 등에 이용됨. |
데스크톱 | 개인용 컴퓨터에 탑재되는 운영체제로 한 명의 사용자에게 편리하고, 사용하기 쉽고, 다양한 응용 프로그램을 제공함. |
모바일 및 임베디드 | 휴대폰, PDA, 스마트폰, 태블릿 등과 같은 정보기기에 탑재되는 운영체제. 최근에는 모바일 운영체제가 가전제품 및 IVI(In-Vehicle Infotainment)까지 영역을 확대하면서 임베디드 운영체제 영역과의 경계가 모호해지고 있음. |
기타 분야 | 웹 기반 운영체제(Web OS), 크롬 OS 등 |
* 주요 서버 및 데스크톱 운영체제
1) 유닉스(UNIX)
- 1969년 미국의 AT&T사의 벨(Bell) 연구소에서 연구원으로 근무하고 있던 켄 톰슨과 데니스 리치에 의해 시작됨
- 1970년 켄 톰슨이 직접 개발한 B언어로 개발 -> 1971년 데니스 리치가 B언어를 발전시킨 C언어를 개발하면서 유닉스 운영체제 대부분이 C언어로 작성됨
- 멀틱스(Multics)라는 대형 컴퓨터에 사용되었던 시분할 운영체제를 참고로 하였기 때문에 유닉스(UNIX)라는 이름을 붙여줌
- 무료로 보급하면서 여러 버전의 유닉스가 등장. 크게 System V계열과 BSD계열로 나뉨
System V계열 | IBM, HP, Sun Microsystems, SGI 등 |
BSD계열 | NetBSD, FreeBSD, OpenBSD, SunOS, NextStep, Mac OS X, GNU/Linux 등 |
- 다중 사용자 및 다중 작업 지원, 강력한 네트워크 지원, 뛰어난 이식성 및 확장성, 계층적 파일 구조, 가상 메모리 및 공유 라이브러리 지원 등의 특징을 지님.
2) 윈도(Windows)
- 1975년 빌 게이츠와 폴 앨런이 설립한 마이크로소프트사는 베이직 프로그래밍 관련 개발 회사로 시작
- 마이크로소프트는 CLI에서 GUI 기반의 운영체제 개발에 착수. 이 프로젝트는 '인터페이스 매니저'. 추후 실행화면이 창문 격자를 닮았다고 하여 마케팅 담당자가 이름은 '윈도'로 변경함
- 1985년 '윈도1.0'이 공식 출시되는데 독립적인 운영체제라기보다는 MS-DOS에 구동되는 하나의 응용프로그램이었음
- 1992년 '윈도 3.1' 때 상업적 성공 거둠
- 1993년 기업을 주요 대상으로 네트워크 기능, 보안성, 안정성을 강화한 32비트 운영체제인 '윈도 NT 3.1' 출시
- 일반 사용자를 위한 데스크톱 운영체제인 '윈도 XP' 출시. 이후 현재 'Windows 11'까지 나옴
3) Mac OS
- PC(Personal Computer) - 1960년대까지 컴퓨터는 연구소, 공공기관, 정부기관, 대기업, 대학교 등에서만 사용하는 특수한 기계로 인식. 1970년대부터 개인용 컴퓨터 상용화 시작
- 1976년 스티브 잡스와 스티브 워즈니악은 '애플Ⅰ'를 출시
- 1977년 '애플 컴퓨터' 정식 법인 설립, '애플Ⅱ' 상업적으로 대성공
- 1983년 개인용 컴퓨터 중에서 최초로 GUI 방식의 운영체제가 탑재된 '애플 리사' 출시
- 1984년 매킨토시 출시. 큰 성공은 아니지만 애플의 방향성 제시하는 계기가 됨
- 1998년 '아이맥 G3' 출시. 애플 흑자 전환
- 2000년 새로운 운영체제인 'Mac OS X' 출시. 'Mac OS 9'을 업그레이드 한 것이 아니라 BSD 유닉스 기반으로 만든 '넥스트스텝'을 확장하여 만든 것
* 모바일 운영체제
- 배터리 사용, PC에 비해 상대적으로 낮은 사양, 무선 기반으로 광대역 및 지역 연결, 다양한 멀티미디어 지원 등의 환경적 특성으로 모바일 뿐만 아니라 TV나 자동차 영역까지 확대되고 있음
- 커널과 하드웨어 드라이버, 미들웨어, 응용프로그램 실행 환경, 사용자 인터페이스 프레임워크를 제공하고, 더 나아가 특정 운영체제에서만 제공하는 검색엔진, 클라우드 서비스 등을 포함하면서 차별화를 시도하고 있음
1) 리눅스 기반 모바일 운영체제
① 구글의 안드로이드(Android)
- 안드로이드는 모바일 기기를 위한 운영체제, 미들웨어, 사용자 인터페이스, 응용프로그램을 포함하고 있는 소프트웨어 스택이자 모바일 운영체제
- 자바 언어로 작성
- 2005년 7월 구글이 안드로이드사를 인수하면서 운영체제 시장에서 점유율 선두가 됨
- 2007년 11월 오픈 핸드셋 얼라이언스(Open Handset Alliance, OHA) 구성: 모바일 장치 에 대한 개방형 표준 을 개발하기 위해 84개 기업의 컨소시엄
- 2008년 10월 21일에 안드로이드를 오픈 소스로 선언
- 장점: 상당히 높은 편의성, 빠른 반응 속도 제공, 50여만 개에 육박하는 다양한 애플리케이션, 구글의 다양한 서비스 기본 탑재, 개발 진입 장벽 낮음
- 단점: 오픈 소스로 인한 보안상의 취약점. 다수의 하드웨어 제조사에 의해 탑재되므로 통일성이 떨어지고 그에 따른 개발상의 어려움
② 바다(Bada) OS
- 2009년 10월 삼성전자가 발표. 미고와 리모가 통합된 타이젠과 통합할 예정
③ 마에모(Maemo)
- 2005년 11월에 노키아가 발표
④ 모블린(Moblin)
- 2007년 7월 인텔과 리눅스 재단이 개발
⑤ 미고(MeeGo)
- 2010년 2월에 인텔의 모블린과 노키아의 마에모가 합병하여 만든 모바일 운영체제 프로젝트
⑥ 리모(LiMo)
- 2007년 1월 삼성전자, NEC, 파나소닉, 보다폰 등이 참여하여 시작한 프로젝트
⑦ 타이젠(Tizen)
- 인텔과 삼성을 주축으로 만들어진 모바일 운영체제
- 2012년 1월 SDK 발표
2) 스마트 TV(Smart TV)
① 스마트 TV의 정의
스마트 TV란 운영체제를 탑재하고, TV 본연의 기능인 실시간 방송 시청뿐만 아니라 인터넷 접속 기능을 기반으로 웹 검색, VOD, 게임, SNS, 앱스토어 등의 기능이 가능한 TV를 뜻한다.
② 주요 스마트 TV의 운영체제
- 애플 Mac OS 기반의 iOS를 애플 TV에 탑재
- 구글은 리눅스 기반의 안드로이드를 구글 TV에 탑재
- 삼성전자는 바다 OS->타이젠
- LG전자는 넷캐스트 OS, Web OS
3) IVI(In-Vehicle Infotainment)
① IVI의 개요
- IVI란 자동차 내에서 CD 및 DVD 등의 재생을 비롯한 오디오와 비디오 콘텐츠 재생, TV 기능, 서라운드 사운드 시스템, 자동차 내비게이션 시스템 등을 제공하는 하드웨어 장치의 모음
- ICE(In-Car Entertainment)라고도 함
② 주요 IVI의 종류와 특징
ⅰ. MS의 Windows Embedded Automotive
Windoews CE 기반으로 만든 것으로 자동차에 내장되는 컴퓨터 시스템을 위한 운영체제이다.
ⅱ. QNX
QNX 소프트웨어 시스템에서 개발한 유닉스 형태의 RTOS(Real-Time Operating System)으로 임베디응 시스템에 내장되는 운영체제이다.
ⅲ. GENIVI
- GENIVI 연합은 공개형 리눅스 운영체제 기반의 표준화된 자동차용 IVI 플랫폼을 만들기 위해 설립한 비영리조직이다. 현재 160 여개의 회원사들이 참여하고 있다.
- GENIVI 플랫폼의 80%는 기존의 리눅스 커널을 그대로 사용하고, 15%는 기존의 코드를 수정하거나 확장하고, 나머지 5%정도만 자동차에 특화된 코드로 되어 있다.
ⅳ. 안드로이드(Android)
- 모바일 기기에 탑재되던 안드로이드가 새롭게 진출함
- Wind River의 Solution Accelerator for Android
- 에코시스템 기능 매우 강력
ⅴ. MeeGo/Tizen IVI
- MeeGo나 Tizen은 IVI를 지원하기는 하나 참여하는 기업이 적고, 최적화를 위해서는 자체 기술력이 필요하다.
* 웹 운영체제
1) 제1세대형
- 2000년대 초반 Web OS는 "인터넷 기반의 운영체제로 인터넷 접속이 가능한 곳이라면 언제 어디서나 자신의 데스크톱을 사용하는 것과 같은 환경을 제공하는 서비스"를 의미
- eyeos, Xindesk, Glide OS 4.0, Goowy, YouOS, G.ho.st, Corneli OS 등
2) 제2세대형
- 최근은 "웹 브라우저를 기반으로 동작하는 가상의 운영체제"의 개념으로 진화
- 구글의 크롬 OS: 동일한 작업 환경은 어디서나 사용 가능, 네트워크가 지원되는 환경이라면 빠르게 언제든지 사용 가능, '크롬 웹스토어'를 통해 사용자가 일부 프로그램을 설치하도록 지원, 높은 보안성 제공
1.2 리눅스의 역사와 철학
1.2.1 리눅스의 탄생과 역사
- 1987년 네덜란드 암스테르담 자유대학교 재직하던 앤드루 스튜어트 타넨바움 교수가 교육용 유닉스 미닉스를 개발
- 1991년 9월 17일 핀란드 헬싱키 대학의 대학원생 리누스 토발즈 리눅스 첫 번째 버전 0.01 발표
- 교육 학습용에서 서버 시장까지 진출
- 약 300여개 이상의 리눅스 배포판 있음
- 서버, 안드로이드, IVI 등 다양한 분야로 영역 넓힘
1.2.2 리눅스 배포판
* 리눅스 배포판의 개요
- 초기 리눅스는 운영체제의 핵심인 커널(Kernel)을 지칭하였으나, 리눅스 커널과 GNU 프로젝트의 라이브러리와 도구들이 포함되면서 하나의 운영체제로 발전하게 됨 -> GNU/Linux
- 리눅스는 누구나 패키징하여 자유롭게 배포가 가능
https://jhnyang.tistory.com/18
* 최초의 리눅스 배포판
- 1992년 5월 피터 맥도널드에 의해 만들어진 소프트랜딩 리눅스 시스템(Softlanding Linux System, SLS)이 리눅스 최초의 배포판
* 리눅스 배포판의 분류
1) 슬랙웨어
- 소프트웨어를 최상단에서 최대한 수정되어 배포되는 형식
- 사용자들이 내장된 프로그램을 사용하기엔 편리하나 패키지를 새롭게 적용하거나 수정하기는 힘들다.
- SuSE, Porteus, Vector Linux, Salix OS 등
2) 데비안
- dpkg 및 apt라는 독자적인 패키지 관리 도구 사용
- Knoppix, Corel, Lindows, Ubuntu, Linux Mint, Elementary OS, 백트랙, 칼리 등
3) 레드햇
- RPM 및 YUM이라는 패키지 관리 도구 제공
- RHEL(Red Hat Enterprise Linux), CentOS, Fedora, Oracle Linux, Scientific Linux, Asianux, Mandriva, Linux, Mandrake 등
* 새로운 계파의 리더
- 특정 계파의 리더 역할을 수행하는 배포판으로는 수세와 우분투
- 수세: YaST, ZYpp라는 독자적인 패키지 관리 도구 사용. SUSE Linux Enterprise, Open SUSE, Gecko Linux, Linkat 등
- 우분투: dpkg, apt 그대로 사용
* 주요 리눅스 배포판의 특징
1) 슬랙웨어
- 1993년 7월 패트릭 볼커딩에 의해 만들어짐
2) 데비안
- 전부 자유소프트웨어로 구성된 유닉스 계열 운영체제로 대부분이 GNU GPL 라이선스 기반 하에 있고 데비안 프로젝트에서 1993년 9월에 최초 버전 출시
3) 레드햇
- 가장 인기 있는 리눅스 배포판
- 1993년 밥 영이 리눅스 및 유닉스 소프트웨어 액세서리를 판매하는 ACC Corporation 설립
- 1994년 마크 유잉이 자신만의 독자적인 리눅스 배포판인 Red Hat Linux라는 이름으로 출시
- 1995년 밥 영이 마크 유잉의 사업을 인수하면서 Red Hat Software라고 회사명 바꿈
- 쉬운 설치와 독자적지 패키지 관리로 인기 상승
4) 수세
- 1992년 9월 S.u.S.E라는 이름의 회사가 Roland Dyroff, Thomas Fehr, Burchard Steinbild, Hubert Mantel에 의해 독일에 설립됨
- 1994년 3월 슬랙웨어 기반의 상용 리눅스 배포판인 SuSE Linux를 출시
- 1996년 5월 리눅스 커널 2.0 기반으로 배포
5) 우분투
- 2004년 10월 처음 등장
- 데비안 GNU/Linux를 기반으로 만든 운영체제
- 영국 회사인 캐노니컬의 CEO인 마크 셔틀워스가 처음 시작하였으나 개발의 주체는 우분투 커뮤니티
- 우분투는 반투어로 "네가 있으니 내가 있다"라는 의미. -> "다른 사람을 위한 인간애"
- 그놈 데스크톱 환경 기반의 그래픽 셸인 유니티 사용 -> 사용자의 편의성에 많은 초점을 맞춤
6) 기타 배포판
- CentOS, 젠투 리눅스, 리눅스 민트 등
7) 국내 리눅스 배포판
- 와우리눅스, 알짜리눅스 ,미지 리눅스 등 현재는 배포 중단
- 아시아눅스, SULinux, 안녕리눅스 등
1.2.3 리눅스 등장에 영향을 준 요소와 관련 용어
* GNU
- GNU란 재귀적 약어로 GNU's Not Unix 즉 "GNU는 유닉스가 아니다."라는 뜻으로 유닉스와 호환이 되면서 더 강력한 운영체제를 만들고자 하는 프로젝트이다.
- 리처드 스톨먼을 주축으로 자유로운 소프트웨어를 희망하던 공동체들이 가장 먼저 운영체제인 유닉스를 모태로 개발을 시작하면서 이 말이 탄생됨
- GNU는 유닉스와 호환이 되도록 만들어진 운영체제이기는 하지만 유닉스와는 다른 운영체제라는 의미를 내포시키기 위해서 만든 이름
* FSF
- 1985년 리처드 스톨먼이 설립한 자유 소프트웨어 재단(Free Software Foundation)
- 자유 소프트웨어의 생산, 보급, 발전을 목표로 만든 비영리 조직
- 자유 소프트웨어라는 용어는 무료나 공짜의 의미가 아닌 '구속되지 않는다'는 관점에서의 자유. 즉 프로그램의 변경이나 수정의 자유
* GNU GPL(General Public License)
- GNU 소프트웨어에서 카피레프트를 실제로 구현한 라이선스. 리서트 스톨먼이 명명함
- GNU 정신에 입각하여 자유 소프트웨어를 보호하며 실제적으로 카피레프트를 담보할 수 있는 법률적 허가권
* 커널
- 운영체제의 핵심으로 사람으로 비유하면 뇌에 해당함
- 시스템이 부팅될 때 로드되는데, 주된 역할은 시스템의 하드웨어 제어
- 3.8.10 (주버전.부버전.패치레벨)
* 리눅스와 GNU/Linux
- 1991년 리누스 토발스가 유닉스 커널과 호환 가능한 리눅스라는 커널 만듦
- 1992년 GNU시스템과 리눅스를 결합함으로써 하나의 완성된 자유 운영체제 만듦
1.2.4 리눅스의 철학
- 상용 유닉스는 시스템의 설계부터 개발, 품질 보증, 버전 관리 등의 모든 과정이 기업의 엄격한 통제 및 계획 아래서 개발된다.
- 리눅스는 인터넷을 통해 연결된 전 세계 개발자 그룹들의 개발 노력으로 이루어진다.
- 메일링 리스트, 유즈넷 뉴스 그룹 등을 통해 대화한다.
1.2.5 리눅스와 주요 라이선스(License)
* GPL(General Public License)
① 컴퓨터 프로그램은 어떠한 목적으로든지 사용할 수 있다. 다만 법으로 제한하는 행위는 할 수 없다.
② 컴퓨터 프로그램의 실행 복사본은 언제나 프로그램의 소스 코드와 함께 판매하거나 소스코드를 무료로 배포해야 한다.
③ 컴퓨터 프로그램의 소스 코드를 용도에 따라 변경할 수 있다.
④ 변경된 컴퓨터 프로그램 역시 프로그램의 소스코드를 반드시 공개 배포해야 한다.
⑤ 변경된 컴퓨터 프로그램 역시 반드시 똑같은 라이선스인 GPL 라이선스를 적용해야 한다.
* LGPL(Library/Lesser General Public License)
- 1991년 6월 FSF의 리처드 스톨먼은 GPL 라이선스의 강력한 카피레프트 조건과 단순한 사용 허가를 위한 절충안으로 소프트웨어 라이브러리에 관한 라이선스인 LGPL을 발표함
- LGPL이 기존의 GPL과 다른 점은 GPL이 적용된 라이브러리는 자유 소프트웨어를 만들 때에만 사용해야 하나, LGPL이 적용된 라이브러리는 자유 소프트웨어뿐만 아니라 독점 소프트웨어에서도 사용 가능하다는 점이다.
* BSD(Berkeley Software Distribution) 라이선스
- 버클리의 캘리포니아 대학에서 배포하는 공개소프트웨어 라이선스로 해당 소프트웨어를 누구나 개작할 수 있고, 수정한 것을 제한 없이 배포할 수 있다.
* 아파치(Apache) 라이선스
- 아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스 규정
- Apache HTTP Server, Hadoop, Hbase, Tomcat 등
* MPL(Mozilla Public License) 라이선스
- 모질라 재단에서 규정한 라이선스로 BSD와 GPL 라이선스의 혼합적 성격을 띠고 있다.
* MIT(Massachusetts Institue of Technology) 라이선스
- 미국 MIT 대학에서 해당 Software 공학도를 돕기 위해 개발한 라이선스로 BSD 라이선스를 기초로 작성되었다.
- X Window System, JQuery, Node.js, Ruby on Rails 등
* 공개 소프트웨어 라이선스 비교
라이선스 | 무료이용 | 배포 | 소스코드 취득 및 수정 | 2차적 저작물 소스코드 공개 |
독점 소프트웨어와 결합 |
GPL | 무료 | 허용 | 가능 | 공개 | 불가능 |
LGPL | 무료 | 허용 | 가능 | 공개 | 가능 |
BSD | 무료 | 허용 | 가능 | 비공개 가능 | 가능 |
Apache | 무료 | 허용 | 가능 | 비공개 가능 | 가능 |
MPL | 무료 | 허용 | 가능 | 공개 | 가능 |
MIT | 무료 | 허용 | 가능 | 비공개 가능 | 가능 |
1.3 리눅스의 특징
1.3.1 리눅스의 특징
1) 다중 사용자 및 다중 처리 시스템
2) 완전히 공개된 시스템
3) 뛰어난 네트워크 환경
4) 다양한 파일 시스템 지원
5) 뛰어난 이식성
6) 유연성과 확장성
7) 뛰어난 안정성과 보안성
8) 우수한 가격대 성능비
9) 다양한 응용프로그램의 제공
10) 다양한 배포판의 존재
1.3.2 리눅스의 단점
1) 기술지원의 부족
2) 특정 하드웨어에 대한 지원이 부족
3) 사용자의 숙련된 기술이 요구
1.3.3 리눅스의 기술적인 특징
1) 계층적인 파일 구조
2) 장치의 파일화
3) 가상 메모리 사용
4) 동적 라이브러리 지원
5) 가상 콘솔
6) 리다이렉션
1.3.4 리눅스 디렉터리 종류와 특징
* 디렉터리의 개요
- 폴더
* 디렉터리 종류와 특징
- /, /bin, /boot, /dev, /etc, /home, /lib, /lost+found, /mnt, /misc, /opt, /proc, /root, /sbin, /tmp, /usr, /var, /media, /selinux, /srv, /sys, /cgroup, /lib64, /run 등
1.3.5 리눅스 활용분야
* 리눅스 동향
- 초기에는 주로 서버로 이용됨
- 서버
- 데스크톱 및 개발: 우분투
- 임베디드: 스마트폰 및 태블릿 등의 모바일 분야, 스마트 TV, IVI, 가전기기 등
- 클라우트 컴퓨팅 구축, 빅데이터 및 사물인터넷 환경
* 리눅스 클러스터링
- 클러스터의 사전적인 의미는 무리, 송이 또는 한 덩어리라는 뜻으로 컴퓨터 데이터 통신 분야에서는 단말 제어 장치와 그에 접속된 복수 단말의 총칭을 일컫는다. 서버 분야에서의 클러스터는 여러 대의 컴퓨터를 연결하여 하나의 컴퓨터를 사용하는 것처럼 구성된 시스템을 말한다.
1) 고계산용 클러스터(HPC: High Performance Computing)
- 고성능의 계산 능력을 제공하기 위한 목적
- 과학계산용으로 활용
- 슈퍼컴퓨터가 HPC 클러스터로 구성하여 제작됨
2) 부하분산 클러스터(LVS: Linux Virtual Server Cluster)
- 대규모의 서비스를 제공하기 위한 목적으로 사용되는 클러스터 기법
- 이용자가 많은 웹 서비스 등에 활용가치가 높음
- 여러 대의 리얼 서버에 부하를 분산해주는 로드 밸런서를 두고 운영
3) 고가용성 클러스터(HA: High Availability Cluster)
- 지속적인 서비스 제공을 목적으로 하는 클러스터로 위에 열거된 부하분산 클러스터와 연동하여 많이 사용됨
* 임베디드 시스템(Embedded System)
- 마이크로컨트롤러(Microcontroller), 마이크로프로세서(Microprocessor), DSP(Digital Signal Processor) 등을 내장하여 특정한 기능을 반복적으로 수행하기 위해 하드웨어와 소프트웨어를 결합하여 만든 전자제어시스템을 일컫는다.
- 하나의 고성능 소형컴퓨터가 내장된 시스템
- 임베디드 리눅스: 휴대폰, 셋톱 박스, 자동차 등과 같은 임베디드 컴퓨터 시스템에서 리눅스를 이용하는 것
* 클라우드 컴퓨팅
1) 클라우드 컴퓨팅의 정의
- 말 그대로 '구름'이라는 의미에서 파생된 말로 컴퓨터나 서버 등의 자원들이 하나의 커다란 구름 모양의 집합을 이루고 있다고 하여 나온 말
- 구름으로 표현되는 IT자원들은 어디엔가 존재하고, 사용자는 단지 필요할 때 활용하기만 하면 된다는 의미->인터넷을 이용한 IT자원의 주문형(On-demand) 아웃 소싱 서비스
- 현재의 클라우드 컴퓨팅은 인터넷 기술을 기반으로 개인, 기업, 공공기관과 같은 외부 사용자에게 IT로 구현된 'as a service'로 제공되는 컴퓨팅 환경을 의미.
2) 클라우드 컴퓨팅에서 제공하는 서비스
- IaaS(Infrastructure as a Service): 업무 처리에 필요한 서버, 데스크톱 컴퓨터, 스토리지 같은 IT 하드웨어 자원을 클라우드 서비스로 빌려 쓰는 형태
- PaaS(Platform as a Service): 업무에 필요한 소프트웨어를 개발할 수 있는 환경(플랫폼)을 빌려 쓰는 형태
- SaaS(Software as a Service): 기업에서 사용하는 소프트웨어를 통째로 빌려 쓰는 형태
* 빅 데이터(Big Data)
1) 빅 데이터의 정의
- 빅 데이터란 기존의 데이터베이스 관리도구로 데이터를 수집, 저장, 관리, 분석할 수 있는 역량을 넘어서 대량의 정형 또는 비정형 데이터 집합 및 이러한 데이터로부터 가치를 추출하고 결과를 분석하는 기술
2) 빅 데이터의 관련 기술
- 기존의 통계학 및 전산학에서 사용되었던 데이터 마이닝, 기계 학습, 자연 언어 처리, 패턴 인식 등
- 텍스트 마이닝, 오피니언 마이닝, 소셜네트워크 분석, 군집분석 등이 주목 받고 있음
- 하둡(Hadoop): 대규모의 정형 및 비정형 데이터를 처리하는 데 있어 가장 기본적인 분석 인프라
- NoSQL 기술: 데이터를 유연하고 더욱 빠르게 처리
- R: 빅 데이터 분석 기술을 통해 분석된 데이터의 의미와 가치를 시각적으로 표현하는 기술
* 사물인터넷(IoT: Internet of Things)
1) 사물인터넷의 정의
- 생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경
- 다수의 IoT 기기들이 리눅스 운영체제를 기반으로 동작하고 있음
2) 사물인터넷 플랫폼
- 사물인터넷 플랫폼이란 사물 간에 인터넷을 할 수 있는 물적 기반인 통신 네트워크가 원활하게 작동하도록 하는 운영체제를 말함