Skip to content
Home » 가상 기억 장치 | [시나공 정보처리] 1416600 가상기억장치 구현 기법 답을 믿으세요

가상 기억 장치 | [시나공 정보처리] 1416600 가상기억장치 구현 기법 답을 믿으세요

당신은 주제를 찾고 있습니까 “가상 기억 장치 – [시나공 정보처리] 1416600 가상기억장치 구현 기법“? 다음 카테고리의 웹사이트 hu.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: hu.taphoamini.com/photos. 바로 아래에서 답을 찾을 수 있습니다. 작성자 길벗시나공 IT 이(가) 작성한 기사에는 조회수 1,845회 및 좋아요 21개 개의 좋아요가 있습니다.

가상 메모리 또는 가상 기억 장치(문화어: 가상기억기, virtual memory, virtual storage)는 메모리 관리 기법의 하나로, 기계에 실제로 이용 가능한 기억 자원을 이상적으로 추상화하여 사용자들에게 매우 큰 (주) 메모리로 보이게 만드는 것을 말한다.

Table of Contents

가상 기억 장치 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [시나공 정보처리] 1416600 가상기억장치 구현 기법 – 가상 기억 장치 주제에 대한 세부정보를 참조하세요

시나공 카페에서는 최신기출문제와 해설, 시험대비자료, 합격 전략 및 수기, 자격증 관련 문의 및 자료 등 IT 자격증 시험을 위한 모든 정보를 제공합니다.\r
카페 주소 : https://sinagong.gilbut.co.kr/it/

가상 기억 장치 주제에 대한 자세한 내용은 여기를 참조하세요.

[운영체제] 가상기억장치 구현 기법 – 제씨스토리

– 가상기억장치는 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 …

+ 여기에 더 보기

Source: jess2.tistory.com

Date Published: 4/22/2021

View: 1061

가상기억장치 – Santos의 개발블로그

1. 가상기억장치의 목적 … 주기억장치의 기억용량이 부족한 점을 개선하기 위하여 비트당 가격과 기억용량이 보조기억장치와 같으며, 속도가 주기억장치와 …

+ 더 읽기

Source: sangcho.tistory.com

Date Published: 11/26/2021

View: 5193

[운영체제] 가상 기억 장치와 페이징, 세그멘테이션 – velog

가상기억장치란, 보조기억장치(HDD, SSD 등)에서 필요한 데이터 조각만 쏙쏙 골라와서 주기억장치(RAM)에 올려놓고 사용하는 것이다.

+ 여기에 더 보기

Source: velog.io

Date Published: 3/9/2021

View: 6981

가상기억장치의 개요 – 네이버 블로그

2) 주기억장치의 기억용량보다 큰 프로그램을 실행하기 위해 사용함. 3) 가상기억장치에는 프로그램을 여러 개의 블록단위로 나누어서 보관함.

+ 여기에 표시

Source: m.blog.naver.com

Date Published: 12/12/2022

View: 1966

가상메모리 가상기억장치 : 주소 매핑, 페이징, 세그먼테이션

가상기억장치: 보조기억장치인 하드디스크의 일부를 주기억장치처럼 사용하는 것 -> 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 …

+ 여기에 보기

Source: rollercoaster25.tistory.com

Date Published: 10/2/2022

View: 9686

가상기억장치 할당 기법 – Libi의 블로그

가상기억장치란 주기억장치 안의 프로그램 양이 많아질 때, 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억 …

+ 자세한 내용은 여기를 클릭하십시오

Source: sorjfkrh5078.tistory.com

Date Published: 11/18/2021

View: 7972

가상 기억 장치 관리 기법 – 라비스망

가상 기억 장치 – 물리적 주기억 장치 크기보다 더 큰 사용자 프로그램을 실행시킬 수 있도록 하기 위해 개발. 1) 가상 기억 장치 구성 ① 페이징(Paging) 기법 …

+ 여기를 클릭

Source: ravissement.tistory.com

Date Published: 10/13/2021

View: 9934

4-3-6장. 가상기억장치 구현 기법/페이지 교체 알고리즘 – A

가상기억장치는 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용 …

+ 여기를 클릭

Source: lipcoder.tistory.com

Date Published: 10/3/2021

View: 8632

가상 기억 장치(Virtual Memory, Virtual Storage)와 페이징에 …

그래서 실행에 필수적인 부분만 주기억장치에 저장하고 나머지는 보조기억장치에 두어 실행되도록 하여 앞선 문제를 해결하는데 이를 가상 기억 장치 또는 …

+ 여기에 자세히 보기

Source: iwuooh.com

Date Published: 11/19/2021

View: 9170

주제와 관련된 이미지 가상 기억 장치

주제와 관련된 더 많은 사진을 참조하십시오 [시나공 정보처리] 1416600 가상기억장치 구현 기법. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[시나공 정보처리] 1416600 가상기억장치 구현 기법
[시나공 정보처리] 1416600 가상기억장치 구현 기법

주제에 대한 기사 평가 가상 기억 장치

  • Author: 길벗시나공 IT
  • Views: 조회수 1,845회
  • Likes: 좋아요 21개
  • Date Published: 2021. 4. 17.
  • Video Url link: https://www.youtube.com/watch?v=13eB_rf9Xp0

위키백과, 우리 모두의 백과사전

가상 메모리는 활성 RAM DASD 상의 비활성 메모리로 결합되어 있다.

가상 메모리 또는 가상 기억 장치(문화어: 가상기억기, virtual memory, virtual storage)는 메모리 관리 기법의 하나로, 기계에 실제로 이용 가능한 기억 자원을 이상적으로 추상화하여[1] 사용자들에게 매우 큰 (주) 메모리로 보이게 만드는 것을 말한다.[2] 각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 주는 방식이다.

