엑세스 주식회사 연구소장 (CTO)
정부통합전산센터 클라우드 기술위원
미래부 SW 마에스트로 멘토
네이버 D2 Startup Factory 파트너
오픈스택 한국 커뮤니티 네트워크 분과장
오픈소스 데이터센터 포럼 그룹지기
오픈소스 포럼 , 만물상 (IoT) 그룹지기
데이터센터용 ARM 서버 (V-Raptor) 개발 중
유 명 환 / FunFun Yoo
하려는 이야기들
오픈스택 이란 ?⚀
운영체제 란 ?⚁
오픈스택은 클라우드 운영체제이다 !⚂
오픈스택 이란 ?
오픈스택 이란 ?
http://www.openstack.org/software/
오픈스택 이란 ?
http://www.openstack.org/software/
???
운영체제 란 ?
클라우드 란 ?
클라우드 컴퓨팅의 정의는 개인이
가진 단말기를 통해서는 주로 입 /출력 작업만 이루어지고 , 정보분석
및 처리 , 저장 , 관리 , 유통 등의
작업은 클라우드라고 불리는 제 3 의
공간에서 이루어지는 컴퓨팅 시스템
형태라고 할 수 있다 .
< 위키백과 > “ 클라우드 컴퓨팅”
클라우드 란 ?
클라우드 컴퓨팅의 정의는 개인이
가진 단말기를 통해서는 주로 입 /출력 작업만 이루어지고 , 정보분석
및 처리 , 저장 , 관리 , 유통 등의
작업은 클라우드라고 불리는 제 3 의
공간에서 이루어지는 컴퓨팅 시스템
형태라고 할 수 있다 .
< 위키백과 > “ 클라우드 컴퓨팅”
컴퓨터가 하는 일들
운영체제 란 ? ( 범용 운영체제 )
운영 체제는 많은 부분을 이룬다 . 가장 중요한 요소 가운데
하나가 커널인데 , 커널은 일반인이 일반적으로 보지
못하는 낮은 수준의 프로세스를 제어한다 . 얼마나
메모리를 읽고 쓸 것인지 , 어느 프로세스를 실행할 것인지 , 모니터 , 키보드 , 마우스와 같은 장치를 통해 어떠한
정보를 주고받을 것인지 , 네트워크를 통해 받은 정보를
어떻게 해석할 것인지를 제어한다 . 사용자 인터페이스는
컴퓨터 사용자가 직접 프로그램을 제어하고 사용할 수 있게
하는 운영 체제의 기능이다 . 사용자 인터페이스는
아이콘과 바탕 화면을 지닌 그래픽이나 명령 줄을 지닌
문자를 이룰 수 있다 . 이와 비슷한 기능으로 API 가 있는데
이것은 응용 프로그램이 다른 프로그램과 상호 작용할 수
있게 하는 서비스와 코드 라이브러리가 한데 모여 있으며
운영 체제 그 자체라고 할 수도 있다 . < 위키백과 > “ 운영체제”
운영체제 란 ? ( 범용 운영체제 )
운영 체제는 많은 부분을 이룬다 . 가장 중요한 요소 가운데
하나가 커널인데 , 커널은 일반인이 일반적으로 보지
못하는 낮은 수준의 프로세스를 제어한다 . 얼마나
메모리를 읽고 쓸 것인지 , 어느 프로세스를 실행할 것인지 , 모니터 , 키보드 , 마우스와 같은 장치를 통해 어떠한
정보를 주고받을 것인지 , 네트워크를 통해 받은 정보를
어떻게 해석할 것인지를 제어한다 . 사용자 인터페이스는
컴퓨터 사용자가 직접 프로그램을 제어하고 사용할 수 있게
하는 운영 체제의 기능이다 . 사용자 인터페이스는
아이콘과 바탕 화면을 지닌 그래픽이나 명령 줄을 지닌
문자를 이룰 수 있다 . 이와 비슷한 기능으로 API 가 있는데
이것은 응용 프로그램이 다른 프로그램과 상호 작용할 수
있게 하는 서비스와 코드 라이브러리가 한데 모여 있으며
운영 체제 그 자체라고 할 수도 있다 . < 위키백과 > “ 운영체제”
운영체제 내부 구조
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
운영체제 3 대 구성요소
SchedulerFile SystemAPI정해진 함수를 모르면 구현할 수 없다 .어플리케이션을 작성할 때 커널 함수를 몰라도 된다 .
프로세스를 실행시키기 위한 모든 자원을 관리한다 .
디스크에 저장된 실행 파일을 메모리에 올려 실행 가능한 프로세스 심볼로 바꾸어준다 .운영체제에 종속적이지 않고 독립적으로 사용될 수 있다 .
운영체제 구성요소 (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
운영체제 구성요소 (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
운영체제 구성요소 (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
운영체제 구성요소 (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
운영체제 구성요소 (3) : File System
실행되지 않는다 !
실행되지 않는다 !
오픈스택은
클라우드
운영체제이다 !
오픈스택 구조
Scheduler
API
File System
운영체제 내부 구조
http://redhatstorage.redhat.com/2015/05/21/software-defined-storage-can-deliver-the-promise-of-openstack-manila/
운영체제 내부 구조
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
오픈스택은 VM 을 실행 / 관리하기 위한 운영체제이다 !
http://docs.openstack.org/juno/install-guide/install/apt/content/ch_overview.html
DIT : Do It Together!