3. 프로세스 란?
• 실행중인 프로그램
• 최소 하나의 스레드를 가지고 있다.
• 프로세스의 구성
– PID
– 프로세스 상태
– 프로세스 카운터
– 스케줄링 우선순위
– 권한
– 프로세스의 부모와 자식 프로세스
– 프로세스의 데이터와 명령어가 있는 메모리 위치를 가리키는 포인터
– 프로세스에 할당된 자원들을 가리키는 포인터
– 실행 문맥
2017-05-19 3
4. 데이터 공유 방법
• Shared Memory
– 컴퓨터 환경에서 여러 프로그램이 동시에 접근 할 수 있는 메모리.
– 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 사용함.
– 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행 할 수 있
다.
– CPU가 접근 할 수 있는 랜덤 엑세스 메모리(RAM)을 가리킨다.
• Socket 통신
– Socket을 통하여 통신망으로 데이터를 송/수신.
• Database
– 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합.
– 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화 하여 기억
시켜 놓은 자료의 집합체
– Mysql, Maria, Oracle, Redis, Mongo, Sqlite등
• 파일 저장
– 데이터를 txt등 특정 위치에 저장함.
2017-05-19 4
5. 데이터 공유 방법에 대한 특징
2017-05-19 5
Shared Memory Socket 통신 Database 파일 저장
장점
- 빠른 속도
- 여러 프로세스에서 동시
공유
- 네트워크를 통한 데이터
전달
- 모든 언어 사용 가능
- 여러 프로세스에서 동시
공유
- 모든 언어 사용 가능
- 여러 PC에서 데이터 공유
가능
- 대량의 데이터를 가지고
있다.
- 여러 프로세스에서 동시
공유
- 모든 언어 사용 가능
단점
- 제한된 용량
- 언어의 제한
- 현재 PC에서만 공유 가능
- 프로토콜 정의 필요
- 소켓으로 연결된 프로세스
에서만 데이터 공유 가능
- 네트워크 단절 시 데이터
공유 불가
- 데이터 누락 발생
- Database 설치 필요
- 과부화 발생으로 인한 속
도 저하
- 과부화 발생으로 인한 속
도 저하
- 현재 PC에서만 공유 가능
• JAVA에서 Shared Memory를 사용 하는 방법
– JAVA Process와 C Process를 연결하는 별도의 중간 C Process를 DLL 형태로 만들어서
loadLibrary()를 사용해 함수를 호출
– 오버헤드 발생
• Python에서 Shared Memory를 사용 하는 방법
– sysv_ipc 모듈 설치 후 사용
6. 데이터 공유 방법 예제
2017-05-19 6
• Shared Memory
• Socket 통신
• Database
• 파일 저장
(구두로 설명)
Torstein Hønsi: 토(르)스테인 헨씨
Vik: 실리콘 밸리가 아닌 노르웨이의 작은 마을 Vik에서 만듬. 현재는 수익의 97%가 노르웨이 외의 고객으로 창출됨 (Vik: 면적은 대구만함, 서울보다큼, 인구수는 2731명뿐;;;;)
VML (Vector Markup Language): 2차원 벡터 그래픽스를 위한 XML 기반의 파일 포멧
Highstock: 재무 데이터 시각화 및 대규모 데이터 세트에 최적화된 차트 작성 솔루션
Highmaps: 지도영역에 대한 데이터 표시 가능
Compatible: IE, Chrome, Firefox뿐 아니라, Opera, Safari 지원, Tablet / Mobile 지원, iPad, iPhone과 같은 iOS 지원, Anroid 브라우저 지원
(Non-Commercial) Free: 개인사용자의 경우 무료, 업체의 경우 1개발자마다 410.00 USD…비싼데?
간단한 설치: 별도의 과정없이 다운받은 파일을 경로 옮기고, load하면 끝. License 등록 과정 없음. source를 제공하기때문에 Edit해도 무관
심플한 설정 신텍스: 뒷장에서 소스설명할때 설명
기타: 동적으로 데이터를 추가하여 차트 구성 가능, PNG, JPG, PDF, SVG로 Export 가능,
차트종류:
- Line: 꼭지점이 직각으로 이루어져있는 Line, 곡선으로 이어진 Spline 차트
- Bar: Column 차트, 가로 Bar 차트, Stacked Bar 차트, Stacked Percentage 차트, Range Bar 차트
- Pie: 파이차트, 도넛 차트, 반짤린 Pie/도넛 차트
- Area: 영역차트, Stacked 영역차트, Percentage 영역차트, 곡선 영역차트, Area Range 차트