iPhone 쿠션

ETC/Whatever! 2010. 5. 26. 17:33


재미있네요.. 어지간히 유명하다 보니 이런 독특한 제품도..^^;

'ETC > Whatever!' 카테고리의 다른 글

The Expert (Short Comedy Sketch)  (0) 2014.04.05
cisco 안마기?!  (1) 2010.09.27
쉘노트 - shellnote  (0) 2010.09.27
You are being Monitored!  (0) 2010.06.29
Art : Wiltshire's CD Sea  (0) 2010.06.25

설정

트랙백

댓글

리눅스 메모리 구조에 관한 간략한 설명

IT/Security/System 2010. 5. 11. 17:51

======================================================================================================

리눅스에서는 바이너리 실행파일의 형식으로 ELF(Executable and Linking Format) 형식을 사용한다.
리눅스 커널에서 ELF형식의 바이너리가 메모리에 로드되는 방식은 binfmt_elf.c에 들어있다.
binfmt_elf.c 에 보면 메모리 구조는 대략적으로 아래의 그림과 같이 4가지의 영역으로 구분 된다.

우선 텍스트(Text) 영역은 프로그램의 어셈블리 코드가 저장된다.
텍스트 영역공유라이브러리와 기계어 코드가 저장 된다.
데이터(Data) 영역전역(Global) 데이터들이 저장된다.
힙(Heap) 영역동적 변수가 사용하는 영역으로
C 언어에서
malloc()과 같은 시스템 호출을 통해서 할당되는 메모리는 힙 영역에 할당된다. 스택 영역은 지역변수(local)가 사용하는
영역이다.

스택은 사용자 주소 공간의 최상위 부분에 위치하며, LIFO(Last In, First Out) 모델에 따라 동작한다.
함수가 호출될 때마다 지역 변수와 함수의 인자, 리턴어드레스 등을 위한 새로운 프레임이 스택에 생성되는데
CPU는 값을 집어넣는 push 연산과 값을 꺼내는 pop 연산을 통하여 스택을 제어한다. 

======================================================================================================

예전에 어떤 논문을 보고 잠시 기록해놨던 내용인데, 정확히 어떤 논문이었는지를 모르겠네요.. -_-;
암튼 깔끔하게 잘 정리되어 있어서 스크랩했던 부분입니다. 참고하시길 바라겠습니다.

'IT/Security > System' 카테고리의 다른 글

ASCII-Hex Table  (0) 2010.06.04
ARM 디컴파일러 출시!  (0) 2010.06.04
Ubuntu 10.04 Beta2 설치기  (0) 2010.04.22
/bin/sh 주소를 찾을 때  (0) 2010.03.17
gcc 2.96에서 buf와 buf2의 거리표  (0) 2010.03.14

설정

트랙백

댓글

대체 뭐가 다를까?

IT/Security/Anti Virus 2010. 5. 11. 17:35


예전 스크린 샷들을 뒤지다보니.. 이게 나왔네요.
집에 있는 데스크탑에서.. 2009년도 12월 23일 날짜에 검출된 내역인데,
역시 백신들은 nc를 많이 싫어하네요..ㅎㅎㅎ;

아무튼.. 조금 황당해서.. 찍어놓은 듯 싶습니다.
대소문자 차이...음...-_-)a

설정

트랙백

댓글

@Home Project / BOINC 를 아시나요?


@Home Project 라고 들어보신 적이 있으신가요?
혹은 BOINC 라고 들어보신 적이 있으신가요?

막대한 양의 작업을 보다 효율적으로 처리하기 위해 많은 PC가 그 작업(unit)을 나누어 갖고 각자 처리를 한 후, 메인 서버로 결과 값을 전송해서 작업을 수행해나가는 프로젝트를 총칭합니다. 즉, 인터넷 기반 분산 컴퓨팅을 뜻합니다.

사실 @Home Project 라고 불리는 지는 잘 모르겠습니다. 보통 이러한 프로젝트의 경우 대부분의 작업(unit) 들이 개인에 의해서 처리되는 경우가 많다보니, 대부분의 프로젝트 명들이 "~~~@Home" 형식으로 네이밍 되어 있습니다.
별도로 총칭하는 이름이 없는 듯해서, 이 포스팅에서는 @Home 프로젝트라고 칭했습니다..^^;

