728x90
반응형

IT/리눅스마스터1급 203

Memo Management Unit

MMU (Memory Management Unit) MMU 는 CPU의 Memory 주소를 감쪽같이 속이는 거짓말쟁이에요. MMU는 표현하고 행동해요. CPU가 Memory를 Access할 때 마다 주소를 속인답니다. 주소를 속여서 어떻게 하느냐, Physical Address와 Virtual Address (Logical Address라고도 부르죠)의 Mapping을 자기가 갖고서 장난을 치는 거죠. CPU는 자기가 속았는지도 몰라요~ MMU를 왜 사용하느냐, MMU를 사용함으로써, 도대체 System에 무슨 이득이 있을까요. Task 마다 또는 Program마다 똑같은 주소를 사용해도 되게 만들어 주는 거에요. 모든 Task는 0x0~0x3000 번지까지 자리 잡도록 Compile하더라도, MMU를 ..

opengl 1.1 2.0 비교

OpenGL ES는 OpenGL for Embedded Systems의 약자로, OpenGL을 만든 Khronos Group에서 모바일 임베디드 기기를 위해 제작한 3D Graphics API이다. OpenGL ES는 OpenGL을 기반으로 임베디드 시스템에 최적화된 API를 제공한다. 거의 쓰이지 않거나 중복된 기능을 수행하는 API들을 과감히 제거하고 임베디드 시스템에 적합한 데이터 타입을 추가하는 등 최대한 간결하고 작게 만드는 것을 목표로 하면서도 기존의 OpenGL을 사용하여 구현할 수 있는 거의 대부분의 기능을 똑같이 구현할 수 있도록 디자인 되었다. OpenGL ES를 사용하는 이유 모바일 3D API로 OpenGL ES를 사용하면 다음과 같은 이점이 있다. 업계 표준으로 자리잡은 시스템의 ..

dalvik.vm.heapsize

OOM(Out Of Memory) 상태에서의 원활한 시스템 운영을 위해 메모리 사용 임계치를 정하는 방법이다. minfree에는 애플리케이션을 6 개의 부류로 나누고 각각의 메모리 사용 임계치를 설정하도록 되어 있다. lowmemorykiller는 minfree의 설정값을 보고 메모리 사용 임계치에 다다르면 해당 부류의 앱들을 죽이기 시작한다. 애플리케이션 분류는 중요도에 따라 oom 값으로 표현한다. oom 값은 -16부터 15까지의 값을 갖는데, -1 이하는 OOM 상태에서도 죽지 않는 시스템 애플리케이션들이다. 0 이상은 OOM 상태에서 죽어도 관계 없는 일반 애플리케이션들로 아래와 같이 6 가지로 분류한다. - Foreground_app(oom=0): 현재 사용중인 최상위 화면의 애플리케이션 또는..

SurfaceFlinger,AudioFlinger

Android Native Server 개념에 크게 Surface Flinger와 Audio Flinger란 것이 있다. 사 실 Flinger란 단어가 참 낯설게 느껴지는데 사전적인 의미로는 투수(무언가 던지거나 차는 사람)란 의미가 가장 의미가 와 닿는 것 같은데 Application에서의 데이터를 한데 모아서 출력쪽으로 던져주는 역활을 한다는 의미로 사용한 것이 아닐까 싶다. (언제나 그렇듯이 추측이다) Surface Flinger는 단연히 여러가지 Surface 데이터를 한데 모아서 Frame Buffer를 업데이트하는 것이고 Audio Flinger는 여러가지 오디오 샘플을 한데 모아서, 즉 Audio Mixing을 해서 ALSA 쪽으로 보내는 역활을 한다고 볼 수 있다. Surface Fling..

init.rc