이러한 방식은 멀티태스킹 운영 체제에서 흔히 사용되며, 실제 주기억장치보다 큰 메모리 영역을 제공하는 방법으로도 사용된다.

가상적으로 주어진 주소를 가상 주소(virtual address) 또는 논리 주소(logical address) 라고 하며, 실제 메모리 상에서 유효한 주소를 물리 주소(physical address) 또는 실주소(real address)라고 한다. 가상 주소의 범위를 가상 주소 공간, 물리 주소의 범위를 물리 주소 공간이라고 한다.

가상 주소 공간은 메모리 관리 장치(MMU)에 의해서 물리 주소로 변환된다. 이 덕분에 프로그래머는 가상 주소 공간상에서 프로그램을 짜게 되어 프로그램이나 데이터가 주메모리상에 어떻게 존재하는지를 의식할 필요가 없어진다. 대부분의 현대적 아키텍처와 운영 체제는 가상 메모리 기능을 제공하며, 각 응용 프로그램에 더 적합한 메모리 관리를 위해 어도비 포토샵과 같은 일부 응용 프로그램은 스스로 가상 메모리를 관리하기도 한다.

가상 메모리의 개념은 1957년에 발표되었다. 실제 적용된 것은 맨체스터 대학교가 Atlas용으로 1961년에 개발한 것이 최초이다. 1965년에 MIT가 개발한 멀틱스 시스템 이후 본격적으로 채용되기 시작했다.

가상 메모리는 크게 나누어 세그먼트(segment) 방식과 페이징 방식의 2종류가 있다. 예를 들어 MC68000 시스템에서는 68451(세그먼트(segment) 방식)과 68851(페이징 방식) 두 가지의 MMU가 준비되어 있었다.

역사 [ 편집 ]

1940년대와 1950년대에 모든 대형 프로그램들은 오버레이와 같은, 1차, 2차 기억 장치를 위한 로직을 포함해야 했다. 1차 메모리의 확장을 위해서만이 아니라, 프로그래머들이 쉽게 사용할 수 있도록 확장하기 위해서 가상 메모리가 도입되었다.[3] 멀티프로그래밍과 멀티태스킹을 허용하기 위해, 수많은 초기의 시스템들은 가상 메모리 없이 여러 프로그램들 사이에 메모리를 나누었으며, 레지스터를 경유하는 PDP-10 초기 모델을 예로 들 수 있다.

가상 메모리의 개념은 1956년 베를린 공과대학교에서 독일의 물리학자 프리츠 루돌프(Fritz-Rudolf Güntsch)가 처음 개발하였으며, 《Logical Design of a Digital Computer with Multiple Asynchronous Rotating Drums and Automatic High Speed Memory Operation》이라는 그의 박사 논문에서 6개의 100 워드 블록의 1차 코어 메모리 및 1,000개의 100 워드 블록의 주소 공간, 1차 메모리와 2차 드럼 메모리 간에 블록을 자동으로 이동하는 하드웨어를 갖춘 머신을 기술하였다.[4][5] 페이징은 160,000 워드의 1차 코어 메모리를 추가적인 96,000 워드의 2차 드럼 메모리와 병합함으로써 아틀라스 컴퓨터의 작업 메모리를 확장하는 방법의 하나로 맨체스터 대학교에서 최초로 구현되었다. 최초의 아틀라스는 1962년에 도입되었지만 작업 중인 페이징 견본은 1959년에 개발되었다.[3][6][7] 1961년, 버로프사는 페이징 대신 세그멘테이션을 지원하는 B5000이라는 독자적으로 가상 메모리를 갖춘 최초의 상용 컴퓨터를 출시하였다.[8][9]

인위적 연속성 [ 편집 ]

인위적 연속성(artificial continuity)이란 가상기억장치의 개념에서 가상공간의 연속적 주소가 실제 물리적인 공간상에서 연속일 필요가 없다는 것을 뜻하는 말이다. 사상 표를 통해서 가상기억장치의 주소로부터 실기억장치의 주소를 알 수 있다.

같이 보기 [ 편집 ]

[운영체제] 가상기억장치 구현 기법

1. 가상기억장치의 개요

– 가상기억장치는 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다.

– 프로그램을 여러 개의 작은 블록 단위로 나누어서 가상기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리한다.

– 주기억장치의 용량보다 큰 프로그램을 실행하기 위해 사용한다.

– 주기억장치의 이용률과 다중 프로그래밍의 효율을 높일 수 있다.

– 가상기억장치에 저장된 프로그램을 실행하려면 가상기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환 작업이 필요하다.

– 블록 단위로 나누어 사용하므로 연속 할당 방식에서 발생할 수 있는 단편화를 해결할 수 있다.

– 가상기억장치의 일반적인 구현 방법에는 블록의 종류에 따라 페이징 기법과 세그먼테이션 기법으로 나눌 수 있다.

– 페이징 기법 : 프로그램을 동일한 크기로 나눈 단위를 페이지라 하며 이 페이지를 블록으로 사용하는 기법

– 세그먼테이션 기법 : 프로그램을 가변적인 크기로 나눈 단위를 세그먼트라 하며, 이 세그먼트를 블록으로 사용하는 기법

2. 페이징(Paging) 기법

– 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재시켜 실행하는 기법이다.

– 프로그램을 일정한 크기로 나눈 단위를 페이지(Page)라고 하고, 페이지 크기로 일정하게 나누어진 주기억장치의 단위를 페이지 프레임(Page Frame)이라고 한다.

– 외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있다.

– 주소 변환을 위해서 페이지의 위치 정보를 가지고 있는 페이지 맵 테이블(Page Map Table)이 필요하다.

– 페이지 맵 테이블 사용으로 비용이 증가되고, 처리 속도가 감소된다.

3. 세그먼테이션(Segmentation) 기법

– 가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법이다.

