전체 글

전체 글

    [Review] 입문자를 위한 병렬 프로그래밍

    [Review] 입문자를 위한 병렬 프로그래밍

    입문자를 위한 병렬 프로그래밍저자 : 피터 파체코 지음역자 : 김성민출판사 : 비제이퍼블릭 | 2015.02.26 입문자를 위한 병렬 프로그래밍.. 이 책은 출판 즉시 구매해서 보았던 책입니다. 병렬처리에 대한 관심을 가질 때 쯤 제 요구와 딱 맞는 시기에 출간되어 아무 생각도 않고 구매했는데요, 지금은 이 책이 제이펍에서 출간된 책 들 중 가장 추천하고 싶은 책입니다. 병렬처리는 이제 선택이 아닌 필수가 되어가고 있습니다. 싱글 코어의 시대는 지난지 오래되었고, 멀티코어의 중요성과 더불어 프로그램의 성능을 최고로 끌어올리기 위한 노력 중인 시대입니다. 코어의 Clock을 증가시켜 성능을 개선하던 시대는 이제 한계에 부딪혀 CPU를 여러개 함께 연산에 사용하는 멀티코어 시스템을 사용하는 지금, 병렬처리의..

    [Review] 김태용의 리눅스 쉘 스크립트 프로그래밍 입문

    [Review] 김태용의 리눅스 쉘 스크립트 프로그래밍 입문

    김태용의 리눅스 쉘 스크립트 프로그래밍 입문저자 : 김태용 지음출판사 : 제이펍 | 2009.0930 학생시절 리눅스 기반 프로그래밍을 즐겨했지만, 현재는 취업 후 개발업무를 담당하고 있지 않아, 리눅스 쉘 명령어 사용이 가물가물하였습니다. 이러던 차에 오랜만에 예전 기억을 되새길 겸 집 한켠에 구매 후 쌓아만 두었던 책을 꺼내었는데요, 그 책이 바로 이 책입니다. 이 책을 처음 구매할 당시에 많은 사람들이 추천하였던 책인데요, 지금도 블로그 및 리뷰를 보면 리눅스 쉘 학습 시 사람들이 가장 애용하는 책 중 하나였습니다. 이 책과 함께 BJ퍼블릭에서 출시한 리눅스 커맨드라인 완벽 입문서라는 책을 구매하여 함께보았습니다.먼저, 이 책의 목차를 보시죠 1장 리눅스 쉘과 명령어 기초1.1 리눅스와 쉘1.2 리..

    [참고용] test 명령어 표현식

    ( EXPRESSION )EXPRESSION is true! EXPRESSIONEXPRESSION is falseEXPRESSION1 -a EXPRESSION2both EXPRESSION1 and EXPRESSION2 are trueEXPRESSION1 -o EXPRESSION2either EXPRESSION1 or EXPRESSION2 is true-n STRINGthe length of STRING is nonzeroSTRINGequivalent to -n STRING-z STRINGthe length of STRING is zeroSTRING1 = STRING2the strings are equalSTRING1 != STRING2the strings are not equalINTEGER1 -eq I..

    [프로세스 관리] 2. 새로운 프로세스 실행

    [프로세스 관리] 2. 새로운 프로세스 실행

    앞에서 프로세스의 PID에 대해서 알아보았는데요, 굉장히 간단하게 getpid() 시스템 콜을 이용해서 자신의 프로세스 ID를 알 수 있었습니다. 이번에는 정말 새로운 프로세스를 생성하는 시스템 콜에 대해 알아보고, 각 차이점에 대해 알아봅시다. 리눅스에서 시스템 콜을 이용하여 프로세스를 실행하면 두가지 방식이 있습니다. 프로그램 바이너리를 메모리에 적재하고 프로세스의 주소공간에 있는 이전 내용을 대체하고 새로운 프로세스를 실행하거나, 부모 프로세스의 주소공간 등을 그대로 복사 한 후 새로운 프로세스를 실행하는 방식입니다. 총 3가지 시스템 콜에 대해서 알아볼텐데요, exec 계열의 시스템 콜, fork 그리고 vfork 까지 알아볼게요. 먼저, exec 시스템 콜에 대해 알아보겠습니다.exec 계열의 ..

    [프로세스 관리] 1. 프로세스의 ID 얻기

    [프로세스 관리] 1. 프로세스의 ID 얻기

    앞에서 프로세스에 대해서 간단히 설명드렸는데요,그 내용 중에 프로세스를 식별할 수 있는 번호 ! PID를 간단하게 설명했었습니다. 이번 포스팅에서는 자신과 자신의 부모의 PID를 얻어오는 방법에 대해서 알아보겠습니다. 간단합니다. 자신의 PID를 호출하는 getpid() 시스템 콜과 getppid() 시스템 콜을 사용하시면 됩니다. #include #include pid_t getpid(void);pid_t getppid(void); 입력 인자 void 잘라낼 파일의 디스크립터 반환값 pid_t 실패의 경우는 없습니다. 해당 프로세스의 PID값을 반환 굉장히 단순합니다. 그럼 예제를 보시죠! 아래와 같습니다. 자신과 자신의 부모 프로세스의 PID값을 출력해주는 예제입니다. 아래는 해당 프로그램의 출력화면..

    [프로세스 관리] 0. 프로그램 / 프로세스 / 스레드

    먼저 프로세스 관리에 대한 시스템 프로그래밍에 대해 알아보기 전에 프로세스에 대해 간단하게 알아 봅시다. 실제로 프로세스와 스레드 등은 리눅스 커널 분석에서 한번 알아보도록 자세히 알아보구요, 여기선 간단히 ^^ 프로세스는 기본적으로 현재 실행중인 프로그램! 살아있는 프로그램! 을 말합니다. 그 말인 즉슨, 여러분들이 프로그램을 사용하고 싶을 때 더블 클릭이던, 엔터로 실행을 하던그 프로그램이 동작하기 위해 창이 열리고 Memory, Hardware(음악 프로그램이라면 스피커가 되겠죠?)등의 컴퓨터 자원(Resource)를 할당 받아 실행되고 있는 프로그램입니다. 기본적인 프로그램 들은 바이너리 형태로 디스크 같은 저장장치에 기록되어 있습니다. 언제든지 실행하면 컴파일되어 기록되어 있는 코드들이 수행되고..