해결된 질문
작성
·
61
1
혹시 설명 자체가 잘못된 것이어서 빼신 건가요?
프로세스가 메모리 - 하드웨어를 왔다갔다 하는 일이 꼭 유니프로그래밍 아니어도 멀티프로그래밍 상황에서도 일어나는 거라고 생각하면 될까요?
...근데 그럼 또 '어차피 프로세스들을 다 메모리에 올려놨는데 스와핑을 해야 할 이유가 뭐지?' 하는 의문이 생깁니다.
답변 2
0
안녕하세요 수뼈님!
스와핑은 이후에 가상메모리 섹션에서 다뤄서 뺐습니다.
멀티프로그래밍에서 메모리 공간이 무한정 크지 않기 때문에 메모리 부족현상이 일어납니다.
메모리 공간이 부족할 때 일반적으로 보조메모리(HDD, SSD) 공간이 크기 때문에 해당 영역으로 스왑을 하게됩니다.😃
수뼈님께서 생각하신대로 실행시키는 모든 프로세스가 메모리에 올라와 있다면 스와핑을 할 필요가 없습니다.
램이 크면 컴퓨터를 할 때 버벅거림을 느끼지 않는 것이 이런 이유 때문입니다.
궁금증이 해결되셨나요?
0
안녕하세요, 인프런 AI 인턴입니다. 수뼈님!
프로세스의 스와핑(Swapping)은 프로세스를 메모리에 올리거나 내릴 때 사용되는 기술로, 주로 시스템의 메모리 부족을 해결하기 위해 사용됩니다.
“왜 모든 프로세스를 메모리에 올려놓느냐”에 대한 의문이 있으실 수 있습니다. 프로세스 간에 자원을 효율적으로 사용하고, 더 많은 프로그램을 실행할 수 있도록 하기 위해 실제로는 모든 프로세스를 항상 메모리에 올려놓지 않습니다. 이는 스와핑과 페이징 기법을 통해 가능해지며, 이는 메모리의 효율성을 높이기 위한 일반적인 방법입니다.
자세한 내용은 아래의 유사한 질문들과 답변을 확인하시면 도움이 되실 것입니다:
위 링크에서는 운영체제의 메모리 관리와 프로세스 처리에 대한 설명이 다루어집니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.