– 프로그램을 배열이나 함수 등과 같은 논리적인 크기로 나눈 단위를 세그먼트라고 하며, 각 세그먼트는 고유한 이름과 크기를 갖는다.

– 기억장치의 사용자 관점을 보존하는 기억장치 관리 기법이다.

– 세그먼테이션 기법을 이용하는 궁극적인 이유는 기억공간을 절약하기 위해서이다.

– 주소 변환을 위해서 세그먼트가 존재하는 위치 정보를 가지고 있는 세그먼트 맴 테이블(Segment Map Table)이 필요하다.

– 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키(Storage Protection Key)가 필요하다.

– 내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있다.

반응형

등장 배경

컴퓨터 시스템을 이용하여 어떠한 작업을 하기 위해서는 작업을 위한 프로그램과 필요한 데이터가 주기억장치에 저장되어야한다. 주기억장치의 용량은 크면 클수록 좋은데, 충분한 기억용량을 가진 주기억장치는 비싸기 떄문에 경제적이지 못하다는 커다란 단점이 존재하다. 이런 단점을 보완하기 위해 고안된 것이 가상기억장치이다.

가상기억장치

보조 기억장치와 같이 기억용량이 큰 기억장치를 마치 주기억장치처럼 사용하는 것

1. 가상기억장치의 목적

주기억장치의 기억용량이 부족한 점을 개선하기 위하여 비트당 가격과 기억용량이 보조기억장치와 같으며, 속도가 주기억장치와 같은 기억장치를 제공받는 것이다.

2. 가상기억장치 개념도

– 가상기억장치 개념도 –

중앙처리장치가 접근하려는 정보가 보조기억장치에 저장되어 있더라도 주기억장치에 대한 접근을 통하여 그 정보를 얻을 수 있는데, 원하는 정보를 얻기 위해서는 그 정보를 보조기억장치에서 주기억장치로 미리 예측하여 옮겨놓아야 한다. 이는 기억장치 접근의 지역성에 근거하고 있다.

* 접근의 지역성

시간 지역성: 최근에 참조된 주소의 내용은 곧 다음에도 참조되는 특성을 말한다.

공간 지역성: 실제 프로그램이 참조된 주소와 인접한 주소의 내용이 다시 참조되는 특성을 말한다.

3. 가상기억장치의 동작 원리

– 가상기억공간과 실제기억공간 –

가상주소: 중앙처리장치에 의해 수행되는 프로그램의 명령어가 사용하는 주소

실제주소(물리주소): 주기억장치에 접근하기 위하여 실제로 주기억장치에 적용하는 주소

– 가상기억장치의 동작원리 –

실행할 프로그램을 몇 개의 블록으로 나누고, 실제 주기억장치에는 현재 실행되는 프로그램에 필요한 블록만 기억시키고, 나머지 부분은 보조기억장치에 그대로 두었다가 필요시에 주기억장치에 올라간다. 만약 주기억장치에 저장되어 있는 프로그램 블록 중에 필요 없는 블록이 있다면, 다시 보조기억장치로 옮겨진다. 이러한 일련의 작업이 계속 반복되어 진행된다.

4. 주소변환표

가상주소공간을 블록으로 나누어 놓고 주기억장치와 보조기억장치 사이의 정보 이동은 블록 단위로 이루어지는데, 이때 어떤 블록을 주기억장치로 옮길 것인지 결정하는 표

*블록 단위의 기본 개념

페이지: 가상주소공간과 주기억장치의 기억공간이 일정한 크기를 갖는 연속된 공간으로 구분된 것

세그먼트: 크기가 일정하지 않는 연속된 기억공간으로 구분된 것

5. 주소 변환 방법

가. 페이징 기법

가상기억공간의 프로그램 블록과 실제 기억공간의 프로그램 블록의 크기가 같고, 각 블록의 크기도 모두 동일하게 나눌 때 이 블록을 페이지라 하며 이러한 페이지를 이용하는 방식

1) 페이징 기법의 매핑원리

* 중앙처리장치에서 참조하는 가상주소가 13비트라고 가정하겠습니다. 앞의 3비트는 페이지번호, 나머지 10비틑 상대위치를 의미합니다.

* 매핑테이블 첫 번째 영역은 페이지 번호, 두 번째 영역은 주기억장치의 페이지 번호, 세번 째 영역은 저장되어 있는 페이지 위치(주기억장치에 저장되어 있을 때는 1, 보조기억장치에 저장되어 있을때는 0으로 작성)

(1) CPU에서 필요한 데이터 가상주소의 페이지 번호가 101이므로 가상 기억공간내에 존재하는 매핑 테이블에서 같은 페이지 번호를 찾는다.

(2) 매핑 테이블의 세 번째 영역의 값이 1이므로 101번 페이지는 주기억장치에 저장되어 있다는 것을 알 수있다.

(3) 주기억장치 페이지 번호와 01번과 페이지에서의 상대적인 위치인 가상 주소 값 010101001은 중앙처리장치의 MAR에 전송이 된다.

(4) 주기억장치에 읽기 제어 신호를 보냄으로써 주소가 지정하는 워드의 내용이 MBR에 저장되어 중앙처리장치에 의해 사용된다.

2) 페이징 기법의 유의할 점

가상 주소를 실제주소로 변환했을 때 필요한 페이지가 주기억장치에 없다면 보조기억장치에서 필요한 페이지를 가져온 후 주기억장치에 저장된 페이지 중의 하나와 교체를 해야하는데, 이렇게 필요한 페이지를 주기억장치 내에서 찾지 못하는 경우를 페이지 폴트 라고 한다.

페이지 폴트가 자주 일어날수록 페이지를 교체하는 데 시간이 오래 걸려 시스테 효율이 떨어지는 단점이 있다.

3) 페이징 기법의 단점

