2018/05

    shared memory with semaphore

    앞서 'shared memory with mutex' 에서는 2개 이상의 프로세스에서 공유 메모리를 이용해 데이터를 공유할 때 Lock / Unlock을 위해 mutex를 사용하는 방법에 대해 살펴보았습니다. 이번 글에서는 공유메모리를 이용해 데이터를 공유할 때 여러 프로세스들이 semaphore을 이용해 Lock / Unlock 하는 방법에 대해 알아보겠습니다. 앞서 'shared memory with mutex'를 보신 분들이라면 쉽게 이해 하실 수 있는데요, 코드 중 mutex 관련된 코드 대신 semaphore 코드로 대체해 주는 것 밖에 없습니다. 저는 semaphore을 POSIX Spinlock API들을 사용하였습니다. semaphore는 커널에서 관리해주는 정수로서 0이하의 음수 값으로는..

    [ODP] 실행시간 측정하기

    이 글은 ODP(Open Data Plane) 오픈소스 프로젝트를 이용하여 개발 시 ODP API를 이용한 내용을 다루고 있습니다. ODP 프로세스를 개발 시 프로세스 내의 실행시간 측정을 위해서는 아래와 같은 방식으로 시간 측정이 가능합니다. 리눅스 시스템 프로그래밍 시 사용하는 방법과 매우 유사하기에 빠르게 이해할 수 있을 것입니다. 1234567891011121314#include #include #include odp_time_t s_time;odp_time_t e_time;odp_time_t e_time; s_time = odp_time_global();// Do locking and unlockinge_time = odp_time_global(); d_time = odp_time_diff(e_..

    ssh man-in-the-middle attack 문제 해결

    ssh를 이용해 server 또는 target에 접속 시 위와 같은 error를 볼 수 있었습니다.(ssh로 접속하려는 IP 210.***.***.***는 예시로 든 IP입니다.) 123456789101112$ssh user@210.***.***.*** @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdroppin..

    [Review] Effective Debugging

    [Review] Effective Debugging

    Effective Debugging(디버깅 지옥에서 탈출하는 66가지 전략과 기법)디오미디스 스피넬리스 저 | 남기혁 옮김한빛미디어 CHAPTER 1 고차원 전략 아이템 1: 모든 문제를 이슈 추적 시스템으로 관리하기 아이템 2: 해결책을 웹에서 검색할 때 검색어를 구체적으로 표현하기 아이템 3: 선행 조건과 후행 조건 만족 여부 확인하기 아이템 4: 문제 발생 지점부터 버그를 추적하거나, 프로그램 시작 지점부터 버그를 찾아나가기 아이템 5: 정상 시스템과 비정상 시스템의 차이점 분석하기 아이템 6: 소프트웨어에서 제공하는 디버깅 기능 활용하기 아이템 7: 빌드 및 실행 환경을 다양하게 구성하기 아이템 8: 가장 중요한 문제에 집중하기 CHAPTER 2 범용적인 디버깅 기법 아이템 9: 성공적인 디버깅을..