Top Banner
오오오오오 오 오오오오 오오 ? 2016 Community Open Camp @Microsoft 오오오오 오오 오오오오 , 오 오 오 [email protected]
24

Why OpenStack is Operating System?

Apr 21, 2017

Download

Internet

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Why OpenStack is Operating System?

오픈스택이

왜 운영체제 인가 ?

2016Community Open Camp @Microsoft

오픈스택 한국 커뮤니티 , 유 명 환 [email protected]

Page 2: Why OpenStack is Operating System?

엑세스 주식회사 연구소장 (CTO)

정부통합전산센터 클라우드 기술위원

미래부 SW 마에스트로 멘토

네이버 D2 Startup Factory 파트너

오픈스택 한국 커뮤니티 네트워크 분과장

오픈소스 데이터센터 포럼 그룹지기

오픈소스 포럼 , 만물상 (IoT) 그룹지기

데이터센터용 ARM 서버 (V-Raptor) 개발 중

유 명 환 / FunFun Yoo

Page 3: Why OpenStack is Operating System?

하려는 이야기들

오픈스택 이란 ?⚀

운영체제 란 ?⚁

오픈스택은 클라우드 운영체제이다 !⚂

Page 4: Why OpenStack is Operating System?

오픈스택 이란 ?

Page 5: Why OpenStack is Operating System?

오픈스택 이란 ?

http://www.openstack.org/software/

Page 6: Why OpenStack is Operating System?

오픈스택 이란 ?

http://www.openstack.org/software/

???

Page 7: Why OpenStack is Operating System?

운영체제 란 ?

Page 8: Why OpenStack is Operating System?

클라우드 란 ?

클라우드 컴퓨팅의 정의는 개인이

가진 단말기를 통해서는 주로 입 /출력 작업만 이루어지고 , 정보분석

및 처리 , 저장 , 관리 , 유통 등의

작업은 클라우드라고 불리는 제 3 의

공간에서 이루어지는 컴퓨팅 시스템

형태라고 할 수 있다 .

< 위키백과 > “ 클라우드 컴퓨팅”

Page 9: Why OpenStack is Operating System?

클라우드 란 ?

클라우드 컴퓨팅의 정의는 개인이

가진 단말기를 통해서는 주로 입 /출력 작업만 이루어지고 , 정보분석

및 처리 , 저장 , 관리 , 유통 등의

작업은 클라우드라고 불리는 제 3 의

공간에서 이루어지는 컴퓨팅 시스템

형태라고 할 수 있다 .

< 위키백과 > “ 클라우드 컴퓨팅”

컴퓨터가 하는 일들

Page 10: Why OpenStack is Operating System?

운영체제 란 ? ( 범용 운영체제 )

운영 체제는 많은 부분을 이룬다 . 가장 중요한 요소 가운데

하나가 커널인데 , 커널은 일반인이 일반적으로 보지

못하는 낮은 수준의 프로세스를 제어한다 . 얼마나

메모리를 읽고 쓸 것인지 , 어느 프로세스를 실행할 것인지 , 모니터 , 키보드 , 마우스와 같은 장치를 통해 어떠한

정보를 주고받을 것인지 , 네트워크를 통해 받은 정보를

어떻게 해석할 것인지를 제어한다 .  사용자 인터페이스는

컴퓨터 사용자가 직접 프로그램을 제어하고 사용할 수 있게

하는 운영 체제의 기능이다 . 사용자 인터페이스는

아이콘과 바탕 화면을 지닌 그래픽이나 명령 줄을 지닌

문자를 이룰 수 있다 . 이와 비슷한 기능으로 API 가 있는데

이것은 응용 프로그램이 다른 프로그램과 상호 작용할 수

있게 하는 서비스와 코드 라이브러리가 한데 모여 있으며

운영 체제 그 자체라고 할 수도 있다 . < 위키백과 > “ 운영체제”

Page 11: Why OpenStack is Operating System?

운영체제 란 ? ( 범용 운영체제 )

운영 체제는 많은 부분을 이룬다 . 가장 중요한 요소 가운데

하나가 커널인데 , 커널은 일반인이 일반적으로 보지

못하는 낮은 수준의 프로세스를 제어한다 . 얼마나

메모리를 읽고 쓸 것인지 , 어느 프로세스를 실행할 것인지 , 모니터 , 키보드 , 마우스와 같은 장치를 통해 어떠한

정보를 주고받을 것인지 , 네트워크를 통해 받은 정보를

