본문 바로가기

System

Embedded system의 약어(abbreviation) 정리 IP : Intellectual Property PE : Processing Element 주로 AP(application processor)내의 core 연산 모듈을 뜻한다. 더보기
ubuntu network restart 일반적으로 아래 방법을 안내하지만, 설정이 변경되지 않는 경우가 종종있어서 결국은 ubuntu 를 restart 하곤 한다. sudo service networking restart 아래 방법으로 사용하면 ubuntu 재시작 없이 Ethernet driver 를 reset 하여 설정 변경이 가능합니다. sudo ifdown eth0 && sudo ifup eth0 더보기
Android uid 위치 (linux에서의 /etc/passwd 대신) /android/system/core/include/private/android_filesystem_config.h 45#define AID_ROOT 0 /* traditional unix root user */ 46 47#define AID_SYSTEM 1000 /* system server */ 48 49#define AID_RADIO 1001 /* telephony subsystem, RIL */ 50#define AID_BLUETOOTH 1002 /* bluetooth subsystem */ 51#define AID_GRAPHICS 1003 /* graphics devices */ 52#define AID_INPUT 1004 /* input devices */ 53#define AID_AUDIO .. 더보기
linux kernel 이 지원하는 system call list 보기 간혹 자신이 사용하는 linux kernel 이 어떤 system call 을 지원하는지 알고 싶을때 사용할 수 있는 방법이다.혹은 kernel code 의 특정 함수가 실제 빌드가 되어서 kernel binary 에 들어가 있는지도 알 수 있다. /proc # cat kallsyms > /data/local/tmp/kernal_symbal.log proc/kallsyms는 kernel 내부의 symbal table 을 모두 보여준다. 여기서 sys_ prefix 를 사용하는 함수들이 system call 이다. ...00000000 T sys_truncate00000000 T sys_ftruncate00000000 T sys_truncate6400000000 T sys_ftruncate640000000.. 더보기
File System의 개요 원문 : http://cafe.naver.com/ghson/164 파일시스템을 이해하는데 기초 자료로서 너무나 설명이 잘 되어 있다.자료 보존 차원에서 옮겨 왔다. 파일시스템은 '6.device file의 개요'에서 설명한 바와 같이 섹터로 나누어진 물리적인 디스크를 운영체제가 사용하기 좋게 블럭단위로 나누어 각 블럭에 주소를 부여함으로써 운영체제가 디스크를 관리할 수 있게끔 디스크에 지도를 그리는 작업이라 할 수 있다. 1. 파일시스템의 구조 파일시스템은 루트디스크를 시작으로 디렉토리 트리나 계층구조로 이루어지며, 각 파일시스템은 물리적으로 같은 디스크에 존재할 수도 있고 다른 디스크에 따로 존재할 수 있다. 또한 각 파일시스템안에는 크게 User Data와 Meta Data로 구분되는 구조로 관리되며.. 더보기
slab allocator 쉽게 설명하자면... task_struct 나 bio, bio_vec 같이 linux kenrel 에서 굉장히 빈번하게 사용되는 자료 구조들을 효율적으로 할당 / 해제 관리를 위한 메모리 관리 알고리즘이다. 특별한 함수가 있는것이 아니라..kcalloc, kmalloc 에서 호출해서 사용한다. SLAB Allocator - 1994년 Sun Microsystems의 Solaris 2.4 운영체제에 처음 적용된 이후 리눅스를 포함한 대부분의 UNIX 계통의 운영체제에서 사용하는 메모리 할당 정책. - 일정량의 내부 단편화 현상을 허용하는 trade off을 통해 외부 단편화 현상을 해결한 메모리 관리 기법임. - 10년이 넘도록 이러한 메모리 관리 기법을 대체할 만한 대안이 존재하지 않았음. - SLAB .. 더보기
linux kernel code 에서 system call 찾는 방법 system call 을 찾는 방법 SYSCALL_DEFINE 매크로를 통해 찾아야 한다 참고 : http://daehee87.tistory.com/253 더보기
register_mtd_user() - partition에 융통성 있는 driver 구현하기 안녕하세요. linux device 를 작성하면서 간혹 특정 mtd partition 에 의존하는 코드를 구현할 필요가 있습니다. 이때 해당 partition num 를 hard coding 한다면, partition table 이 변경될때마다 쫒아다니면서 일일이 수정해야 겠지요. 하지만 지금 소개시켜 드리는 함수를 잘 이용하시면, 시스템 초기화시는 물론 시스템 운용중에 변경되는 partition 에 대해서도 유동적으로 대처할 수 있는 융통성 있는 device 를 구현할 수 있습니다. 일단 man page 정보를 먼저 봅시다. NAMEregister_mtd_user - register a 'user' of MTD devices. SYNOPSIS"SYNOPSIS" void register_mtd_user .. 더보기
flush_dcache_page와 kmap_atomic 원문 : http://barriosstory.blogspot.com/2009/01/flushdcachepage-kmapatomic.html 굉장히 소중한 자료이다. 더불어 글을 쓰는 스타일도 너무나 마음에 든다. 좋은 자료를 공유해준 분께 다시한번 감사 드립니다. 왜 file system code들 중 kmap_atomic과 flush_dcache_page가 있을까? 아는 분의 도움으로 이 문제에 대해서 생각해 볼 기회가 생겼다. 먼저, flush_dcache_page 함수의 용도를 먼저 알아야 한다. David Miller가 작성한 문서에는 다음과 같이 되어 있다. void flush_dcache_page(struct page *page) Any time the kernel writes to a pag.. 더보기