분류 전체보기 137

멀티코어 시스템에서 공정성 보장을 위한 가상런타임 기반 로드밸런싱 알고리즘

배경지식CFS (Complete fair cheduler)RSDL(Rotating Staircase Deadline Scheduler)상위 우선 순위의 모든 프로세스가 라운드로빈실행 -->할당 시간을 고갈시에 낮은 우선순위로 이동된다. 우선순위 큐는 큐별로 CPU사용량이 제한된다. -->낮은 우선순위의 작업도 일정 대기시간 이후에는 작업가능 -->순서 보장이 되지않아서 지연이 생길 수도 있다.CFS실행 큐 배열을 사용하지 않는다. --> 모든 프로세스의 관리를 위해서 RB-TREE를 사용 jiffies를 사용하지 않는다.HZ상수에 의존하지 않는다. 나노초 단위의 정밀도를 갖는다. (기존 지피값의존, 밀리초 단위 정밀로)자발적인 CPU반환(sleep, 우선순위)을 하지 않을 경우에는 모든 프로세스는 동일한..

Makefile작성법.

Make란? 파일관리를 위한 유틸리티 파일 파일간의 종속 구조를 기술하여 명령을 순차적으로 내린다. 매크로 = vs := = 여러번 반복해서 매크로를 검색하기 때문에 재귀적 적용이 가능 := 위에서 아래로만 매크로 검색을 하기때문에 재귀적으로 동작 안할 수도있다. += 기존 매크로에 공백을 두고 현재의 문자열을 덧붙인다. ?= 현재 행의 매크로가 이전 행에서 매크로 정의가 되어있는지 확인하고 안되어 있을 경우에만 매크로를 실행한다. $(매크로) 기존에 선언된 매크로를 사용한다. : 타겟을 정의한다. # 해당 행을 주석으로 설정한다. 자동매크로 $? g현재의 타겟보다 최근에 변경관 종속항목 리스트(확장자 규칙에는 사용불가) $^ 현재 타겟의 종속 항목 리스트 $@ 현재 타겟의 이름 $< 현재 타겟보다 최근..

QEMU에서 remote gdb의 사용

1. 일반적인 embedded linux를 타켓에 포팅하고 remote gdb를 통해서 debugging을 실행할 경우GDB cross debugger 를 build 하고 install한다. gdbserver를 build하고 install한다. (몇몇 linux에서는 gdbserver를 rootfs의 어플리케이션처럼 구분하고, 어떤 경우에는 toolchain의 package의 의 일부로 들어가는 경우도 있다. 만약 포함이 되어있지 않다면 cross compile을 통해서 추가해주어야 한다.)application을 적절한 CFLAGS와 LDFLAGS등으로 설정한다.gdbserver와 컴파일된 application을 타겟으로 이동한다. 타겟에서 gdbserver를 실행 시키고, 연결 설정을 실행한다. (se..

지난일들/GDB 2012.08.16

gdb_stub 코드 분석_AT128 시뮬레이션용 코드

@고려사항1. uItron에서 gdb_stub를 실행시킬 위치2. atmega128용 gdb_stub의 경우atmea128을 시뮬레이션하고(atmega128의 모든 구조를 프로그램 상으로 재현해서 실행 시킨다)초기 모듈의 생성과 초기화를 실행하는 과정에서 gdb_stub를 실행 시키는 과정이 포함되어있다. 소켓 통신을 통한 포트를 오픈하는 과정이 코드에 포함되어있다. 3.

지난일들/GDB 2012.08.10

임베디드 Linux 시스템 기반 다중 프로세스 동시 디버깅을 지원하는 원격 디버거 설계 및 구현

[출처]임베디드 Linux 시스템 기반 다중 프로세스 동시 디버깅을 지원하는 원격 디버거 설계 및 구현요약 - 임베디드 리눅스 환경에서 gdb/gdb server를 사용한 원격 디버깅이 가능하지만 개발자의 부가적인 코딩과 추가적인 어려움들로 인해서 불편한 점이 많다. 따라서mgdb와 mgdbserver를 사용해서 리눅스 커널의 변경없이 라이브러리 매핑을 이용한 원격 디버거 제안기존 GDB와 gdbserver를 사용한 디버깅 실행 과정 실행에 필요한 과정 - 새로이 생설될 프로세서에 sleep코드 삽입(스케줄링 되어 수행시에 커널에 의한 종료 방지) -> sleep코드 가 실행 되는 경우 발생 -> 자식 프로세스 정지 -> 타겟 시스템에서 새로운 gdbserver 실행 및 정지된 프로세스를 자식 프로세스로..

지난일들/GDB 2012.08.07

논문 쓰기

구글 학술 정보 검색 - " "를 통해서 검색시 필수 단어 설정 가능 - 해당 설정을 통해서 검색시 표현에서 어려운 문장의 사용횟수를 비교해서 맞는 표현을 확인 가능Abstract - 연구의 주된 목적과 연구 범위 기술 -> 연구 목적을 위해 선택한 방법론 설명 -> 연구의 결과 및 결론 - 피해야할 표현: 그림의 포함 및 가리킴, 타논문 인용Introduction (1)본 연구의 중요성 부각 (2) 간단한 기존 연구 방법론: review (3) 기존 연구의 한계점 (4) 기존 여구의 한계점을 극복한 본 여구 결과의 주된 내용 (5) 본문의 outline관련연구 게재 - 기존에 연구된 모든 논문이 관련 연구의 범위에 들어가야한다. - 해당 연구 분야에서 가장 중요한 메인 논문이 들어간다: 거의 연구과정에..

지난일들/GDB 2012.08.02

GDB stub에 대해서....

GDBserver - 작은 GDB 라는 개념- 실제 GDB와 유사한 시설을 요구하기 때문에 Stub를 완전히 대체할 수 없다.- 원격의 GDB와연결 되어서 GDB의 기능을 일부 사용이 가능하다. - 크기가 작기 때문에 일반 GDB 보다 빠르게 동작한다. http://sunder4.tistory.com/21 GDBstub -원격의 머신에서의 프로그램을 디버깅한다.- set_debug_taps: handle_exception 조정- handle_exception: 프로그램 실행도중 정지할 경우(ex)break point)에서 제어를 갖게된다. 그리고 호스트 머신에 있는 GDB와의 통신을 중재한다. 타겟머신에서 GDB를 대신해서 동작.- breakpoint 삽입 1. GDB(GNU debugger)?* 프로그..

지난일들/GDB 2012.08.02