여기를 참조 했다. 0x10000에 메모리를 요청했으나, 불가능하여 0xb6ff0000에 0x2000 byte를 얻었다. 512 KB로 다시 맵핑하여 cat/proc/PID/maps로 확인했다. heap 영역 밖 노란열에 512KB를 할당 받았다.(anonymous memory mapping) a.out이 3KB(1K+1K+1K)메모리를 사용한다. 10,000~11,000까지 한 블럭, 20,000 ~ 21,000까지 한 블록. 나머지 21,000 ~ 22,000는 offset 1K를 주고 사용한다. a.out 파일 크기는 8KB 이다. 나머지는 메모리의 다른 영역에 넣는 […]
[태그:] linux
카테고리
inotify 예제
linux system programming, 283p 리눅스에 파일, 디렉토리를 감시하는 watch가 있다. 특정 경로를 설정하여 감시하여 적절한 이벤트를 작성할 수 있다.
linux system programming, 238p. 두 시간 삽질했다. thread arg 를 포인터로 주는데 여러 개를 쓰려면 struct로 정의해서 써야 한댄다. 맞는지 틀린지.. 100번 돌리면 mutex lock을 설정한 경우와 설정하지 않은 경우 값이 다름. 나름 이해했다고 믿고 싶다.
linux system programming, 234p https://bitsoul.tistory.com/m/157 여기 참조. 위 코드를 실행하면 아래와 같다. race condition으로 매 실행 다른 결과를 보았다. gnu c는 pthread가 전부인가 보다.
linux system programming, 174p 예제 실행. 54번 행 printf가 나오지 않음은 stdout을 죽여서 그런 듯 하다. NR_OPEN을 찾을 수 없는데, 옛날 프로그램이라 다른 문구로 정의된 듯 하다. FOPEN_MAX로 일단 했다. pid 1939가 ?로 대몬으로 변신했다.