페이징 기법은 일정한 크기로 페이지를 나누기 때문에 프로그램을 논리적으로 구분하여 나누기가 매우 힘들다. 페이지의 크기를 크게 하면 단편화 현상이 나타나고, 페이지를 작게하면 페이지 교체가 너무 빈번하게 일어나 시스템 효율이 떨어진다.

나. 세그먼트 기법

페이징 기법의 문제점을 해결하기 위해 나온 기법으로써, 프로그램의 논리적인 구조에 따라 페이지의 크기를 다양하게 나누는 기법

1) 세그먼트 기법의 매핑 원리

– 세그먼트 기법의 매핑 원리 –

* 세그먼트 기법에서는 가상주소를 논리주소라고도 한다.

* 세그먼트 번호 필드는 세그먼트 번호를 지정하고, 페이지 번호 필드는 세그먼트 내의 페이지 번호를 지정, 그리고 상대위피 필드는 해당 페이지 내의 주소를 지정한다.

(1) 논리주소로부터 물리주소로의 매핑은 논리주소의 세그먼트 번호를 이용하여 세그먼트 테이블의 값과 페이지 번호를 더하여 페이지 테이블의 시작주소를 얻는 것부터 시작한다.

(2) 페이지 테이블 첫 번째 영역에는 페이지 테이블의 시작주소가 저장되어 있고, 두 번째 영역에는 주기억장치의 페이지 번호가 저장되어 있다.

(3) 페이지 테이블의 시작주소를 이용하여 주기억장치의 페이지 번호를 얻고, 논리주소의 상대위치를 결합하면 주기억장치의 접근할 수 있는 물리주소를 얻을 수 있다.

2) 세그먼트 기법의 단점

페이징 기법에서는 하나의 맵핑 테이블로 운영이 되었지만, 세그먼트 기법에서는 두개의 테이블로 운영이 되다보니 메모리 소모가 커지게 되어 성능이 저하 될 가능성이 존재한다. 또한 맵핑 과정 자체가 복잡하다는 단점을 가지고 있다.

<참고자료>

chapter 14, 기억장치 end>

반응형

가상기억장치의 개요

1. 가상기억장치의 개요

– 가상기억장치 : 보조기억장치의 일부분을 주기억장치인 것처럼 사용하는 방법

1) 주기억장치의 기억용량이 작으므로 기억용량이 크 보조기억장치의 저장공간을 이용함

2) 주기억장치의 기억용량보다 큰 프로그램을 실행하기 위해 사용함

3) 가상기억장치에는 프로그램을 여러 개의 블록단위로 나누어서 보관함

4) 주기억장치에서 실행요구가 발생하면 가상기억장치의 블록단위로 저장된 프로그램을 주기억장치에 보내서

실행함

5) 주기억장치의 이용률을 증가함

6) 다중프로그래밍 효율 증가함

7) 주기억장치와 가상기억장치의 주소가 다르므로 프로그램을 실행할 경우 가상기억장치에서 주기억장치의

주소로 바꾸는 주소변환 작업 필요함

8) 가상기억장치는 주소변환과정이 필요하므로 시스템 오버헤드가 발생할 수 있음

9) 블록단위로 나누어 사용하기 때문에 단편화를 해결할 수 있음

10) 가상기억장치는 구현이 어려움

2. 가상기억장치의 구현방법

– 일반적인 구현방법은 블록 종류에 따라 페이징 기법과 세그먼테이션 기법으로 나눔

1) 페이징 기법 : 프로그램을 같은 크기로 나누어 블록으로 사용하는 기법

* 프로그램을 같은 크기로 나눈 단위를 페이지라고 함

2) 세그먼테이션 기법 : 프로그램을 가변적인 크기로 나누어 블록으로 사용하는 기법

* 프로그램을 가변적인 크기로 나눈 단위를 세그먼트라고 함

3. 가상기억장치의 관리전략

– 가상기억장치를 구현할 때 시스템 선능에 영향을 미치는 여러가지 관리 사항이 있음

1) 페이지 크기 : 프로그램을 페이지 단위로 나누는 것을 말함

가. 페이지 크기가 작을 경우

* 페이지 단편화 감소

* 페이지 하나가 주기억장치로 이동하는 시간 감소

* 프로세스 수행에 필요한 내용만 주기억장치에 적재

* Locality(국부성)에 더욱 일치 가능성 때문에 기억장치 효율 증가

* 페이지 Map 테이블이 커지고, Mapping 속도 감소

* 디스크 접근횟수 및 I/O시간 증가

나. 페이지 크기가 클 경우

* 주기억장치에 적재되는 프로그램 수 감소

* 프로세스 수행에 불필요한 내용까지 주기억장치에 적재 가능

* ‘페이지 크기가 작을 경우’와 반대 상황

2) Locality(국부성, 지역성, 구역성, 국소성) : 프로세스가 실행되는 동안 주기억장치의 일부 페이지만 집중적으로

참조함

– 스레싱 방지를 위한 Working Set 이론의 기반이 되었음

* 가상기억장치의 관리의 이론적인 근거

* Denning 교수에 의한 구역성 개념 증명

* 캐시 기억장치 시스템의 이론적 증거

– Locality의 종류

가) 시간 구역성 (Temporal Locality)

* 프로세스가 실행되면서 하나의 페이지를 일정한 시간 동안 집중적으로 액세스함

* 한번 참조한 페이지는 빠른 시간 내 계속 참조 할 가능성이 높음을 의미

– 시간 구역성이 이루어지는 기억장소 : Loop,Stack, 부 프로그램, Counting, 집계에 사용되는 변수

나. 공간 구역성 (Spatial Locality)

* 프로세스 실행 시 일정한 위치의 페이지를 집중적으로 액세스 함

* 어느 하나의 페이지를 참조하면 근처의 페이지를 계속 참조 할 가능성이 높음을 의미

