Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20170818 tech day-8th-서로 다른 프로세스간 데이터 공유-황희정

서로 다른 프로세스간 데이터 공유 방법

  • Login to see the comments

20170818 tech day-8th-서로 다른 프로세스간 데이터 공유-황희정

  1. 1. ㈜유미테크 서로 다른 프로세스간 데이터 공유 방법 발표자 : 개발 1팀 황희정 2017-08-18
  2. 2. 목차 • 프로세스란? • 데이터 공유 방법 • 데이터 공유 방법에 대한 특징 • 데이터 공유 예제 2
  3. 3. 프로세스 란? • 실행중인 프로그램 • 최소 하나의 스레드를 가지고 있다. • 프로세스의 구성 – PID – 프로세스 상태 – 프로세스 카운터 – 스케줄링 우선순위 – 권한 – 프로세스의 부모와 자식 프로세스 – 프로세스의 데이터와 명령어가 있는 메모리 위치를 가리키는 포인터 – 프로세스에 할당된 자원들을 가리키는 포인터 – 실행 문맥 2017-05-19 3
  4. 4. 데이터 공유 방법 • Shared Memory – 컴퓨터 환경에서 여러 프로그램이 동시에 접근 할 수 있는 메모리. – 과다한 복사를 피하거나 해당 프로그램 간 통신을 위해 사용함. – 환경에 따라 프로그램은 하나의 프로세서에서나 여러 개의 프로세서에서 실행 할 수 있 다. – CPU가 접근 할 수 있는 랜덤 엑세스 메모리(RAM)을 가리킨다. • Socket 통신 – Socket을 통하여 통신망으로 데이터를 송/수신. • Database – 여러 사람들이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합. – 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화 하여 기억 시켜 놓은 자료의 집합체 – Mysql, Maria, Oracle, Redis, Mongo, Sqlite등 • 파일 저장 – 데이터를 txt등 특정 위치에 저장함. 2017-05-19 4
  5. 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. 6. 데이터 공유 방법 예제 2017-05-19 6 • Shared Memory • Socket 통신 • Database • 파일 저장
  7. 7. Q & A 7
  8. 8. Who's Next? 개발 3팀, 김성중 팀장 '재미없는 Java Runtime Process Debug' 2017-05-19 8

×