반응형

분류 전체보기 133

리눅스/메모리 매핑(memory mapping)

물리주소 간단한 8비트 프로세서는 하드웨어로 연결된 메모리버스주소와 프로그램에서 접근하는 메모리주소가 같다. 그래서 주소값이 하드웨어에 의해 고정되고 프로세서는 그 안에서 동작한다. 가상주소와 MMU 하지만 다중프로세스를 지원하고, 각 프로세스의 메모리공간을 보호해야 하는 OS는 안정적인 동작을 보장하지 못한다. 이 점을 해결하기 위해 MMU와 가상 주소 개념을 도입했다. 프로세서가 메모리에 접근할때 mmu에 가상주소를 전달하고 mmu는 변환테이블을 참고해 실제 물리주소로 변환해 전달하는 것이다. MMU는 주소를 페이지 단위로 처리한다. 크기는 보통 4KByte이다. 그래서 256MBytes메모리를 관리할때 MMU테이블은 시스템 메모리의 256KByte정도를 사용한다. 프로세서가 처음 부팅되면 리눅스는 ..

리눅스/vi(vim)을 Source Insight 처럼 사용하기

출처 : http://cafe985.daum.net/_c21_/bbs_search_read?grpid=ZmCn&fldid=FIHH&contentval=00025zzzzzzzzzzzzzzzzzzzzzzzzz&nenc=&fenc=&q=gstreamer&nil_profile=cafetop&nil_menu=sch_updw vi(vim)을 source insight 처럼 사용하기 준비물 vim 6.1 이상 (fedora core 에 있는 vim 그대로 사용해도 무방) ctags (/usr/bin/ctags) (fedora core5 에 있는 것 그대로 사용해도 무방) cscope (/usr/bin/csope) (fedora core5 에 있는 것 그대로 사용해도 무방) taglist (vim 플러그인입니다. ht..

리눅스 2010.07.01

BT.656(ITU656)

ITU 656(BT.656) 표준은 압축되지 않은 PAL 또는 NTSC 표준 화질 텔레비전을 스트리밍하기 위한 단순한 디지털 영상 프로토콜을 정의한다. 이 프로토콜은 비월 주사된 영상 데이터를 지원하며, 각 필드는 따로따로 스트리밍된다. ITU 656 프로토콜은 TV-out용의 DAC 칩으로 비디오 프레임을 보내는 데 사용되거나 비디오 캡쳐용 ADC 의 출력으로 사용될 수 있다. BT.656 데이터 스트림 형식 하나의 BT.656 스트림은 27 MHz 로 동작하는 픽셀 클럭 신호에 따라 동시에 8 비트를 병렬로 전송한다. 스트림 내의 비디오 픽셀 데이터의 수평 주사선은 SAV (Start of Active Video) 코드와 EAV (End of Active Video) 코드로 구분된다. 또한 SAV 코..

개발 관련 2010.06.23

부동산/주택매매(집 사고팔기)

[중앙일보 박원갑] 집은 서민들에겐 전 재산이나 다름없다. 집을 사고 팔 때 사소한 실수로 큰 손해를 볼 수 있다. 실거래가신고 및 등기제 시행 등으로 주택거래 환경이 크게 바뀌고 각종 규제로 주택 거래가 점점 위축되고 있다. 전문가들은 "이제는 한 번 거래하면 또 다시 사고팔기 어려운 환경이므로 매수-매도 당사자는 사전에 충분한 지식을 쌓아둬야 한다"고 입을 모은다. 특히 정부의 각종 규제로 집값이 내려가는 시점에서는 기존 집을 팔고 새 주택을 매수하는 지혜가 필요하다. 집을 사고팔 때 꼭 알아야 할 일곱 가지를 정리했다. ①집 살 때는 소유자 본인 확인 =등기부등본상 소유자가 아닌 배우자나 자녀.친인척이 대신 매매 계약을 하는 경우가 흔하다. 이럴 땐 소유자의 인감증명서가 첨부된 위임장과 인감이 있어..