– 공간구역성이 이루어지는 기억장소 : 배열순회, 순차적 코드의 실행, 프로그램 변수 근처의 할당 장소,

같은 영역의 변수 참조

다. 워킹 셋 (Working Set) : 프로세스 일정시간 동안 자주 참조하는페이지들의 집합

* Denning이 제안, 프로그램의 Locality특징을 이용

* 자주 참조되는 워킹셋을 주기억장치에 상주 시켜서 페이지 부재 및 페이지 교체 현상을 줄임

* 주기억장치 내 워킹셋을 감소시키면 페이지 프레임 공간을 적게 차지하면서 워킹셋을 사용하므로 스레싱 감소

– 주기억장치에 최솬의 워킹셋을 올려놓아야 함

* 워킹셋 설정시간 간격이 증가하면 주기억장치에 유지되는 워킹셋은 커지고 감소하면 작아짐

* 오버헤드 발생 가능성 있음

라. 페이지 부재 빈도 방식

ㄱ. 페이지 부재 : 프로세스 실행시 참조할 페이지가 주기억장치에 없는 현상

ㄴ. 페이지 부재빈도 : 페이지 부재가 일어나는 횟수

* 페이지 부재율에 따라 주기억장치에 있는 프레임 수를 늘리거나 줄여서 페이지 부재율을 적정수준으로

유지하는 방식

* 페이지 프레임을 할당하고, 페이지 부재율을 감시하다가 페이지 부재율이 상한성을 넘어가면 페이지 프레임을

할당하고, 하한선을 넘어가면 페이지 프레암을 회수함

마. 프리페이지

– 처음부터 과도한 페이지 부재를 방지하기 위해, 프로세스 실행에 필요할 것 같은 모든 페이지를 한꺼번에 페이지

프레임에 적재하는 기법

– 페이지들 중에 사용되지 않는 페이지가 많을 수 있음

바. 스레싱 : 프로세스의 처리시간보다 페이지 교체시간이 더 많아지는 현상

ㄱ. 다중프로그래밍, 가상기억장치 사용시스템에서 발생하며, 프로세스 진행 과정 중에 페이지 부재가 자주

발생시 나타나는 현상으로 시스템 전체 성능 저하

ㄴ. 다중프로그래밍의 정도가 높아짐에 따라 CPU 활용도는 높아지지만 더욱 커지면 스레싱 발생하고, CPU

이용률은 급격히 감소

ㄷ. CPU 이용률 높이고 스레싱 발생 방지하기 위해, 다중 프로그램 정도를 적정수준으로 유지하고, 페이지 부재

빈도를 조절해서 사용하며, 워킹셋을 유지해야 함

가상메모리 가상기억장치 : 주소 매핑, 페이징, 세그먼테이션

가상기억장치: 보조기억장치인 하드디스크의 일부를 주기억장치처럼 사용하는 것

-> 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법

원리

프로그램을 여러 개의 작은 블록 단위로 나눠서 가상기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리하는 것

사용목적

주기억장치의 용량보다 큰 프로그램을 실행하기 위해

주기억장치의 이용률과 다중 프로그래밍의 효율을 높이기 위해

단편화 해결 위해

가상기억장치에 저장된 프로그램을 실행하려면?

가상기억장치의 주소를 주기억장치의 주소로 바꾸는 주소변환 작업을 해야 함

주소변환?

= 주소 사상, 주소 매핑

가상기억장치에 있는 프로그램이 주기억장치에 적재되어 실행될 때 논리적인 가상주소를 물리적인 실기억주소로 변환하는 것

연속적인 가상주소가 반드시 연속적인 실기억주소로 변환되지 않아도 됨! => 인위적 연속성 Arificial Contiguity이라고 함

가상기억장치의 구현방법: 블록 종류에 따라, 페이징 기법 / 세그먼테이션 기법

나는 페이징은 책의 페이지처럼 딱 동일하게 정해져 있는 것! 세그먼테이션은 모르는 단어니까 안 정해져있는 거! 라고 외움 ㅋㅋㅋ

– 주소 매핑을 위해서 세그먼트의 위치정보를 갖고 있는 세그먼트 맵 테이블 필요. segment map table

– 세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키 Storage Protection Key가 필요함 => 근데 이 기법을 쓰는 궁극적인 이유는 기억공간 절약이라고 함,,(??)

– 내

가상기억장치 할당 기법

반응형

이전 글에서 주기억장치에 프로그램을 할당하는 방법을 공부하였다. 하지만 주기억장치의 메모리 공간은 제한적이기 때문에 결국 메모리의 크기보다 많은 프로그램들이 올라갈 수 없다. 이를 해결하기 위해 나온 것이 바로 가상기억장치이다.

가상기억장치란 주기억장치 안의 프로그램 양이 많아질 때, 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다.

​즉, 프로그램을 여러 개의 작은 블록 단위로 나누어서 가상기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리하는 방식이다.

가상기억장치에 저장된 프로그램을 실행하기 위해선 가상기억장치의 주소를 주기억장치의 주소로 변환하는 작업이 필요하다. 이를 주소 변환, 주소 사상, 주소 매핑이라고 한다. 또한 이 작업은 메모리 관리 장치(Memory Management Unit, MMU)라는 친구를 통해 수행된다.

가상기억장치의 장점은 다음과 같다.

가상기억장치를 활용해 프로그램을 메모리에 할당하는 기법에는 페이징 기법과 세그먼테이션 기법이 존재한다. 하나씩 살펴보도록 하자.

ㅁ 페이징(Paging) 기법

가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재시켜 실행하는 기법

페이지(Page) : 프로그램을 일정한 크기로 나눈 단위

페이지 프레임(Page Frame) : 페이지 크기로 일정하게 나누어진 주기억장치의 단위

외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음

