프로그래밍 QnA

dn3108의 이미지

Kernel Page Compression(압축) 과 Decompression(압축해제) 에 관해 여쭤보고 싶습니다.

안녕하세요?
현재 오드로이드 XU 에서 진행하고 있고 Swapping Policy 수정을 하며 공부하고 있는 학생입니다.
다름이 아니라 Kernel 에서 Writeback 할 Victim Page 선정후 swap_writepage() 를 호출하는 것으로 알고있습니다.

또한 Swap-in 과정에서는 swap_readpage() 를 호출하는 것으로 알고 있습니다.

Swap-out 시에 LZO 알고리즘을 통한 Compression 을 진행해 페이지를 압축해서 bio를 통해 write을 하게됩니다.
또한 Swap-in 시에는 LZO 알고리즘을 통해 Decompression 을 진행하고 있습니다.
단! 여기서 Decompression Fail이 나면 안되는 상황임에도 불구하고 Decompression Fail이 자꾸 뜨고있습니다.

생각에 동기화 문제인가 해서 spin_lock을 걸어보았지만 해결이 쉽지않네요..ㅠ_ㅠ

소스 올려드립니다.
답변 기다리겠습니다..감사합니다..

i20749의 이미지

커널과 사용자 영역 사이에 메모리를 공유, 동기화할 수 있는 방법을 알고 싶습니다


안녕하세요. 일하는 중에 혼자서는 풀기 힘든 과제가 있어서 글을 올리게 되었습니다. 아시는 분들의 답변 부탁드릴께요.

현재 구현해야 하는 기능은 다음과 같습니다.

1. 사용자 영역에서 메모리를 할당하고 해당 메모리를 커널과 공유 - 공유의 의미는 커널에서 사용자 메모리에 접근해서 read, write가 가능해야 합니다.

또는

1. 커널 영역에서 메모리를 할당하고 해당 메모리를 사용자 영역과 공유 - 마찬가지로 사용자 영역에서 커널 영역 메모리에 접근해서 read, write가 가능해야 합니다.

(부가적으로 설명드리면 사용자 영역에서는 데몬이 동작하구요, 커널 영역에서는 동적 모듈을 제작해서 동작시키도록 되어있습니다)

지금 생각으로는 어느 한쪽에서 메모리를 할당한 다음에 시스템 콜을 이용해서 해당 메모리의 물리주소를 구해서 넘겨줘서(혹은 넘겨받아서) 접근할 수 있지 않을까 하는

방향으로 찾아보고 있는데 이 역시 찾기가 힘이듭니다; (물리주소를 얻는 방법도 잘 모르겠구요)

qkrtntjd의 이미지

네이버 자동으로 로그인하기

전에 친구가 파이썬으로 프로그램을 짰습니다
그 프로그램은 콘솔창에서 아이디와 비번을 치면 네이버 창이 스스로 띄워지면서 로그인이 되고 세팅된 주소를 찾아 들어가서 자동으로 웹게임이 되도록 하였습니다.

친구가 바빠서 물어보진 못했는데 혹시 이런 프로그램을 개발하려면 뭘 공부해야하나요?
주 사용언어가 c와 자바라서 파이썬이 용이하다면 어느정도 익혀둘 생각은 있습니다.. 검색해본결과 웹사이트 정보를 읽어오려면 웹크롤링을 하고 그 정보를 가지고 어떻게 자동 클릭을 하는지 그 용어가 궁금합니다.
c나 자바로 된 간단한 소스가 있다면 알려주시면 정말 감사하겠습니다..
혹은 추천 검색어라도 부탁드립니다.

trymp의 이미지

kvm 이나 virtualbox, vmware 같은 가상화 관련 책을 찾습니다.

kvm 이나 virtualbox, vmware 같은 가상화 솔루션에 대한

상세분석이 되어 있는 책을 찾습니다.

가능한한 소스레벨에서요.

이런 가상화솔루션을 분석할 일이 생겼는데,

정말 어렵군요. 어느정도의 도움이라도 될수 있는 책을 찾고 있습니다.

고수님들의 조언 부탁드립니다.

pbchan0105의 이미지

GCC 컴파일에서 instruction cost를 어떻게 할당해야 할 지 모르겠습니다.

