Computer Science/Operating System

Computer Science/Operating System

[OS] 가상 메모리(swap) 사용 시 CPU 점유율이 폭증하는 이유

연구팀을 위해 데이터를 뽑는 도중 큰 데이터를 뽑다가 서버를 터트렸다. 해당 원인에 대해서 공부했던 내용에 대해서 서술한다. 가상 메모리(swap)란? 가상 메모리는 물리적인 RAM이 부족할 때 디스크 공간의 일부를 RAM처럼 사용하는 시스템이다. 이는 임시 방편으로 RAM이 부족한 상황에서 프로세스를 계속 실행하게 해준다. 예를 들어, 사용자가 8GB RAM을 갖춘 컴퓨터에서 10GB의 메모리를 요구하는 대규모 응용 프로그램을 실행하려고 시도한다면, 실제 물리적인 RAM만으로는 충분하지 않다. 이때, 운영체제는 2GB의 데이터를 하드 디스크의 swap 영역에 저장하게 된다. 이로 인해 사용자는 마치 10GB의 RAM이 있는 것처럼 프로그램을 실행할 수 있다. 하지만, 디스크 I/O는 RAM보다 느리므로..

Computer Science/Operating System

[CS] 운영체제 - 디스크 관리와 스케줄링

Disk 구조 logical block 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들이다. 주소를 가진 1차원 배열처럼 취급하며 정보를 전송하는 최소 단위이다. sector logical block이 물리적인 디스크에 매핑된 위치이다. sector 0은 가장 바깥쪽의 실린더의 첫 트랙에 있는 첫 번째 섹터이다. Disk 관리 physical formatting 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정이다. 각 섹터는 header와 실제 data 및 trailer로 구성된다. header와 trailer는 sector number, ECC(Error-correcting Code)등의 정보가 저장되며 controller가 직접 접근 및 운영한다. Partitioning 디스크를 ..

Computer Science/Operating System

[CS] 운영체제 - 파일 시스템

File file이란 이름을 가지고 저장하는 정보이다. 일반적으로 비휘발성의 보조기억장치에 저장한다. 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해준다. 연산의 종류: create, read, write, reposition, delete, open, close 등이 있다. File attribute(파일의 metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들을 의미한다. 파일 이름, 유형, 저장된 위치, 파일 사이즈, 접근 권한, 시간, 소유자 등이 포함될 수 있다. File system 운영체제에서 파일을 관리하는 부분이다. 파일 및 파일의 메타데이터, 디렉토리 정보 등을 관리한다. 파일의 저장 방법을 결정하고, 파일을 보호한다. Direc..

Computer Science/Operating System

[CS] 운영체제 - 가상 메모리

가상 메모리의 기법은 전적으로 운영체제가 관리하고 있다. Demand Paging 실제로 필요할 때 page를 메모리에 올리는 것을 말한다. 이렇게하면 I/O 양의 감소, Memory의 사용량 감소, 빠른 응답 시간, 더 많은 사용자 수용 등의 효과를 얻는다. Valid / Invaild bit를 사용한다. Invalid는 사용되지 않는 주소 영역인 경우, 페이지가 물리적 메모리에 없는 경우를 말한다. 처음에는 모든 page entry가 invalid로 초기화되고 주소 변환 시에 invalid bit이 설정되어 있다면 page fault라는 현상이 발생한다. Page fault invalid page를 접근하면 MMU가 trap을 발생시킨다. (page fault trap 이라고 불린다.) kernel ..

얼은펭귄
'Computer Science/Operating System' 카테고리의 글 목록