728x90

가상메모리 6

24.06.15 CS

CS프로세스와 스레드프로세스프로세스는 ‘실행중인 프로그램’으로 정의한다. 즉 실행되고 있는 각각의 프로그램이 (심지어 같은 프로그램을 여러 개 실행시켰더라도) 모두 프로세스이다.프로세스는 각자 고유한 가상 메모리를 가지고 있기 때문에, 실제 물리 메모리 사용량과는 상관없이 프로세스 자신이 전체 메모리를 전부 가진 것처럼 작동하며, 이러한 착각을 지원하기 위해 가상 메모리 할당과 페이징 같은 기능들을 제공한다.다른 프로세스와 통신하려면(IPC : Interprocess Communication) 메시지 패싱이나 공유 메모리(Shared Memory) 같은 방식을 사용해야 하며, 스레드보다 비교적 무겁다. 프로세스를 생성 → 제거하는 일련의 사이클에서 OS는 가상 메모리 범위를 잡고, 프로세스를 세팅하고, ..

Project3. Virtual Memory

Project3. Virtual Memory Git Book https://github.com/EririnG/PintOS_Kaist GitHub - EririnG/PintOS_Kaist: PintOS_Kaist PintOS_Kaist. Contribute to EririnG/PintOS_Kaist development by creating an account on GitHub. github.com Krafton Jungle Week 11 Team 2 WIL Project 3 VM : Memory Management ~ Swap In/Out 느낀점 드디어 길고 길었던 Pintos가 끝이 났다. 핀토스를 진행하며 좌절이란 좌절도 정말 많이했고, 그만큼 성취감이나 즐거움 또한 있었다. 특히 무언가를 해결해서 ..

Study/PintOS 2024.04.03

운영체제 19. 완전한 가상 메모리 시스템

운영체제 19. 완전한 가상 메모리 시스템 19.1 VAX/VMS 가상 메모리 VMS는 컴퓨터의 구조적 결함을 소프트웨어로 보완한 훌륭한 사례다. 운영체제가 이상적인 개념과 환상을 제공하기 위해 하드웨어에 의존하지만, 하드웨어가 모든것을 해내지 못할 경우도 있다. 하드웨어 결함에도 불구하고 시스템이 효과적으로 작동하기 위해서 VMS 운영체제가 무엇을 하였는지 볼 것이다. 메모리 관리 하드웨어 VAX-11은 프로세스마다 512바이트 페이지 단위로 나누어진 32비트 가상주소 공간을 제공한다. 가상주소는 23비트 VPN과 9비트 오프셋으로 구성되어있다 VPN의 상위 두 비트는 페이지가 속한 세그멘트를 나타내기 위해서 사용되었다. 이 시스템은 하이브리드 구조를 갖고 있다. 주소공간의 하위 절반은 ‘프로세스 공간..

책/운영체제 2024.03.16

묵시적 리스트(implicit list)

묵시적 리스트 구현 모든 할당기는 블록 경계를 구분하고, 할당된 블록과 가용블록을 구분하는 데이터 구조를 필요로 한다. 일반적인 방법으로는 추가적으로 1 블록을 사용해 블록 앞에 블록의 크기를 저장하는 방법이 있다. 이때 추가적으로 사용되는 1워드를 헤더라고 한다. 헤더는 블록 크기와 블록이 할당 되었는지, 혹은 가용상태인지를 인코딩한다. 데이터 이후에 사용되지 않은 패딩이 따라올 수도 있는데, 이들의 가변적이다. 외부 단편화를 극복하기 위한 할당기의 전략일 수도, 정렬 요구 사항일수도 있다. 특별한 마지막 블록(1/0)이 필요하다. 에필로그 헤더라고 부른다. 마지막 노드를 식별하고 리스트 무결성을 유지하는데 중요한 역할을 한다. 리스트 순회 및 특수 기능 구현에도 활용할 수 있다. 할당할 블록 결정하기..

Computer/CS 2024.02.18

CSAPP 9

CSAPP 9. 가상 메모리 메모리를 보다 효율적이고 더 적은 에러를 갖도록 관리하기 위해서 현대의 시스템은 가상메모리(VM : Virtual Memory)이라고 알려진 메인 메모리 추상화를 제공한다. 가상 메모리는 한 개의 깔끔한 메커니즘을 사용해서 세 개의 중요한 기능을 제공한다. 메인 메모리를 디스크에 저장된 주소공간에 대한 캐시로 취급해서 메인 메모리 내 활성화 영역만 유지하고, 데이터를 디스크와 메모리안에 필요에 따라 전송하는 방법으로 메인 메모리를 효율적으로 사용한다. 각 프로세스에 통일된 주소공간을 제공함으로써 메모리 관리를 단순화한다. 각 프로세스의 주소공간을 다른 프로세스에 의한 손상으로부터 보호한다. 9.1 물리 및 가상주소 방식 컴퓨터 시스템의 메인메모리는 M개의 연속적인 바이트 크기..

책/CSAPP 2024.02.13

CSAPP 9-9.5

24.01.28 CSAPP CSAPP 9 가상메모리 한 시스템의 프로세스들은 CPU와 메인메모리를 다른 프로세스들과 공유한다. 메모리를 보다 효율적이고 더 적은 에러를 갖도록 관리하기 위해서 현대의 시스템은 가상메모리 VM이라고 알려진 메인메모리의 추상화를 제공한다. 가상메모리는 각 프로세스에 하나의 크고 통합된 사적 주소공간을 제공한다. 이것은 하드웨어 예외, 하드웨어 주소번역, 메인메모리, 디스크파일, 커널 소프트웨어들 사이의 상호작용이다. 가상메모리는 한 개의 깔끔한 매커니즘을 사용해 세 주요 기능을 제공한다. 메인메모리를 디스크에 저장 된 주소공간에 대한 캐시로 취급해서 메인메모리내 활성화 영역만 유지하고, 데이터를 디스크와 메모리간에 필요에 따라 전송하는 방법으로 메인 메모리를 효율적으로 사용한..

책/CSAPP 2024.01.28
728x90