페이지의 크기를 작게 한다면 내부 단편화를 해결할 수 있으나 그만큼 Page Mapping 과정이 증가

주소 변환을 위해서 페이지의 위치 정보를 가지고 있는 페이지 맵 테이블(Page Map Table)이 필요

페이지 맵 테이블을 사용하기 때문에 비용이 증가되고 처리 속도가 감소

ㅁ 세그먼테이션(Segmentation) 기법

가상기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위(Segment)로 나눈 후 주기억장치에 적재시켜 실행하는 기법

기억장치의 사용자 관점을 보존하는 기억장치 관리 기법

주소 변환을 위해서 세그먼트가 존재하는 위치 정보를 가지고 있는 세그먼트 탭 테이블(Segment Map Table) 필요

세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며 이를 위해 기억장치 보호키(Storage Protection Key)가 필요

내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있음

페이징 기법과 세그먼테이션 기법은 비슷해 보이지만 가장 큰 차이는 프로그램을 나누는 크기이다. 페이징 기법은 동일한 크기로 나누는 반면 세그먼테이션 기법은 다양한 크기의 단위로 나눈다.

반응형

가상 기억 장치 관리 기법

가상 기억 장치

– 물리적 주기억 장치 크기보다 더 큰 사용자 프로그램을 실행시킬 수 있도록 하기 위해 개발.

1) 가상 기억 장치 구성

① 페이징(Paging) 기법 : 일정한 크기의 블록을 사용.

㉠ 연관사상 : 연관 기억장치를 이용하여 페이지를 관리하는 기법 .

㉡ 직접사상 : 모든 페이지가 페이지 사상표에 있는 경우 사용 .

㉢ 직접 / 연관사상 : 최근에 참조되는 페이지는 연관 사상표에 보관하고 나머지는 페이지 사상표 이용 .

② 세크먼테이션(Segmentation) 기법 : 블록이 서로 다른 경우.

2) 가상 기억 장치 관리 정책

① 반입(fetch) 전략

– 언제 보조기억 장치에서 주기억장치로 옮길 것인가 결정.

② 배치(placement) 전략

– 주기억장치 어느 곳에 위치시킬 것인가 결정.

③ 교체(replacement) 전략

– 주기억장치에 있던 페이지 중 어느 페이지를 새로운 페이지와 교체할 것인가 결정.

3) 반입전략

① 요구반입 기법

– 각 페이지들이 보조 기억 장치에 저장되어 있다가 프로세스에 의해 그 페이지가 요구 되어 질 때 보조 기억 장치에 주기억 장치로 옮겨지는 기법.

② 예상반입 기법

– 참조될 페이지를 미리 예측하여 보조 기억 장치에 주기억 장치로 옮기는 기법.

4) 페이지 교체 알고리즘

① 최적화 알고리즘 : Belady가 제안한 것으로 페이지 부재를 최소화 하기 위해서 이후에 가장 오랫동안 사용되지 않을 페이지를 대치하는 기법으로 실제 구현 불가능.

※ 구현 불가능 이유 : 최적 알고리즘은 수행하기 전에 선행되어야 할 전제조건이 있다. 프로세스가 앞으로 사용할 페이지를 미리 알아야 한다는 것이다. 이 전제 조건이 실제 활용에서는 알 방법이 없기 때문에 최적 알고리즘은 구현이 불가능한 알고리즘 이다.

② FIFO(First In First Out) 알고리즘 : 가장 먼저 들여온 페이지를 먼저 대치시키는 방법.

※ FIFO의 모순 : FIFO 페이지 대치 기법 하에서 더 많은 수의 페이지 프레임을 할당하더라도 페이지 부제가 더 많이 발생함.(참조의 국부성 때문)

③ LRU(Least Recently Used) 알고리즘 : 가장 오랫동안 사용되지 않은 페이지를 먼저 대치시키는 방법.

④ LFU(Least Frequently Used) 알고리즘 : 참조(호출)된 횟수가 가장 적은 페이지를 대치시키는 방법.

⑤ NUR(Not Used Recently) 알고리즘 : 참조 비트를 이용하여 최근에 사용하지 않은 페이지 대치.

5) 기타 고려 사항

① 스레싱(Thrashing)

– 너무 빈번히 페이지 부재가 일어나는 현상으로, 프로세스 수행에 소요되는 시간보다 페이지 이동에 더 많은 시간이 소요되는 현상. → CPU 이용률 저하

– 다중 프로그램밍의 정도를 낮추어야 스레싱 현상을 방지 할 수 있음.

② 구역성(Locality)

– 실행중인 프로세서는 시간에 따라 공간의 일정 부분만 집중적으로 참조하는 경향이 있음.

㉠ 시간 구역성(Tempral Locality) : 프로세스가 짧은 시간주기 동안 동일한 기억장소를 여러차례 참조하는 경향.

예) 순환(Loop), 부프로그램(Subroutine), 스택(Stack), 카운팅(Counting)과 집계(Sum)에서의 변수

㉡ 공간 구역성(Spatial Locality) :프로세서가 분산지역이 아닌 특정 부분을 집중적으로 참조하는 경향

예) 배열(Array), 순차코드 실행, 관련된 변수의 선언 등.

③ 페이지의 크기

㉠ 페이지의 크기가 작을 경우

– 페이지의 단편화를 감소. → 기억장치의 효율이 좋아짐.

㉡ 페이지의 크기가 클 경우

– 페이지 단편화로 인한 기억공간 낭비

– 페이지의 수가 줄어들어 사상 테이블의 크기가 줄어듬.

– 대량의 페이지 이동으로 인해 디스크 접근 부담이 줄어듬.

※ 세그먼트 접근 제어 : 기억장치 보호키(판독접근,기록접근,수행접근)을 이용.

※ 페이지 부재(Page Fault) : 프로세스에서 원하는 페이지가 주기억장치 내에 존재하지 않는 경우.

