이번글은 페이징에 대한 글입니다. 이전에 https://cjbworld.tistory.com/36 스와핑에 대해서 설명하던 도중 '외부 단편화'를 해결하는 방법으로 잠깐 소개했었는데요, 이번글은 외부 단편화를 해결하기도 하고 메모리 보다 큰 프로세스를 '적재' 할 때에도 사용되는 '가상 메모리'에 대한 정리글입니다! 가상 메모리란? 가상 메모리는 실행하고자 하는 프로세스의 일부만 메모리에 적재하여 실제 물리 메모리 크기보다 도 큰 프로세스를 실행할 수 있게하는 기술 입니다. 이런 가상 메모리를 관리하는 기법 중에는 크게 '페이징'과 '세그멘테이션'이 있지만 페이징에 대해 알아보도록 하겠습니다. 아무튼 가상 메모리를 관리하는 기법인 '페이징'을 사용하는 외부 단편화 문제와 물리 메모리의 크기보다 더 큰 프..
[06-2] 이번글은 메모리의 논리주소와 물리주소에 대한글입니다. 먼저 메모리란 무엇인지에 대해서 알아보도록 하겠습니다! 주기억 장치의 종류로 크게 RAM, ROM가 있습니다. 이중에서도 "메모리"라는 용어는 보통 RAM을 가르키는 단어입니다. 그래서 RAM(메모리)에 대해서 살펴보도록 하겠습니다!!ㅎㅎ 참고로 ROM에 대한 부분은 https://information-factory.tistory.com/270 RAM(램)과 ROM(롬) 차이점 쉽게 이해하기! RAM 이란? ROM 이란? 무엇일까? RAM은 우리가 흔하게 보는 부품입니다. 바로 삼성전자와 SK하이닉스에서 세계에서 제일 잘 만드는 부품으로 "초록색의 긴 막대기 같은 부품"입니다. RAM의 약어는 Random information-factor..
#include #include using namespace std; int sharedResouce = 0; void func() { for (int i = 0; i 읽어들인 잔액에 5만원을 더한다 => 더한 값을 저장한다. 이렇게 볼 수 있습니다. 그런데 프로세스A가 먼저 실행되어 10만원이 있는 계좌 잔액을 읽은다음에 읽어들인 잔액에 2만원을 더했습니다. 그리고 더한 값을 저장하면 되는데 저장하기 전 프로세스 B가 현재 계좌 잔액을 읽어버리고(프로세스A가 아직 더한값을 저장 하지 않았기 때문에) 나서 현재 10만원 + 5만원을 진행하였습니다. 그리고 프로세스 A는 12만원을 저장하고 프로세스 B는 자신이 한 일을 하기위해 15만원을 계좌에 저장했습니다. 그러면 원래는 17만원이 저장되어야 하지만 1..
먼저 컴퓨터의 4가지 핵심 부품인 CPU, 메모리, 보조기억장치, 입출력 장치는 메인보드에 연결되어 버스중에서 시스템버스를 통해서 필요한 데이터들을 주고 받습니다. 이중에서도 이번글은 CPU의 ALU, 제어장치(Control Unit)의 동작방식을 알아보고 핵심 레지스터들의 종류와 주소 지정방식의 큰개념들을 살펴보도록 하겠습니다. 먼저 메모리의 경우 현재 실행중인 프로그램의 명령어, 데이터를 저장합니다. “주소”단위로 나누어서 저장합니다. CPU의 경우 메모리에 저장된 명령어를 읽고 명령어를 해석하고 명령어를 실행하는 부품입니다. 이 부품은 ALU, 레지스터, 제어장치로 구성되어 있습니다. 이 세가지의 핵심역할은 ALU의 경우 계산, 레지스터는 임시 저장장치 역할, 제어장치는 제어신호를 보내고 → 명령어..