본문 바로가기

운영체제7

가상메모리(페이지 교체 알고리즘) 페이지 교체 알고리즘 배경 요구 페이징 시스템은 프로세스가 특정 페이지를 요구할 때 해당 페이지를 물리 메모리에 로딩한다. 메모리에 필요한 페이지가 있을 때는 잘 진행되지만, 없을 경우에는 문제가 생긴다. 프로세스가 필요로 하는 페이지가 없는 경우(page-fault) 하드 디스크에서 페이지를 찾아 빈 프레임에 로딩하는데, 여기서 또다시 ‘페이지를 올릴 빈 프레임이 없을 경우’ 란 문제에 직면할 수 있다. 이때 사용하는 것이 새로 올릴 페이지와 교체할 희생 프레임을 찾는 알고리즘, 페이지 교체 알고리즘이다. 아래의 페이지 교체 알고리즘 예시들은 각 프로세스에 프레임 3개를 주고, 지역성 교체를 가정한 것이다. FIFO(first in first out) 가장 간단한 알고리즘으로, 메모리에 올라온 지 가장.. 2020. 9. 22.
가상 메모리 #6 가상 메모리 지금까지의 메모라 관리 기법 방식은 프로세스 전체가 메모리 내에 올라와야 한다는 것을 전제로 하고 있다. 프로세스 전체가 메모리 내에 올라오지 않더라도 실행이 가능하도록 하는 기법을 가상 메모리라고 한다. 가상 메모리는 물리 메로리로부터 사용자 관점의 논리 메모리를 분리시켜 주 메모리를 균 인한 크기의 저장 공간으로 구성된 엄청나게 큰 배열로 추상화시켜준다. 따라서 작은 메모리를 가지고도 큰 가상 주소 공간을 제공한다. 장점 사용자 프로그램이 물리 메모리보다 커져도 된다. 즉, 메모리 크기의 제약으로부터 자유로워진다. 각 사용자 프로그램이 더 작은 메모리를 차지하므로 더 많은 프로그램을 동시에 수행할 수 있다. 이에 따라 응답 시간은 늘어나지 않으면서 CPU 이용률과 처리율이 높아진다. 프로.. 2020. 2. 15.
메모리 관리 전략, 가상메모리 #5 메모리 관리 전략(Memory Managing Strategy) 및 및 가상 메모리(Virtual Memory) 가상 메모리는 한정된 크기의 메모리 내에서 최대한 많은 프로세스를 할당하여 효율적으로 사용하기 위해 만든 기술로, 간단히 말하면 보조 기억장치를 주기억장치처럼 사용할 수 있게 하는 기술이다. 이를 통해 프로그램이 물리 메모리보다 커도 된다는 주요 장점이 있다. 용량보다 큰 프로그램은 실행을 할 수가 없다. 또 여러 프로그램을 메모리에 동시에 올리기에는 용량의 한계와 페이지 교체 등의 이슈가 발생하였다. 하지만 가상 메모리가 개발되면서 물리 메모리 크기에 제약을 받지 않게 되었고 더 많은 프로그램을 동시에 실행할 수 있게 되었고, swap에 필요한 I/O가 줄어들기 때문에 프로그램들이 빠르게 실.. 2020. 2. 14.
동기와 비동기, 프로세스 동기화 #4 동기/ 비동기 동기와 비동기는 상황에 따라서 각각의 장단점이 있다. 동기방식은 설계가 매우 간단하고 직관적이지만 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있고, 비동기 방식은 동기보다 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수 있는 장점이 있다. 동기(synchronous: 동시에 일어나는) - 동기는 말 그래도 동시에 일어난다는 뜻이다. 요청과 그 결과가 동시에 일어난다는 약속이다. 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 한다. ->요청과 결과가 한 자리에서 동시에 일어남 -> A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다. 1. A의 계좌는 .. 2020. 2. 9.