가비지 수집 언어 디자인 관련 의사 결정에 대한 통찰력을 찾고 있습니다. 어쩌면 언어 전문가가 나를 밝힐 수 있습니까? 나는 C ++ 배경에서 왔 으므로이 지역은 당황 스럽습니다. Ruby, Javascript / ES6 / ES7, Actionscript, Lua 등과 같은 OOPy 객체 지원을 통해 거의 모든 현대 가비지 수집 언어가 소멸자 / 최종 …
그래서 가비지 컬렉터가 어떻게 작동하는지 생각하고 흥미로운 문제를 생각했습니다. 가비지 수집기는 모든 구조를 동일한 방식으로 통과해야 할 것입니다. 그들은 연결된 목록이나 균형 잡힌 나무 등을 가로 지르는 날씨를 알 수 없습니다. 또한 검색시 너무 많은 메모리를 사용할 수 없습니다. 가능한 한 가지 방법과 모든 구조를 통과한다고 생각할 수있는 유일한 방법은 …
내가 이해하는 것처럼 메모리는 많은 것들에 사용됩니다. 디스크 캐시 역할을하며 프로그램 지침 및 해당 스택 및 힙을 포함합니다. 여기에 생각 실험이 있습니다. 컴퓨터가 크 런칭을 수행하는 데 걸리는 속도 나 시간에 신경 쓰지 않는다면 디스크가 매우 크다고 가정 할 때 가질 수있는 최소 메모리 양은 얼마입니까? 메모리를 없애고 디스크를 가질 …
그래픽 처리 장치에는 메모리 통합이라는 것이 있다는 것을 알게되었습니다. 그것에 대해 읽을 때 나는 주제에 대해 명확하지 않았습니다. 이것이 메모리 레벨 병렬 처리와 관련이 있습니까? Google에서 검색했지만 만족스러운 답변을 얻을 수 없었습니다. 누군가 더 포괄적이고 이해하기 쉬운 설명을 제공하면 도움이 될 것입니다.
물리적 주소 비트가 40 개인 시스템을 사용한다고 가정 해 봅시다. 총 물리적 주소 공간 (바이트 주소 지정 가능 메모리로 가정)은 바이트 또는 1TiB입니다. 또한 가상 주소의 길이가 48 비트 인 경우 실제 메모리의 위치보다 가상 메모리에 사용 가능한 주소가 더 많습니다.2402402^{40} "과도한"주소는 하드 디스크 위치도 참조 할 수 있기 때문에 …
일부 하이퍼 바이저는 벌룬 (ballooning)이라고하는 방법 (최소한 KVM이 호출하는 방식)을 사용하여 메모리 사용을 최적화합니다.이 방법은 VM간에 메모리를 중복 제거하고 쓰기시 복사시 공통 페이지를 읽기 전용으로 설정합니다. 이것은 포크 호출의 반대입니다. 프로세스를 위해 OS 수준에서 구현하는 것이 가능합니까 (동일한 사이트에서 여러 탭이있는 Chromium으로 탐색 할 때 주로 메모리 복제를 생각하고 있었음) …
가비지 콜렉션은 회수 할 수있는 메모리를 찾기 위해 살아있는 모든 오브젝트를 방문해야합니다. (많은 세대가있는 것은 이것을 조금 지연시킵니다) 모든 것이 동일하므로 다른 블록을 페이징하고 일부 객체를 페이징하기 전에 이미 RAM으로 페이징 된 객체를 먼저 방문하는 것이 좋습니다. 또 다른 가능성은 OS가 프로세스에서 램 페이지를 가져 가기를 원할 때 GC에 페이지를 …
다음은 OS 홈 할당을 수행하면서 나왔음을 의심합니다. 그러나 간단한 코딩 질문보다 개념 기반으로 보이므로 IMHO 숙제 태그가 적합하지 않다고 생각합니다. 고정 된 양의 RAM 및 스왑 메모리가 주어지면 동시에 실행되는 여러 프로세스에 대한 순수 수요 페이징 체계에서 다음 두 경우에서 발생하는 상황은 스왑 공간에서 발생합니다. 프로세스에 페이지 결함이 발생하고 RAM에 …
다양한 CS 교육 자료에서이 용어를 여러 번 접했습니다. L2 CS162 (UC 버클리) : 메모리 매핑 된 I / O L4 CS162 (UC 버클리) : 메모리 매핑 파일 L24 CS61 (UC 버클리) : "메모리 매핑 된 I / O": CPU 주소 공간에 매핑 된 장치 제어 / 데이터 레지스터 인터넷 검색 …
ARM 프로세서 중 일부를위한 취미 운영 체제를 작성하려고했습니다. ARM MPU를 사용하는 인기있는 단일 보드 컴퓨터가 많이 있으므로 간단히 그 중 하나를 구입하고 싶었습니다 (더 많은 공개 문서가있는 컴퓨터 선택). 메모리가 충분한 보드조차도 메모리 관리 장치가있는 MPU가 없다는 사실을 알고 놀랐습니다. 나는 항상 i386 + 프로세서로 작업 해 왔으며 다른 마이크로 …