![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNHYRj%2FbtsEWNIfIQd%2Fye7Jg53eKXOu5wIRTKVIcK%2Fimg.png)
메모리 단편화 (Memory Fragmentation)
2024. 2. 18. 18:34
컴퓨터 과학/개념정리
메모리를 공부하면서 메모리 단편화에 대해서 알게 되었다. 그래서 추가적으로 메모리 단편화가 무엇인지 정리해보려고 한다. 메모리 단편화가 무엇인가 RAM 에서 메모리의 공간이 작은 조각으로 나누어져 사용가능한 메모리가 충분히 존재하지만 할당이 불가능한 상태를 메모리 단편화라고 한다. 메모리 단편화는 2가지로 구분할 수 있다. 내부 단편화 (Internal Fragmentation) 외부 단편화 (External Fragmentation) 내부 단편화 (Internal Fragmentation) 내부 단편화란 메모리를 할당할 때 OS 에서 할당한 메모리 공간보다 프로세스가 더 적은 공간을 사용해서 낭비되는 상태를 말한다. 예를 들어, 10MB 의 메모리 크기가 주어졌는데 실제 프로세스는 5MB 만 사용하는 ..
부스트코스(Boostcourse) CS50 5주차 심화 과정 💎 생각해보기(2)
2021. 2. 19. 21:39
스터디&교육/부스트코스 CS50 2기
첫 번째로는 이중 포인터에 대한 내용이었고 이번에는 메모리와 오버플로우에 대한 내용에 대해서 알아보았다. 메모리에는 스택, 힙, 데이터, 텍스트 영역 등 다양한 영역으로 나눌 수 있다. 메모리 stack 영역은 지역 변수와 매개 변수가 저장되는 영역이다. 함수가 시작되면 해당 함수의 지역 변수가 스택에 쌓였다가 함수가 종료되면 자동으로 해제된다. [ 스택 오버플로우가 발생하는 경우 ] 스택 오버플로우가 발생하는 경우에 대해서 대표적으로 재귀 함수에 대해서 알아보았다. 재귀함수라고 자기 자신의 함수를 호출해 가독성을 높여주는 함수다. 하지만 재귀함수를 잘못 사용하게 되면 stack overflow 를 발생시키게 된다. 함수를 호출할 때 함수의 파라미터와 리턴 값, 복귀 주소(RET) 등 stack 에 저장..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdh8jTF%2FbtqXXknuF5o%2FaJ2RMguaG0PZe78gTJ3Gb0%2Fimg.png)
부스트코스(Boostcourse) CS50 5주차 심화 과정 💎 생각해보기(1)
2021. 2. 19. 21:32
스터디&교육/부스트코스 CS50 2기
5주차 메모리에 대한 내용의 강의를 듣고 심화 과정을 해결해 보았다. 📌 문제 1 첫 번째 문제는 이중 포인터를 사용해서 배열의 값들을 출력하는 문제였다. 배열의 인덱스를 사용하는 것이 아닌 이중 포인터를 통해 값을 가져와야 한다. 기본 값으로 2차원 배열이 주어지고 해당 배열을 이중 포인터를 통해서 값을 출력하면 되는 문제였다. 주어진 2차원 배열은 다음과 같다. Int arr[6][5] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}, {16, 17, 18, 19, 20}, {21, 22, 23, 24, 25}, {26, 27, 28, 29, 30} }; 문제를 풀기 위해서는 포인터를 이용해 배열의 값을 가져와야 하는 문제였고 포인터에 대한 ..