안녕하세요, 작업을 하다가 도저히 모르겠어서 질문하러온 뉴비입니다.
지금 제가 하고있는 일은 Android Kernel(Kitkat 4.4.2_r2)을 빌드할 때 사용하는 prebuilt gcc를 Linaro gcc로 대체하는 작업입니다. Linaro gcc를 모르신다면 단순히 customized gcc로 생각하시면 됩니다.
여기서 왜 customized라 하냐면, 사용하는 기기의 프로세서에 해당하는 ARM processor의 instruction cost를 반영하여 gcc를 수정한 뒤 compile한 결과물을 넣을 것이기 때문입니다.
이 때 사용기기는 Nexus 7, 프로세서는 ARM Cortex-A15기반 APQ8064 입니다.

아래 주소는 gcc에서 instruction cost를 반영하는 방법에 대한 설명입니다.
http://www.delorie.com/gnu/docs/gcc/gccint_140.html

beafles의 이미지

rt3070 드라이버를 안드로이드용으로 크로스컴파일 하려고 합니다.

예, 제목 그대로 드라이버를 컴파일 하려는데 커널 소스 디렉토리에서 make를 치면 에러가 뜹니다.

kismp123의 이미지

shell script로 프로그램 하나를 만들려고 합니다.

tcpdump를 이용해서 들어오는 패킷들을 파싱해서 볼려고 하는데요

tcpdump| sed '~'
식으로 파싱해서 가져오려고 합니다.

근데 비교해야할 문자열이 10자씩 1천개 정도 되는데
들어오는 패킷을 놓치지 않고 문자열과 비교해서 맞는것들만 출력하려고 합니다.

조금 비교하는데 시간이 걸린다면 tcpdump에서 패킷을 손실 없이 가져올 수 있나요?

아니면 파일로 redirection했다가 그곳에서 불러와서 처리해야할지 감이 잡히지 않습니다.
어떻게 해야할까요?

그리고 비교할때는 grep보다는 if[[ $s == "string" ]] 이런 코드가 낫겠죠?

dnjswns2942의 이미지

mysql 1주일 데이터 연산 질문 입니다.

안녕하세요. 1주일 데이터를 출력하는 과정에서 질문이 있어서 글을 씁니다.

DT_REG = DB에 저장된 날짜
REG = 테이블 이름

DB는 28일 부터 데이터 쌓임.

SELECT COUNT(DT_REG),DT_REG FROM REG
WHERE DT_REG > DATE_ADD(NOW(),INTERVAL -7 DAY)
group by SUBSTR(DT_REG,9,2);

출력 결과 :

COUNT(DT_REG) DT_REG
10 2014-07-28 14:20:10
5 2014-07-29 15:25:15

이렇게 출력이 나오는데 저는 1주일 이전의 데이터가 없는 이유는 DB를 28일 이후 부터 DB가 생성 되었기 때문입니다.
저는 아래와 같이 DB에 없는 1주일 전의 데이터를 보여 주고 싶습니다

예)

출력 결과 :

Trape의 이미지

QuickBuild와 유사한 기능을 할 수 있는 웹 페이지를 만들어보려고 합니다

안녕하세요
취직한지 6개월 차로 이리저리 채이고 있는 신입사원입니다.
문제가 있을 때 마다 여기서 해결책을 얻고는 하였는데 질문하기는 처음이라 조심스럽습니다.

저는 업무 특성 상 반복적인 업무를 많이 하게 되는데 쉘 스크립트라는 것의 존재를 알게 된 후 조금씩 공부하며 만들어가고 있습니다.
제 PC에서 작업한 쉘 스크립트를 다른 사람들이 스크립트를 직접 보지 않고 사용하게 하고 싶어
현재는 guest 계정을 만들어 /home/guest에 제가 만든 스크립트로 soft link를 건 파일을 만든 후 사용하게 하고 있습니다.

사용자들의 의견을 들어보니 스크립트를 사용하니 편하긴 한데, 일일히 ssh 접속을 해서 알맞은 스크립트를 타이핑해서 써야하니 불편한 점이 많다고 합니다.

들어보니 QuickBuild라는 것이 있어 웹 브라우저 상에서 만들어진 스크립트를 실행할 수 있게 컨트롤하는 툴이 있다고 하는데요.
회사에서는 라이센스가 필요해서 사용이 불가능하다는 답변을 받았습니다.

페이지

프로그래밍 QnA 구독하기