어떻게 해석할 것인지를 제어한다 .  사용자 인터페이스는

컴퓨터 사용자가 직접 프로그램을 제어하고 사용할 수 있게

하는 운영 체제의 기능이다 . 사용자 인터페이스는

아이콘과 바탕 화면을 지닌 그래픽이나 명령 줄을 지닌

문자를 이룰 수 있다 . 이와 비슷한 기능으로 API 가 있는데

이것은 응용 프로그램이 다른 프로그램과 상호 작용할 수

있게 하는 서비스와 코드 라이브러리가 한데 모여 있으며

운영 체제 그 자체라고 할 수도 있다 . < 위키백과 > “ 운영체제”

Page 12: Why OpenStack is Operating System?

운영체제 내부 구조

Application File

Disk Data

Application File

Application File

Process

Process

Process

Scheduler

Write back to storage

OS API OS API

OS API

User API

User API

User API

OS Internal

Page 13: Why OpenStack is Operating System?

운영체제 3 대 구성요소

SchedulerFile SystemAPI정해진 함수를 모르면 구현할 수 없다 .어플리케이션을 작성할 때 커널 함수를 몰라도 된다 .

프로세스를 실행시키기 위한 모든 자원을 관리한다 .

디스크에 저장된 실행 파일을 메모리에 올려 실행 가능한 프로세스 심볼로 바꾸어준다 .운영체제에 종속적이지 않고 독립적으로 사용될 수 있다 .

Page 14: Why OpenStack is Operating System?

운영체제 구성요소 (1) : APIApplication

(System) Library

System Call

Virtual File System

Device File System

Character Device Driver

General File System Network File System

Buffer Cache

Block Device Driver

TCP/IP Protocol Stack

Network Device Driver

Device Interface

Block Device Character Device Network Device

User Level

Kernel Level

System Call Hacking

Software Interrupt

Page 15: Why OpenStack is Operating System?

운영체제 구성요소 (1) : API

int main(){ ………

open();

………}

fd = open();sd = socket();

Application

open(){ ………

swi 0x900005;

………}

(System) Library

Interrupt Vector (1)

Interrupt Vector (2)

Interrupt Vector (3)

Interrupt Vector (4)

Interrupt Vector (5)

………sys_open()

Software In-terrupt System Call

Interrupt Vector Table

User Level Kernel Level

Page 16: Why OpenStack is Operating System?

운영체제 구성요소 (2) : Scheduler

hello.c

a.outhello.exe BSS

STACK

. . . . . .

Loader

CPUMemory

Latch

Register Bank

ALU

Reg.

Reg.

Reg.CPU I/O Pin

CPU Core CPU Peripheral

LED

DATA

TEXT

Compiler1

2

3

Page 17: Why OpenStack is Operating System?

운영체제 구성요소 (2) : Scheduler

Multi-Process ( 범용 OS)

Process

“Text” Section

“Data” Section

“BSS” Section

………“Stack” Section

Process

“Text” Section

“Data” Section

“BSS” Section

………“Stack” Section

Process

“Text” Section

“Data” Section

“BSS” Section

………“Stack” Section

Task1 Process Task

2 Process Task3 Process

Process

“Text” Section

“Data” Section

“BSS” Section

………“Stack” Section

Task4 Process

Process

“Text” Section

“Data” Section

“BSS” Section

………“Stack” Section

Task5 Process

Page 18: Why OpenStack is Operating System?

운영체제 구성요소 (3) : File System

실행되지 않는다 !

실행되지 않는다 !

Page 19: Why OpenStack is Operating System?

오픈스택은

클라우드

운영체제이다 !

Page 20: Why OpenStack is Operating System?

오픈스택 구조

Scheduler

API

File System

Page 21: Why OpenStack is Operating System?

운영체제 내부 구조

http://redhatstorage.redhat.com/2015/05/21/software-defined-storage-can-deliver-the-promise-of-openstack-manila/

Page 22: Why OpenStack is Operating System?

운영체제 내부 구조

VM Image File

VM Image File

VM Image File

VM

VM

VM

Scheduler

Write back to storage

OS API OS API

OS API

User API

User API

User API

OpenStack Internal

Object Stor-age

Page 23: Why OpenStack is Operating System?

오픈스택은 VM 을 실행 / 관리하기 위한 운영체제이다 !

http://docs.openstack.org/juno/install-guide/install/apt/content/ch_overview.html

Page 24: Why OpenStack is Operating System?

DIT : Do It Together!