오늘은 안드로이드 초기화 과정인 init 에 대해서 이야기를 할까 합니다. 다들 알고 계시겠지만, 안드로이는 linux 커널이 시작되면서 init daemon 을 실행시켜서 뭐 이 initd 에서 대충 서비스를 시작한다 정도로 알고 있을 것입니다. 하지만 어떻게 Kernel 로 시작해서 linux 의 데몬인 initd 가 Android 에 framewokr 에 기본이 되는 서비스들을 살릴 수 있을까요? 이 것에 대한 의문으로 오늘 이야기는 시작되었습니다. 물론 ODE 실행 후 FOTA 업데이트가 제대로 안되어서 fota update 를 보다가 fota.rc 를 수정해야 하고 또 이 .rc 파일들이 linux 에서 사용하는 그냥 init 파일과 다르게 Android Init Language (AIL) 이라..

Ethernet frame format etc..

Ethernet frame format Preamble DA SA Type DATA Pad CRC field size(byte) 기능 Preamble 8 ·송신측과수신측간의송/수신속도를일치시키기위 한bit synchronization · 10101010이8회연속반복되는64비트로구성 DA (Destination Address) 6 · Block ID (3 byte) + MAC address( 3 byte) -- Block ID LSB Individual Multicast NIC 제조회사를식별하는code LSB 0 : 하나의목적지스테이션 LSB 1 : Multicast Address 모든비트1 : Broadcast(ARP,RARP에사용) SA (Sourse Address) 6 · MAC controller가..

SFD jam sequence

이더넷의 역사 이더넷 프레임의 필드 이더넷 프로토콜로 사용되는 매체 접근제어 방법의 기능과 특징 이더넷의 물리 계층과 데이타 링크 계층의 형태 이데넷 허브와 스위치의 차이점 ARP (Address Resolution Protocol) 프로토콜의 설명 IEEE 표준 이더넷의 최초 버전이 바로 세계 최초의 랜 이었다. 이더넷은 30여 년 전에 제록스사의 Robert Metcalfe와 그의 동료들에 의해 설계된 것이다. 최초의 이더넷 표준은 1980 년에 DEC(Digital Equipment Company), 인텔, 제록스로 구성된 컨소시엄(DIX)에서 제정되었다. 메카페는 이더넷 표준을 필요로 하는 모든 사람과 공유하기를 원했다. 그리하여 DIX는 새로운 표준을 공개 표준으로 하여 어느 회사에게나 공개하였..

csma/cd

CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) 엮은글 참고 CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)란 무선LAN에서 일반적으로 사용되는 MAC알고리즘으로써 아래와 같은 동작원리를 갖는다. CSMA/CD 를 사용하는 AppleTalk 네트워크에서는 네트워크통신 상태를 점검 한 후 데이터를 전송한다. 그러나 CSMA/CD와는 달리 CSMA/CA에서는 네트워크의 케이블에 데이터의 전송이 없는 경우라도 충돌을 대비하여 확인을 위한 신호를 전송한다. 확인 신호가 충돌없이 전송된 것을 확인하면 이어서 데이터를 보내게 된다. ○ 작동원리 송신단 →수신단 RTS (Request to Send) ..

pcap

Packet Capture using libpcap libpcap을 사용해서 네트워크 상의 패킷들을 캡춰하는 방법을 예제와 함께 살펴보고 이를 통해 네트워크 모니터링 도구나 침입탐지시스템 등의 응용프로그램을 이해하도록 하자. 네트워크에 대한 기본적인 개념과 C언어에 대해 알고 UNIX/Linux 환경에서 프로그래밍 방법을 알고 있다는 전제하에 설명한다. 1. Introduction 패킷 캡쳐란 네트워크를 돌아다니는 패킷들을 보는 것을 말한다. 일반적인 이더넷 환경에서 라우터(Router)는 내부 네트워크로 향하는 패킷들을 브로드캐스팅(Broadcasting)하게 되고 각 컴퓨터들은 자신의 인터페이스로 들어오는 패킷 중 목적지가 자신인 경우에만 받아들여 이를 운영체제가 처리한다. 패킷 캡쳐는 이처럼 자신에..

728x90
반응형