http://elinux.org
Kernel Size Tuning features 리눅스에는 많은수의 기능을 제어할수 있는 옵션이 있다. 시간이 지남에 따라 그 기능들이 너무 많아 졌다. 아지만 상업용 전자 장비는 리눅스의 많은 기능이 필요하지 않다. 커널 옵션을 조율할때는 매우 조심해야 한다. 많은 파트를 제거 해낸다면 그만큼 메모리를 아낄수 있다. Linux-tiny patches Linux-tiny patch 세트는 Matt Mackall에 의해서 개잘자가 리눅스 커널의 크기를 줄일수 있도록하고자 하는 의도에 의하여 개발되었다. These patches are described at: http://elinux.org/Linux_Tiny The Linux-tiny patch set includes a number of differe..
Measuring the kernel 커널 사이즈를 판단을 위한 3가지 관점 1. 커널이미지는 플레쉬에 저장이된다. 2. RAM 의 커널이미지는 정적인 크기이다. (보통 압축되지 않은 이미지이다) - 커널이 로딩될때 text, data, BSS segment가 포함된다. text와 BSS segment는 커널 실행시간에도 일정한 크기를 유지하지만 data와 stack segment는 시스테의 요구에 따라 늘어날수 있다. 3. 커널은 일정량의 dynamic REM을 사용한다. - 사용량은 시스템이 동작하는동안 변경이 될수있다. 그러나 시스템이 셋업될때 메모리의 베이스라인량만큼 할당이된다. 특정 어플리케이션의 요구되는 최소한의 메모리보다 더 많이 할당이 될수도 있다. XIP DRIP 조사해서 추가하기 Mea..
중앙집중식 버전 관리 시스템 (Centralized VCS) Subversion, CVS, Perforce 같은 CVCS 시스템은 많은 클라이언트가 중앙 서버로부터 파일을 받아서 사용(Checkout)한다. 그런 이유로 중앙 서버의 하드디스크에 문제가 생겨서 모든 자료를 날린다면 복구할 방법이 없다. 아니 있다. 클라이언트들이 버전1부터 끝까지 각각 가지고 있다면 버전 1부터 다시 커밋하면 된다... 분산형 버전 관리 시스템(Distributed VCS) Git, Mecurial, Bazaar, Darcs 같은 DVCS 시스템은 클라이언트가 마지막 Snapshot을 받아오지 않고 그냥 저장소를 전부 복제한다. 서버에 문제가 생기면 아무 클라이언트의 복제물로 서버를 복원할 수 있다. 위 차이점은 사실 흔하..
gitosis 이런거 책보고 따라 하다 삽질한다.이것만 믿고 그대로 적용하시길...구성 1) 리눅스 서버에 git 서버를 만들고 저장소를 생성합니다 2) 윈도우에 TortoiseGit를 설치하고 1)에서 생성한 저장소를 clone합니다 방법 리눅스 서버에서 git 서버를 만들고 저장소 생성하기 아래의 모든 행동은 관리자 권한으로 합니다 1) git 패키지 설치하기 # yum install git-core 2) git 서버 계정 생성하기 계정을 추가하기 전에 그룹을 만든 후 계정을 추가합니다 사용자가 많아질 때 그룹으로 관리하기 편하거든요 # groupadd git # adduser -r -c 'git version control' -g git -d /home/git/ git # passwd git 비밀번..
Dynamic Binary Translation 코드 변환 기법은 임의의 아키텍처의 모든 바이너리 코드를 새로운 바이너리 코드로 변환하는 정적(static)코드 변환 기법과 코드가 실행되는 도중에 (just-in-time translation at runtime) 코드를 변환하는 동적(dynamic) 코드 변환 기법으로 나눌 수 있다. 정적 코드 변환 기법 은 실행 전에 모든 바이너리 코드를 새로운 바이너리 코드로 변환하기 때문에 코드가 실행하는 과정에서 추가 실행시간이 발생하지 않는 점과 복잡한 바이너리 코드에 대해서도 임의로 변환할 수 있는 장점이 있다. 하지만 정적으로 코드 영역이 할당되어야 하는 점은 동적 로딩 (dynamic loading), 자가 수정(self-modifying), 간접 제어 ..
이논문을 읽은 이유는 가상화 기술은 서버에서 더 일찍 활용되어 왔기 때문에 서버에서의 가상화 발전 흐름을 보고 동일하게 임베디드 시스템에서 적용 가능한 아이디어 있을지도 모른다고 VEE 2013A Lightweight VMM on Many Core for High Performance Computing Xi’an Jiaotong University, Chinaadstract전통적인 VMM 디바이스나 instruction을 가상화한다. 이는 게스트 운영체제의 오버해드를 유도한다. 게다가 가상화 VMM은 많은 양의 코드를 야기한다. 이는 VMM의 버그나 취약점을 유발한다. // VMM의 많은양의 코드로 인한문제 발생 다른 한편으로는 클라우드 컴퓨터에서 클라우드 서비스 제공업체는 사전에 고객 지정 요구 사항에..
UARTMEC는 비동기 전이중 송수신기(UARTs)를 포함하고있다.UART의 데이터 포멧은 8bit이며, 짝수,홀수 페리티bit 를 가질수도 있고 안가질수 있다. 또한 MEC Control Register를 프로그래밍하여 한개에서 두개의 StopBit를 가질수 있다. 시스템 초기화시 홀수 페리티와 하나의 Stopbit를 가진다. UART의 baud rate는 또한 MEC Control Register로 정할수 있다. (시스템 초기화시 설정되있는 baud rate는 아마 사용하지 못할것이다 system clock frequency 를 32로 나눈 값이 있기 때문이다.) It follows that the baud rate in the MEC Control Register must be programmed ..