본문 바로가기

분류 전체보기96

Virtual Memory(가상 메모리)의 컨텍스트와 메모리 관리 - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 가상메모리의 컨텍스트와 메모리 관리1. 컨텍스트(Context)의 개념컨텍스트는 프로그램의 실행 상태와 관련된 정보로, 프로그램이 사용하는 가상 메모리 공간을 물리 메모리에 어떻게 매핑할지 결정하는 전체적인 환경을 의미한다. 여기에는 페이지 테이블(페이지 맵) 정보와 같은 메모리 매핑 정보뿐만 아니라, 프로그램의 실행과 관련된 여러 상태 정보(레지스터 값, 스레드 상태 등)도 포함될 수 있다.즉, 컨텍스트는 해당 페이지 테이블을 포함하는 더 넓은 개념으로, 프로그램이 실행될 때 필요한 모든 환경 설정을 포함한다. 여러 프로그램이 동시에 메인 메모리에 로드될 수 있으며, 각 프로그램은 자체 컨텍스트를 .. 2024. 10. 27.
페이지 폴트(Page Fault) - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 페이지 폴트(Page Fault)란?페이지 폴트는 프로그램이 메모리에 없는 데이터를 참조하려 할 때 발생하는 예외이다. 이 경우 운영체제가 디스크에서 해당 페이지를 가져와 메모리에 적재하는 과정을 거쳐야 한다.페이지 폴트 처리 과정페이지가 RAM에 없는지 확인: 페이지 테이블에서 해당 페이지가 디스크에 있다고 표시된 경우 페이지가 RAM에 없음을 알 수 있다.PTE(Page Table Entry) 의 유효비트(R, resident)가 0이면 메모리에 적재되어있지 않은 페이지임을 의미한다.페이지 폴트 예외 발생: CPU는 페이지 폴트 예외(exception)를 발생시키고, 이를 통해 운영체제가 페이지 .. 2024. 10. 26.
페이지 테이블과 주소 변환(Address Translation) - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 페이지 테이블 (Page Table)페이지 테이블이란?페이지 테이블은 가상 주소(virtual address, VA)를 물리 주소(physical address, PA)로 매핑하는 데 사용되는 데이터 구조이다. 가상 메모리 시스템에서 프로그램이 사용하는 가상 주소를 물리 메모리로 변환하여 실제 데이터를 접근할 수 있도록 돕는다. 페이지 테이블은 가상 주소와 물리 주소 간의 매핑을 기록한 항목으로 구성되며, 이를 페이지 테이블 엔트리(Page Table Entry, PTE)라고 부른다.왜 페이지라고 불리는가?가상 주소 공간이 크기 때문에, 각 가상 주소마다 하나의 엔트리를 할당하면 페이지 테이블의 크기.. 2024. 10. 25.
Virtual Memory(가상 메모리)의 동작 방식 - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 가상 메모리의 동작 방식가상 메모리는 프로그램이 보는 가상 주소(virtual address, VA)와 실제 컴퓨터에 설치된 물리 메모리(RAM)가 사용하는 물리 주소(physical address, PA) 간의 매핑을 제공하는 방식으로 동작한다. 가상 메모리는 컴퓨터 시스템에서 메모리를 효율적으로 관리하고, 제한된 물리 메모리를 초과하는 데이터도 디스크와의 연동을 통해 처리할 수 있도록 돕는다.가상 주소와 물리 주소:가상 주소(VA)는 프로그램이 사용하는 주소이다. 물리 주소(PA)는 실제로 하드웨어에서 사용하는 주소로, 이는 시스템에 설치된 RAM 용량에 따라 달라진다. 예를 들어, 2GB의 RA.. 2024. 10. 24.
Virtual Memory(가상 메모리)는 무엇이고 왜 사용되는가? - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 Physical Memory와 관련된 세 가지 문제현대 컴퓨터 시스템에서는 가상 메모리를 통해 여러 프로그램이 한정된 물리 메모리를 효과적으로 사용할 수 있다.그런데 가상 메모리 도입 이전에는 프로그램 실행 중에 발생할 수 있는 여러 가지 문제가 있었다. 이번 게시글을 통해 가상메모리를 사용하지 않을 경우 발생할 문제와 이를 가상메모리로 어떻게 극복하는지에 대해 알아보자.1. 메모리 부족 문제물리 메모리가 부족한 경우, 프로그램이 실제 메모리를 초과하여 액세스하려 할 때를 생각해보자.예를 들어, 컴퓨터에 1GB의 물리 메모리만 있는 상황에서 4GB를 사용하는 프로그램을 실행하면 메모리 부족으로 프로그.. 2024. 10. 23.
WSL 터미널 소리 끄기(윈도우 터미널) 나는 WSL 을 윈도우 터미널 앱을 이용하여 사용하는데, tab 으로 자동완성을 완성하고자 하는 경우 실패 벨소리가 매번 발생해서.. 이게 너무 거슬려서 화가날 지경에 이르렀다. 윈도우 소리조절 하는 기능에서 터미널에 해당하는 부분을 0으로 내려도, 이상하게 잘 적용이 되지 않았는데..윈도우 터미널 앱의 설정 파일을 간단하게 수정해서 조치를 완료했다. 속이 편하다. 윈도우 터미널 설정탭에 들어간 후, json 파일을 열고 아래 부분을 추가한다. 2024. 10. 20.
[자료구조] 연결리스트 - List 선수지식 (자료구조 overview)https://microelectronics.tistory.com/85 [자료구조] 선형 자료구조와 비선형 자료구조작성중 ..선형 vs 비선형선형구조 : 자료를 순차적으로 나열한 형태 (스택, 큐, 배열, 연결리스트)비선형 구조 : 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 (트리, 그래프)배열 vs 동적배열 vsmicroelectronics.tistory.com 예제 코드#include #include using namespace std;int main(){ list li; list::iterator eraseIt; for (int i = 0; i ::iterator it = li.begin(); it != li.end(); it++) { cout  결과01.. 2024. 9. 24.
[자료구조] 동적 배열 - Vector 선수지식 (자료구조 overview)https://microelectronics.tistory.com/85 [자료구조] 선형 자료구조와 비선형 자료구조작성중 ..선형 vs 비선형선형구조 : 자료를 순차적으로 나열한 형태 (스택, 큐, 배열, 연결리스트)비선형 구조 : 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 (트리, 그래프)배열 vs 동적배열 vsmicroelectronics.tistory.com size 와 capacity#include #include using namespace std;int main(){ vector v; for (int i = 0; i  결과value : 0 size : 1 capacity : 1value : 1 size : 2 capacity : 2value : 2 s.. 2024. 9. 23.
[자료구조] 선형 자료구조와 비선형 자료구조 작성중 ..선형 vs 비선형선형구조 : 자료를 순차적으로 나열한 형태 (스택, 큐, 배열, 연결리스트)비선형 구조 : 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 (트리, 그래프)배열 vs 동적배열 vs 연결리스트 (호텔에 비유)배열사용할 방 개수를 고정해서 계약 (절대 변경 불가)연속된 방을 배정받아 사용장점 : 연속된 방단점 : 방 추가/축소 불가동적배열 (C++ 에서의 vector)사용할 방 개수를 유동적으로 계약연속된 방으로 배정받아 사용방 할당 정책 : 실제로 사용할 방 보다 많이, 여유분을 두고(대략 1.5배에서 2배) 예약 후 이사. -> 이사 횟수 최소화를 위함.장점 : 유동적인 계약 (이사 횟수 최소화)단점 : 중간 삽입/삭제 (배열도 마찬가지임)연결리스트연속되지 않은 방을 사용장점.. 2024. 9. 22.