→ 보조기억장치에서 읽어 들여 주기억장치에 적재한 다음 사용.

※ 워킹 세트(Working Set) : 주기억장치에 유지되어야 하는(참조되는) 페이지들의 집합.

→ 데닝 : 워킹세트는 주기억 장치에 위치되어야 함.

4-3-6장. 가상기억장치 구현 기법/페이지 교체 알고리즘

반응형

가상기억장치의 개요

가상기억장치는 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다.

프로그램을 여러 개의 작은 블록 단위로 나누어서 가상기억장치에 보관해 놓고, 프로그램 실행 시 요구되는 블록만 주기억장치에 불연속적으로 할당하여 처리

주기억장치의 용량보다 큰 프로그램을 실행하기 위해 사용

주기억장치의 이용률과 다중 프로그래밍의 효율을 높일 수 있음

가상기억장치에 저장된 프로그램을 실행하려면 가상기억장치의 주소를 주기억장치의 주소로 바꾸는 주소 변환 작업이 필요함

블록 단위로 나누어 사용하므로 연속 할당 방식에서 발생할 수 있는 단편화를 해결할 수 있음

가상기억장치의 일반적인 구현 방법에는 블록의 종류에 따라 페이징 기법과 세그멘테이션 기법으로 나눌 수 있음

페이징(Paging) 기법

페이징 기법은 가상기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치 영역(페이지 프레임)에 적재시켜 실행하는 기법이다.

프로그램을 일정한 크기로 나눈 단위를 페이지(Page)라고 하고, 페이지 크기로 일정하게 나누어진 주기억장치의 단위를 페이지 프레임(Page Frame)이라고 함

외부 단편화는 발생하지 않으나 내부 단편화는 발생할 수 있음

주소 변환을 위해서 페이지의 위치 정보를 가지고 있는 페이지 맵 테이블(Page Map Table)이 필요

페이지 맵 테이블 사용으로 비용이 증가되고, 처리 속도가 감소됨

세그먼테이션(Segmentation) 기법

세그먼테이션 기법은 가상 기억장치에 보관되어 있는 프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재시켜 실행시키는 기법이다.

프로그램을 배열이나 함수 등과 같은 논리적인 크기로 나눈 단위를 세그먼크라고 하며, 각 세그먼트는 고유한 이름과 크기를 갖는다.

기억장치의 사용자 관점을 보존하는 기억장치 관리 기법

세그먼테이션 기법을 이용하는 궁극적인 이유는 기억공간을 절약하기 위해서이다.

주소 변환을 위해서 세그먼트가 존재하는 위치 정보를 가지고 있는 세그먼트 맵 테이블이 필요

세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침범할 수 없으며, 이를 위해 기억장치 보호키 가 필요

내부 단편화는 발생하지 않으나 외부 단편화는 발생할 수 있음

페이지 교체 알고리즘

페이지 교체 알고리즘은 페이지 부재(Page Fault)가 발생했을 때 가상기억장치의 필요한 페이지를 주기억장치에 적재해야 하는데, 이때 주기억장치의 모든 페이지 프레임이 사용중이라면 어떤 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법이다.

OPT(OPTimal replacement, 최적 교체)

OPT는 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 방법

페이지 부재 횟수가 가장 적게 발생하는 가장 효율적인 알고리즘

FIFO(First In First Out)

FIFO는 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법

이해하기 쉽고, 프로그래밍 및 설계가 간단함

LRU(Least Recently Used)

LRU는 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 기법

각 페이지마다 계수기(카운터)나 스택을 두어 현 시점에서 가장 오랫동안 사용하지 않은, 즉, 가장 오래 전에 사용된 페이지를 교체한다.

LFU(Least Frequently Used)

LFU는 사용 빈도가 가장 적은 페이지를 교체하는 기법

활발하게 사용되는 페이지는 사용 횟수가 많아 교체되지 않고 사용

NUR(Not Used Recently)

NUR은 LRU와 비슷한 알고리즘으로, 최근에 사용하지 않은 페이지를 교체하는 기법

최근에 사용되지 않은 페이지는 향후에도 사용되지 않을 가능성이 높다는 것을 전제로, LRU에서 나타나는 시간적인 오버헤드를 줄일 수 있음

최근에 사용 여부를 확인하기 위해 각 페이지마다 두 개의 비트, 즉 참조 비트 와 변형 비트 가 사용됨

다음과 같이 참조 비트와 변형 비트의 값에 따라 교체될 페이지의 순서가 결정됨

SCR(Second Chance Replacement, 2차 기회 교체)

SCR은 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지하기 위한 것으로, FIFO 기법의 단점을 보완하는 기법이다.

반응형

가상 기억 장치(Virtual Memory, Virtual Storage)와 페이징에 대한 이해

가상 기억 장치(Virtual Memory, Virtual Storage)

프로그램이 실행되려면 주기억장치에서부터 시작되어야 하는데 실행하고자 하는 프로그램이 주기억장치보다 크거나 여러 개인 경우에는 주기억장치 공간이 부족하여 제대로 프로그램이 실행되지 못한다. 그래서 실행에 필수적인 부분만 주기억장치에 저장하고 나머지는 보조기억장치에 두어 실행되도록 하여 앞선 문제를 해결하는데 이를 가상 기억 장치 또는 가상 메모리라고 한다. 이는 메모리를 관리하는 기법의 하나로, 사용자 입장에서는 실제 기계에서 이용 가능한 기억 자원인 주기억장치가 실제보다 크게 보이게 하는 효과를 준다. 이러한 방식은 멀티태스킹 운영 체제에서 흔히 사용된다. 이때 가상적으로 주어진 주소를 가상 주소(Virtual Address) 또는 논리 주소(Logical Address)라고 하고 실제 메모리 상에 유효한 주소를 물리 주소(Physical Address) 또는 실 주소(Real Address)라 한다. 가상 주소의 범위를 가상 주소 공간, 물리 주소의 범위는 물리 주소 공간이라 하는데 가상 주소 공간은 메모리 관리 장치에 의해서 물리 주소 공간으로 변환될 수 있다. 이 덕분에 프로그래머는 프로그램이나 데이터가 주메모리상에서 어떻게 존재하는지 신경 쓰지 않고 가상 주소 공간상에서 원활한 작업이 가능해진다. 대부분 현대적인 운영체제는 가상 메모리 기능을 제공하며 각 응용 프로그램에 더 적합한 메모리 관리를 위해 일부의 응용 프로그램들은 스스로 가상 메모리를 관리하기도 한다.

