ln -s 원본폴더 만들폴더이름


Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. BlogIcon Mont blanc bags 2012.09.05 17:59 신고  댓글주소  수정/삭제  댓글쓰기

    로칼뉴스 교육 이민 관광 부동산 정보 무료 이민법률상담 벼룩시장 구인구직

make 파일 기본

Server/Linux 2009.12.16 15:56

target:dependency
       command
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  1. BlogIcon Designer bags replica 2012.09.11 15:38 신고  댓글주소  수정/삭제  댓글쓰기

    로칼뉴스 교육 이민 관광 부동산 정보 무료 이민법률상담 벼룩시장 구인구직

스마트 폰의 OS

Handset 2009.04.08 07:55
스마트폰 OS 에는 여러가지가 있다.

마이크로소프트의 윈도우 모바일

리눅스 기반 오픈소스 리모

구글 안드로이드

심비안

애플의 아이폰

등등등...

최근 미국의 대표적인 통신회사 버라이즌의 CEO 로웰 맥아담이 CTIA스프링2009 에서

스마트폰의 OS 가 너무 많아 개발비용이 너무 많이 들어간다고 말했다.

또 시장이 이 딜레마를 해결해줄 것이라고 언급했다.

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

메모리 장벽(Memory Barrier) 이란 무엇인가?


-> 컴파일러 최적화 옵션은 프로그램 실행 속도를 향상하기 위하여 어셈블리 명령어 순서를 바꿀 수 있다. 더 나아가 멀티 프로세서 환경에서는 메모리 접근 순서를 바꿀 수 있다. 메모리 장벽 기초함수(primitive)는 그 이후에 있는 작업을 시작하기 전에 이전에 있는 작업을 끝마치게 한다. 따라서 메모리 장벽은 어떤 어셈블리 명령어도 통과할 수 없는 방화벽과 비슷하다.

메모리 장벽의 역할을 하는 어셈블리 명령어

  • 입출력 포트에 동작하는 모든 명령어
  • lock 접두어가 붙은 모든 명령어
  • 제어 레지스터나 시스템 레지스터, 디버그 레지스터에 쓰는 명령어. ex) eflags의 IF 플래그의 상태를 변하게 하는 cli, sti 명령어
  • 펜티엄4에서 소개된 lfence, sfence, mfence 어셈 명령어
  • 인터럽트나 예외 핸들러를 끝마칠 때 사용하는 iret 명령어

리눅스 메모리 장벽 함수 

 mb() : 멀티프로세서(MP)와 유니프로세서(UP) 모두에서 사용할 수 있는 메모리 장벽
rmb() : MP와 UP에서 모두 사용할 수 있는 읽기용 메모리 장벽
wmb() : MP와 UP에서 모두 사용할 수 있는 쓰기용 메모리 장벽
smp_mb() : MP에서만 사용할 수 있는 메모리 장벽
smp_rmb() : MP에서만 사용할 수 있는 읽기용 메모리 장벽
smp_wmb() : MP에서만 사용할 수 있는 쓰기용 메모리 장벽

 


 

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

프로세스들을 트리형태로 보여주는 명령. 신기신기.ㅋㅋ

pstree -h

사용자 삽입 이미지

내가 실행한 pstree 명령이 보인다.ㅋㅋ
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

  아래는 fork 를 사용한 테스트 프로그램이다.
 
     1 #include <stdio.h>
      2 #include <sys/types.h>
      3 #include <unistd.h>
      4
      5 int main()
      6 {
      7         pid_t pid;
      8         printf("Calling fork \n");
      9
     10         pid = fork();
     11
     12         if(pid == 0)
     13                 printf("I'm the child process\n");
     14         else if(pid > 0)
     15                 printf("I'm the parent process\n");
     16         else
     17                 printf("fork failed\n");
     18
     19         return 0;
     20 }

gcc -Wall -o fork fork.c 해서 컴파일하고 strace 를 해보자.

사용자 삽입 이미지

화면에서 보이는 것이 무엇인지 잘 이해할 수 없다.....

프로그램이 실행될 때 어쩐 시스템콜이 발생하는지를 추적해 주는 명령어인 것이다.
Posted by 행복한 프로그래머 궁금쟁이박
TAG C, 리눅스

댓글을 달아 주세요

vi 에서 들여쓰기가 되게 하는 방법이다.

자신의 계정 루트에서 다음과 같이 파일을 복사한다.

 cp /usr/share/vim/vim64/vimrc_example.vim .vimrc

Posted by 행복한 프로그래머 궁금쟁이박
TAG vi, 리눅스

댓글을 달아 주세요

서버에 접속한 사용자들의 활동을 보여준다.

PID, 실행되고 있는 프로세스, 가상주소 등을 볼 수 있다.

사용자 삽입 이미지

Posted by 행복한 프로그래머 궁금쟁이박
TAG 리눅스

댓글을 달아 주세요

strip cast.out 하면 실행파일의 디버깅 심볼을 빼버려서 용량이 줄어든다.

사용자 삽입 이미지

심볼들을 제거했기 때문에 nm 명령을 실행하면 no symbols 메시지를 출력하게 된다.



Posted by 행복한 프로그래머 궁금쟁이박
TAG 리눅스

댓글을 달아 주세요

실행파일들의 속성이나 특징들을 보여준다.

file cast.out 하면...

cast.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

ELF 포맷이 일반적.

32비트

인텔 80386 ( 만약 arm cpu 면 실행 안될 것이다. )

ldd : 실행파일이 실행할 떄 필요한 참조 라이브러리들을 보여준다.

ldd cast.out

linux-gate.so.1 =>  (0x0047f000)
        libc.so.6 => /lib/libc.so.6 (0x00111000)
        /lib/ld-linux.so.2 (0x003c4000)

libc.so -> 공유 라이브러리



Posted by 행복한 프로그래머 궁금쟁이박
TAG 리눅스

댓글을 달아 주세요