카테고리 없음 2010.06.05

리눅스/네트워크 대역폭 제한 - 트래픽 셰이핑(Traffic Shaping)

출처 : http://bebop.emstone.com/projects/sentry24/artnlife/network_traffic_shaping/view?set_language=en 목적 (현재 기능에 한함)네트워크 트래픽 셰이핑의 사용 목적은 네트워크 환경이 좋지 않은 곳에서나 관리자의 정책에 따라 dvr의 네트워크 업로드 대역폭을 조절하므로 과도한 네트워크 점유를 피하도록 구현하는데 있다. 트래픽 셰이핑이란? 트래픽 셰이핑(Traffic Shaping)은 성능이나 빠른 응답시간 등을 보장하고 최적화하기 위해 네트워크 소통량(traffic)을 제어하는 것을 말한다. P2P 프로그램을 사용해본 사람은 경험해 보았듯이, 보통 download의 전송률은 제한을 두지 않고, upload의 전송률을 제한하고는 ..

리눅스 2010.04.14

유용한 정보

핸드크림에 설탕 섞으면 효과 최고 !! 정말 간단하게 손의 피부를 지킬수있는 방법 하나, 핸드크림과 함께 설탕을 준비하세요. 핸드크림을 한번 쓸 분량만큼 짜고 거기에 설탕 반 스푼을 뿌려서 섞으세요. 설탕과 크림을 골고루 섞은후 전체에 부드럽게 발라주면되요. 몰라보게 손이 고와진답니다. * 테이프는 냉동실에 잠깐!! 아이가 듣는 동요테이프나 영어테이프는 반복해서 듣다보면 늘어지기 쉬워요. 이럴땐 주방에서 쓰는 비닐봉지에 테이프를 넣고 입으로 바람을 불어넣은 후 공기가 새어나가지 않도록 꼭 묶어요. 이걸 냉동실에 2시간정도 넣었다 꺼내보세요. 다시 원상태로 돌아온답니다. *코막힘엔 배와 양파즙이 효과 만점!! 코가 막혀 힘들때 모과나 배, 꿀등의 뜨거운 차에 양파즙을 타서 마셔보세요. 효과가 그만이예요. ..

카테고리 없음 2010.03.25

프로그래밍/리눅스 copy_from_user

copy_from_user() * 유저 영역에서 커널로 데이터를 복사할 경우에 사용한다. * put_user() 나 get_user() 와 달리 copy_to_user() 와 copy_from_user() 에서는 복사되지 않은 데이타의 양을 리턴한다. 성공시에는 0을 리턴한다. ☞ 이 함수들은 암시적으로 sleep 에 들어갈 수 있다. 그래서 이 함수들은 user context 밖에서나 (user context 밖에서는 별 의미가 없다), 인터럽트가 비활성화된 상태 혹은 spinlock 이 걸린 상태에서 절대 사용되서는 안된다. unsigned long copy_from_user (void * to, const void __user * from, unsigned long n); to Destination..

프로그래밍 2010.03.16

프로그래밍/assert

assert() assert(3)의 출력은 정해져 있지 않아 컴파일러마다 조금씩 다름. 일반적으로 assert가 발생된 소스의 파일 이름과 줄 번호를 알려주며 프로그램을 강제로 종료시킴. 프로그램 종료시에는 abort(3)을 사용하도록 되어 있음. assert(3)는 매크로 NDEBUG가 정의되어 있는 경우, ((void)0)으로 확장되어 실제로 기계어 코드를 만들어 내지 않는다. 예제) #include int main(void) { int a = -3; assert(a > 0); } gcc -o test test.c ./test test: test.c:7: main: Assertion `a > 0' failed. assert()의 적용 기준 assert를 사용해야 할지 에러 처리를 해야 할지의 판단 기..

반응형