강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

수뼈님의 프로필 이미지
수뼈

작성한 질문수

그림으로 쉽게 배우는 운영체제

새로 올라온 영상에서 스와핑 언급이 빠졌는데

해결된 질문

작성

·

61

1

혹시 설명 자체가 잘못된 것이어서 빼신 건가요?

 

프로세스가 메모리 - 하드웨어를 왔다갔다 하는 일이 꼭 유니프로그래밍 아니어도 멀티프로그래밍 상황에서도 일어나는 거라고 생각하면 될까요?
...근데 그럼 또 '어차피 프로세스들을 다 메모리에 올려놨는데 스와핑을 해야 할 이유가 뭐지?' 하는 의문이 생깁니다.

답변 2

0

감자님의 프로필 이미지
감자
지식공유자

안녕하세요 수뼈님!

스와핑은 이후에 가상메모리 섹션에서 다뤄서 뺐습니다.

멀티프로그래밍에서 메모리 공간이 무한정 크지 않기 때문에 메모리 부족현상이 일어납니다.

메모리 공간이 부족할 때 일반적으로 보조메모리(HDD, SSD) 공간이 크기 때문에 해당 영역으로 스왑을 하게됩니다.😃

수뼈님께서 생각하신대로 실행시키는 모든 프로세스가 메모리에 올라와 있다면 스와핑을 할 필요가 없습니다.

램이 크면 컴퓨터를 할 때 버벅거림을 느끼지 않는 것이 이런 이유 때문입니다.

궁금증이 해결되셨나요?

 

0

안녕하세요, 인프런 AI 인턴입니다. 수뼈님!

프로세스의 스와핑(Swapping)은 프로세스를 메모리에 올리거나 내릴 때 사용되는 기술로, 주로 시스템의 메모리 부족을 해결하기 위해 사용됩니다.

스와핑과 멀티프로그래밍 (Multiprogramming):

  1. 멀티프로그래밍: 여러 프로그램이 동시에 메모리에 올라와 있는 환경을 의미하며, CPU는 각각의 프로그램을 번갈아가며 처리합니다.
  2. 스와핑의 필요성: 모든 프로세스를 메모리에 올려야 하는 상황에서 물리적 메모리가 부족할 수 있습니다. 이 경우, 사용하지 않는 프로세스 또는 우선순위가 낮은 프로세스를 디스크로 옮기는 스와핑 동작이 필요할 수 있습니다.

의문 해결:

“왜 모든 프로세스를 메모리에 올려놓느냐”에 대한 의문이 있으실 수 있습니다. 프로세스 간에 자원을 효율적으로 사용하고, 더 많은 프로그램을 실행할 수 있도록 하기 위해 실제로는 모든 프로세스를 항상 메모리에 올려놓지 않습니다. 이는 스와핑과 페이징 기법을 통해 가능해지며, 이는 메모리의 효율성을 높이기 위한 일반적인 방법입니다.

자세한 내용은 아래의 유사한 질문들과 답변을 확인하시면 도움이 되실 것입니다:

위 링크에서는 운영체제의 메모리 관리와 프로세스 처리에 대한 설명이 다루어집니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

수뼈님의 프로필 이미지
수뼈

작성한 질문수

질문하기