리눅스의 캐쉬정책(LRU) 변경 가능한가요.?(수정)
글쓴이: bluemoong / 작성시간: 목, 2007/05/31 - 9:30오후
안녕하세요..^^
기존의 알고리즘화 되어 알려진 캐쉬정책에 대해서는 여러가지 것들이 있지만 (MRU, LRU, LFU 등등)
리눅스에서는 second-chance LRU를 사용하는 것으로 알고 있습니다.
리눅스에서 프로세스의 특성에 따라서 다른 캐쉬정책(기존의 리눅스에서는 지원하지 않는)을 개발하고 적용하는 것을
운영체제를 공부하면서 리눅스상에서 실제로 구현해 보려고 합니다.
(프로세스의 작업패턴에 맞게 MRU, LFU 등도 리눅스에서 동작되도록 하려고 합니다)
다만 문제는 이쪽으로 이론적인 것을 제외하고 실제로 어떻게 구현을 해야하는지에 대한
자료나 참고할 사항들이나 전혀 아는게 없어서 도움을 받고자 이렇게 질문을 올립니다.
아주 작은 정보라도 답변해주시면 감사하겠습니다.
모두들 즐거운 하루되세요..^^
Forums:
오늘 기말고사 범위라서
마침 오늘 운영체제 과목 기말고사 본 범위라서, 잘 모르지만 말씀드립니다.
LRU 알고리즘은 소프트웨어적으로 구현 할 경우에는 알고리즘 자체의 효율성 보다 구현의 복잠성이 훨씬 크기 때문에
하드웨어적인 지원 없이는 무의미하다고 합니다. (소프트웨어에 의한 구현이 오히려 10배 느려진다고 교재에 나와 있군요)
하지만 LRU 알고리즘을 하드웨어적으로 지원하는 경우 역시 거의 없다고 교과서에 나와 있네요.
리눅스에서 과연 LRU 알고리즘을 실제로 활용하고 있는지, 아니면 차선으로써 참조비트 알고리즘이나 2차기회 알고리즘을 사용하는지 실제로 확인하는 과정이 선행되어야 하지 않나 생각합니다.
커널 소스를 잘 살펴본다면 알 수야 있겠지만 저도 거기까지는 내공이 미치지 못해서 애석하군요.
가상메모리를 관리하는 부분이 어디인지 알 수 있다면 무슨 알고리즘을 적용하고 있는지 정도는 짐작할 수 있을텐데요.
LRU 알고리즘... 쓰시려면 캐시 컨트롤러를...
저도 아직 완벽한 LRU 컨트롤러 설계는 못해봤지만,
PLRU는 해봤어용. :)
MMU 나 별도의 캐쉬컨트롤러에서 운영되고 있어서, 운영체제의 지원이 따로 필요한 것은 아니라고 생각했었는데... 운영체제에서도 구현이 가능한가보군요?
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.
http://kerneltrap.org/node/59
http://kerneltrap.org/node/5921
댓글 달기