메모리에 매핑하면 운영체제 관여 없이 메모리 접근 연산만으로 파일 입출력과 같은 효과를 낸다 물리 메모리에 올라와있지 않으면 마찬가지로 page fault 발생해 OS로 CPU 제어권이 넘어간다 unified buffer cache 일 때 물리 메모리에 매핑된 페이지가 올라오면 시스템콜 없이 직접 파일에 접근 가능 물리 메모리에 매핑된 데이터가 스왑될때는 swap area가 아닌 파일 시스템에 변경된 사항을 반영한 후 삭제된다 가상 메모리의 code 부분도 읽기만 가능하므로 실행파일에 온전히 존재하여 swap area로 가지 않고 삭제된다 다른 프로세스가 같은 데이터 파일을 매핑하면 물리 메모리에서 같은 주소를 공유하며 접근한다 일관성 문제에 유의해야 함 B가 데이터 파일을 매핑하여 물리 메모리에 올라가..
직접 접근이 가능한 매체(예: 디스크)라도 데이터를 관리 방식에 따라 순차 접근만 허용되는 경우도 있다 파일들을 디스크에 연속적으로 저장 공간 효율보다는 시간 효율이 중요한 상황에서 사용하면 좋다 (realtime, swapping) 파일의 부분들을 디스크의 남는 자리에 저장하고, 각 부분에는 다음 부분의 위치를 가리키는 포인터가 있음 index block을 별도로 두어서 각 파일 부분의 위치정보를 순서대로 담고 있다 index block을 여러개 연결하거나, 계층을 두어 큰 파일도 처리 가능 -> 공간 효율 ↓ boot block: 어떤 파일 시스템이든 맨 처음에 위치, 커널의 위치를 찾아 부팅할 수 있게 하는 역할 super block: 디스크의 빈 block 정보, 할당된 block 정보, inod..
메모리(주소로 접근), 파일(이름으로 접근) reposition: 파일 내 포인터를 그 파일의 다른 곳으로 옮기는 것 (계속 연속적으로만 읽지 않을 수 있음) open root의 metadata 위치는 이미 알고 있어서 메모리에 올려놓고 root 파일에 있는 a의 metadata를 메모리에 올림 디렉토리 파일인 a의 metadata 정보로 a의 저장 위치로 접근해 그 안에 있는 b의 metadata를 메모리에 올림 read b의 저장 위치로 접근해 요청한 만큼의 데이터를 OS영역의 버퍼 캐시 공간에 저장 버퍼 캐시에 있는 데이터의 복사본을 사용자 메모리 영역에 저장 요청한 데이터가 버퍼 캐시에 존재하는 경우 CPU 판단 하에 디스크를 경유하지 않고 바로 복사하여 전달 A의 PCB에 파일 b의 metada..