문제

나는 오래된 UNIX 커널을 해킹하려고 노력하고 있습니다.소프트웨어를 사용하여 MMU 및 TLB를 구현하려고합니다.일부 사람은 최상의 데이터 구조와 알고리즘이 하나를 구축하는 데 사용할 수있는 것이 무엇인지 말해 줄 수 있습니다.나는 LRU를 쉽게 구현할 수 있기 때문에 Splay Tree를 사용하는 많은 사람들을 보았습니다.더 나은 데이터 구조가 있습니까?소프트웨어에서 실제 주소로 가상 주소로 가상으로 번역하는 가장 효율적인 방법은 무엇입니까?

도움이 되었습니까?

해결책

효율성을 언급합니다.당신이 엔지니어링 할 목표인가요?특정 목표에 제약하지 않으면 작업을 수행하려고합니다.직접 또는 완전히 연관 될 수있는 경우 단일 레벨 페이지 테이블을 수행 할 수 있습니다.당신이 이걸 지나치게 들리는 것처럼 들린다.

가장 효율적인 크기는 크기 - 속도 절충과 어떤 종류의 지역에 따라 달라질 것입니다.중요한 앱이 프로파일 링되거나 일부 구현을 시도하기 위해 주위를 망쳐 놓는 것입니다.거꾸로 된 페이지 테이블은 일부 최신 아키텍처에서 사용됩니다.나는 이것이 많은 시간을 보내고있는 누군가가 이것에 대한 많은 시간을 보내는 것이 좋은 방법이라고 생각한다는 것을 알게 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top