CS/운영체제
동기/비동기 블로킹/논블로킹에 대하여
🔖 Introduce 동기/비동기, 블로킹/논블로킹 의미 📌 동기 / 비동기는 작업의 순서와 관련된 개념이다. 📌 블로킹 / 논블로킹은 작업 흐름의 막는 여부와 관련된 개념이다. 두 개념을 종합하여 생각해보기 비동기+논블로킹 비동기+블로킹 동기+블로킹 동기+논블로킹 정리하며.. 평소 동기와 비동기에 대한 차이가 무엇이냐는 질문을 받으면, 이렇게 답하고 했다. ” 동기는 한가지 일만 할 수 있는 것이고, 비동기는 여러가지 일을 바꾸어가며 동시에 실행할 수 있는 방식을 말합니다 “ 그런데 여기서 추가적인 질문이 들어온다. 블로킹과 논블로킹은 그럼 무슨차이에요? ” 동기와 블로킹이 비슷하고 비동기와 논블로킹이 비슷한 방식아닐까요..? “ 당연히 비슷한 개념이면, 굳이 블로킹과 논블로킹이라는 단어를 쓰진 않겠지..
페이지 교체와 프레임 할당이란?
프로세스를 메모리에 적재할 때 처음부터 모든 페이지를 적재하지는 않습니다. 필요한 페이지 만을 메모리에 적재하는 기법을 요구 페이징이라고 합니다. 아무런 페이지도 메모리에 적재되지 않은 채 무작정 실행하는 경우도 있습니다. 메모리에 페이지 정보가 없기 때문에 페이지 폴트가 발생하게 되고, 페이지를 적재합니다. 한 동안 페이지 폴트가 계속 발생하게 되고 실행에 필요한 페이지가 어느 정도 적재 된 이후부터는 페이지 폴트 발생 빈도가 떨어지게 됩니다. 이를 순수 요구 페이징 기법이라고 합니다. 요구 페이징 시스템이 안정적으로 동작하려면 페이지 교체와 프레임 할당이라는 문제를 해결해야 합니다. 요구 페이징 기법은 지금 당장의 실행에 필요한 페이지를 메모리에 적재하는 기법이라 했습니다. 즉 실행에 필요하지 않은 ..
가상 메모리란?
가상 메모리 도입의 필요성 저번 글에서 연속 메모리 할당 방식의 문제점에 대해 알아보았습니다. 연속 메모리 할당 방식에서 가장 큰 문제점은 다음과 같습니다. 1. 외부 단편화(메모리 공간이 충분한데도, 연속적으로 프로세스를 배치하지 못하여 프로세스를 실행하지 못하는 문제) 2. 물리 메모리 보다 큰 프로세스 실행 불가 이러한 문제들을 가상 메모리의 페이징 기법을 활용하여 해결이 가능합니다. https://pjh0805.tistory.com/68 연속 메모리 할당의 문제점은? 연속 메모리 할당이란? 연속 메모리 할당이란 아래 그림과 같이 프로세스에 연속적인 메모리 공간을 할당하는 방식을 뜻합니다. 연속 메모리 할당 방식 프로세스는 메모리의 빈 공간에 할당되 pjh0805.tistory.com 가상 메모리란..
연속 메모리 할당의 문제점은?
연속 메모리 할당이란? 연속 메모리 할당이란 아래 그림과 같이 프로세스에 연속적인 메모리 공간을 할당하는 방식을 뜻합니다. 연속 메모리 할당 방식 프로세스는 메모리의 빈 공간에 할당되어야 합니다. 연속 메모리 할당 방식에는 빈 공간에 메모리를 할당하는 방식에 따라 3가지로 구분 됩니다. 최초 적합 최초 적합은 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다 적재할 수 있는 공간에 프로세스를 배치하는 방식을 뜻합니다. 위 그림과 같은 경우 빈 공간인 A - B - C 순서대로 탐색을 진행하게 되는 것이죠. 실제로는 A에 적재할 수 있기 때문에 B와 C까지 탐색을 하지 않고 빈 공간 A에 프로세스를 적재하게 됩니다. 즉, 최초 적합 방식은 프로세스가 적재될 수 있는 빈 공간을 발견하는 즉시 메모리를 할당..