- [ 학습기록/CS 공부 ][OS] 가상 메모리 (페이지 부재/페이지 교체/스레싱/워킹셋)2024-02-09 21:04:57create the illustion to users of a very large (main) memory 가상 메모리는 실제 물리적인 메모리보다 큰 용량의 메모리 공간을 제공하는 기술이다. 프로그램이 필요로 하는 데이터를 일부만 물리적 메모리에 로드하고, 나머지는 디스크 공간에 저장한다. 그리고 프로그램이 해당 데이터에 접근할 때만 필요한 부분을 메모리로 옮겨 사용한다. 이를 통해 더 많은 프로그램을 실행할 수 있고, 메모리를 보다 효율적으로 사용할 수 있다. 가상 메모리는 주로 페이징 기법을 사용하여 메모리 용량을 초과하는 프로그램의 데이터를 디스크에 저장하고, 필요할 때마다 가져온다. 그러나 모든 페이지를 메모리에 동시에 유지할 수 없기 때문에 페이지 교체 알고리즘이 필요하다. 페이지 교체 알고리즘..
- [ 학습기록/CS 공부 ][OS] 메모리 관리 2편 (연속 할당/불연속 할당)2024-02-09 01:35:34메모리 관리 메모리 배치 메모리 배치는 시스템의 성능을 향상시키고 자원을 효율적으로 활용하는 데 중요한 역할을 한다. 올바른 메모리 배치는 프로세스 간의 메모리 접근을 최적화하여 프로그램 실행 속도를 향상시킨다. 이는 메모리의 인접한 위치에 있는 데이터 및 명령어에 빠르게 접근할 수 있게 함으로써 프로그램의 실행 효율성을 높인다. 또한, 메모리 공간을 효율적으로 활용하여 메모리 공간 낭비를 최소화한다. 이는 메모리 단편화*를 방지하여 더 많은 프로세스를 동시에 실행할 수 있도록 돕는다. *단편화 (fragmentation) : 메모리가 여러 조각으로 나누어져 메모리를 효율적으로 사용하지 못하는 상황 메모리는 크게 운영체제와 사용자 프로세스가 사용하는 영역으로 나뉜다. os 상주 영역은 운영체제 커널과 시..
- [ 학습기록/CS 공부 ][OS] 메모리 관리 1편 (주소 바인딩/메모리 로드)2024-02-07 23:35:36메모리는 프로그램이 실행될 때 필요한 데이터를 일시적으로 저장하는 공간이다. 운영체제는 이러한 메모리를 효율적으로 활용하여 다음과 같은 작업을 수행한다. 프로세스를 실행하기 위해 필요한 메모리를 할당하고 해제한다. 여러 프로세스가 동시에 실행될 때 메모리를 적절히 분배하여 각 프로세스가 충돌 없이 실행될 수 있도록 한다. 가상 메모리를 활용하여 물리적 메모리의 한계를 극복한다. 이를 통해 더 많은 프로세스를 동시에 실행할 수 있다. 메모리 관리 It determines how memory is allocated among competing processes, deciding which gets memory, when they receive it, and how much they are allowed. 메..