사실 이러한 서비스는 국내에서 Korea@Home 으로 시행 된 바가 있었습니다. 역시나 아직 한국은 이런 대규모 분산 처리 작업에 대해서는 일반인 들에게 알려진 바가 거의 없다보니 참여율이 매우 저조했지만 원로 멤버들의 노력과 홍보로 그래도 누적 Agent PC 10만대를 뛰어넘는 참여율을 보이는데 성공했습니다. 본인도 간간히 참여해서 감사 상품까지 받았었지요..ㅎㅎ

이번 년도(2010)부터 Korea@Home은 Korea SETI로 새롭게 거듭난다고 하니, 기대해볼 점입니다. :)

본론으로 돌아와서,

한국에서는 이러한 프로젝트를 다루는 전문적인 팀들이 있는데, 아마 Korea@Home에서만 활동하는 듯한 파코즈 팀(다들 잘 아시겠지만 하드웨어 전문 사이트 명입니다.)과 SETIKAH 라는 팀이 있는데 (나머지 팀들도 많긴 한데 너무 소규모의 팀들이라 생략합니다.) 개인적으로 SETIKAH 팀이 따로 네이버 카페를 운영하여 여러 종류의 분산 컴퓨팅 프로젝트에 적극적이게 참여하는 모습을 보이는 것을 보니, 실질적으로 가장 활성화 된 팀은 SETIKAH팀이라 할 수 있겠습니다.

http://cafe.naver.com/setikah.cafe - SETIKAH 팀의 카페. 분산 컴퓨팅 프로젝트에 대한 많은 정보를 얻을 수 있다.

이러한 종류의 프로젝트는 생각 외로 많이 있습니다. 

SETI@Home, Docking@Home, Folding@Home, MilkyWay@Home.. 등 20가지는 넘게 있습니다. -_-;
여기서 프로젝트에 대한 설명은 생략하겠습니다. 위에서 언급했던 SETIKAH 카페나 밑의 한국 BOINC 공식 홈페이지에 가보시면 많이 소개되어 있습니다.

http://kr.boincstats.com/ - 한국 BOINC 공식 홈페이지. 역시 많은 정보를 얻을 수 있다.

참여하는 방법은 간단합니다. 위 카페에 방문하시거나 위의 한국 공식 홈페이지에서 BOINC Manager을 받고 프로젝트에 연결시켜주면 되는데, 이는 아래의 링크에서 확인해보시길 바랍니다.

http://cafe.naver.com/setikah/30 - BOINC의 모든 프로젝트 가입설치 / 팀 등록 가이드(가입 필요 없음)

위의 절차들을 밟으셨다면, 그냥 작업을 실행해 놓으시고 켜놓으시면 됩니다. 그럼 알아서 CPU로 연산 작업을 수행하다가 작업이 완료되면 메인 서버로 전송합니다. 프로젝트마다 수행 시간이 짧은 것도 있고 긴 것도 있습니다. 알아서 잘 찾아보시길 바랍니다. -_-; 아마 위 사이트들에서 정보를 얻을 수 있지 않을까 생각해봅니다.

본인의 경우는 노트북을 켜놓는 시간이 많아 거의 24시간 돌리고 있습니다. 뭔가 쓸데 없이 켜놓는 것 보다 켜놓을 바에는 지구에 도움이 될 일을 같이 하는게 어떤가 싶어서 시작했던게 Korea@Home 이었는데, 이제는 BOINC 매니저로 WCG 프로젝트에 SETIKAH 팀원으로 작업을 수행하고 있습니다.

아까 언급한 위 사이트들에서 워낙 설명이 잘 되어 있어서 별도의 부가적인 설명은 필요가 없을 듯 합니다. 이 카테고리(분산컴퓨팅@BOINC) 에는 주기적으로 활동 상황과 BOINC Manager에 대한 설명, FAQ 들이 올라 올 예정입니다.

아무튼, 국내에 좀 더 많은 유저가 분산 컴퓨팅 작업에 관심을 기울이고 참여하기를 기원하는 바입니다...^^;

설정

트랙백

댓글

Software Wars

IT/Programming 2010. 5. 1. 11:03


이전 블로그에도 게시를 했던 내용인데, 나름 맞는 부분도 있고 이제는 조금 다른 부분이 있기도 한데..
어쨌던 표현이 재밌네요..ㅎㅎㅎ

설정

트랙백

댓글