페이징(Paging)

페이징은 가상 메모리를 구현하는 하나의 방법이다. 이름에서 알 수 있듯이, 가상 메모리 공간을 일정한 크기의 페이지로 나누어서 메모리 공간을 관리하는데 이때 실제 주기억장치의 페이지에 해당하는 부분을 페이지 프레임(Page Frame)이라 한다. 다수의 프로세스가 각각 실행되어야 하는 페이지를 개별적으로 가질 때 각각의 페이지가 저장된 주기억장치의 프레임은 테이블 운영체제가 따로 관리하고 이를 페이지 테이블(Page Table)이라 한다. 임의의 페이지가 실행에 필요하면 우선적으로 주기억장치에 해당 페이지가 있는지 프레임을 확인하고 있다면 해당 페이지에 접근한다. 만약 없다면 보조기억장치로부터 해당 페이지를 찾고 이를 프레임에 저장한 후에 접근하는 일련의 과정을 수행한다.

페이지 교체 알고리즘(Page Replacement Algorithm)

새로운 페이지를 주기억장치에 저장할 때 만약 비어있는 프레임이 없으면 주기억장치에서 제거할 페이지를 결정하고 이 대신에 새로운 페이지를 저장할 공간을 확보한다. 이렇게 제거할 페이지를 결정하는 동작은 페이지 교체(Page Replacement)라고 하는데 다양한 알고리즘이 있다. 페이지를 교체하는 과정에서 제거할 페이지가 주기억장치에서 수정되었다면 보조기억장치에 이런 수정사항을 반드시 반영해야 하고, 수정되지 않았다면 단순히 주기억장치에서 제거한다. FIFO(First In First Out)는 가장 간단한 알고리즘으로, 메모리에 올라온 순서대로 페이지를 교체한다. 즉 가장 오래된 페이지부터 교체를 하는 것이다. 이를 위해서는 각 페이지가 올라온 시간을 기록해두거나 페이지가 올라온 순서를 큐(Queue)에 저장하는 방식을 사용할 수 있다. 이 알고리즘은 구현이 간단하고 이해하기도 쉽지만 성능이 언제나 우수하다고는 장담할 수 없다. 활발하게 사용 중인 페이지를 계속해서 교체하면 필요한 페이지를 없앨 수도 있고 이는 곧 알고리즘 실행의 속도를 저하시키는 원인이 된다. 최적(Optimal) 페이지 교체는 앞으로 가장 오래 사용되지 않을 페이지를 예상하여 이를 교체하는 방식이다. 이를 수행하려면 프로세스가 미래에 사용될 페이지를 미리 알아야 한다는 전제조건이 있다. 실제 활용에서는 앞으로 사용될 페이지가 무엇인지 알아낼 방법이 없으므로 사실상 구현이 불가능한 알고리즘이지만 실제 구현 목적이 아니라 다른 알고리즘과의 비교 연구 목적을 위해 주로 사용된다. 최적 교체 알고리즘은 가장 오랫동안 사용되지 않을 페이지를 알고 교체하기 때문에 교체되는 페이지 수가 가장 적다. LRU(Least-Recently-Used)는 가장 오래 사용되지 않은 페이지를 교체하는 방법이다. 앞서 설명한 최적 알고리즘의 구현이 불가능하기 때문에 이와 비슷한 방식으로 효과를 낼 수 있는 방법을 사용한 것이다. 미리 아는 것이 불가능하므로 과거의 데이터를 참고하여 페이지가 사용될 시간을 예측한다면 교체가 가능하다. 예측의 방법이 가장 오랫동안 사용되지 않은 페이지를 교체하는 방식인 것이다. 이는 최적 알고리즘보다는 페이지의 교체 횟수가 잦지만 FIFO 방식보다는 효율적이다.

키워드에 대한 정보 가상 기억 장치

다음은 Bing에서 가상 기억 장치 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [시나공 정보처리] 1416600 가상기억장치 구현 기법

  • 시나공
  • 길벗
  • 알앤디
  • IT
  • 자격증
  • 컴퓨터
  • 강의
  • 토막강의
  • 컴활
  • 컴퓨터활용능력
  • 워드
  • 워드프로세서
  • 정보처리
  • 기사
  • 산업기사
  • 기능사
  • 사무자동화
  • 사무
  • 정처기
  • 1급
  • 2급
  • 필기
  • 실기
  • 엑셀
  • 액세스
  • java
  • 언어
  • 정기
  • 상시
  • 기출
  • 시험
  • c언어
[시나공 #정보처리] #1416600 #가상기억장치 #구현 #기법


YouTube에서 가상 기억 장치 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [시나공 정보처리] 1416600 가상기억장치 구현 기법 | 가상 기억 장치, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  대파 냉동 보관 | 6개월 이상도 가능한 대파 최장기 보관법 / 냉동실보다 더 오래 보관이 가능하다고? / 대파 냉동보관할 때 ‘이것’ 하나면 얼어붙지 않아요! 최근 답변 159개

Leave a Reply

Your email address will not be published. Required fields are marked *