본문 바로가기

반응형

전체 글

(70)
메모리 관리 기법, 페이징과 세그먼트 알아보기 프로세스가 실행되기 위해서는 우선 메모리에 프로세스가 로드 되어야 합니다 이때 메모리에 로드 되는 방식에 따라 크게 연속 할당 방식과 불연속 할당 방식이 있는데, 연속 할당 방식은 현재 많이 사용하고 있지 않기 때문에 간단하게 개념만 설명하고 불연속 할당 방식에 대해 자세히 살펴 보겠습니다. 연속 할당 VS 불연속 할당 연속 할당 연속 할당은 한 프로세스를 메모리 상에 연속적으로 할당하는 방식입니다. 따라서 MMU 만 있다면 간단하게 주소 변환이 가능합니다. 여기서 주소 변환이란 논리적인 주소를 물리적인 주소로 변환하는 과정을 말합니다. CPU 는 논리적인 주소를 바라보기 때문에 논리적인 주소를 물리적인 주소로 변경하는 과정이 필요합니다. 이때 사용되는 것이 MMU 라는 하드웨어 장치 입니다. (MMU에..
[리트코드] 529. Minesweeper 문제 https://leetcode.com/problems/minesweeper/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 분석 문제를 읽어보면 지뢰찾기 게임의 규칙과 같다는 것을 알 수 있다. 주어진 위치에서 부터 탐색해 나가면서 탐색한 위치에 알맞는 문자로 업데이트 해준다. "E" 일 경우는 아직 탐색하지 않았으니 탐색한다..
메모리 구조 이해하기 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리 로드되어야 합니다. 그럼 저희가 사용할 프로그램들을 전부 메모리에 로드시켜 놓을까요? 리눅스 기준으로는 프로세스 하나가 4GB 인데, 보통 우리가 사용하는 8GB, 16GB 메모리에 사용하고 싶은 프로그램들을 어떻게 전부 실행시킬 수 있죠? 가상 메모리 덕분입니다. 가상 메모리 가상 메모리란 메모리가 실제 메모리보다 더 많아 보이게 하는 기술입니다. 프로세스는 각각 고유의 가상 메모리 공간을 갖고 있고 이중 일부만을 실제 메모리에 올려 실행합니다. 따라서 메모리에는 실제 실행시킬 프로세스의 일부만을 올려 두기 때문에 동시에 많은 프로세스를 로드 시킬 수 있습니다. Logical address 가상 메모리에 접근하기 위한 주소로, CPU가 접근하는 주소입..

반응형