일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- uikit
- 1일1알골
- Protocol
- cs
- 대외활동
- 후기
- widget
- c++
- dispatchqueue
- 운영체제
- 영남대
- 스위프트
- 멋쟁이사자처럼
- SwiftUI
- 리액트
- composable architecture
- 멋사
- TCA
- 알고리즘
- widgetkit
- spritekit
- 문법
- 스유
- 네트워크
- Swift
- 컴퓨터그래픽스
- 웹
- swift concurrency
- 백준
- 위젯킷
- Today
- Total
목록메모리 (3)
맛동산이
리액트를 다루는 기술을 참고하여 기술하였습니다.리액트의 불변성이란?리액트는 불변성을 지켜야 한다.그렇다면 이 불변성이란 무슨뜻일까?우선 불변성의 사전적 정의는 변하지 않는 성질이다. 불변성을 이해하기 위해서는 참조형광 원시형에 대하여 이해를 해야한다.참조형과 원시형원시형 call by value원시형의 데이터 타입은 boolean, string, number, null 등이 있다.원시형은 직접적으로 메모리에 값이 입력되는것을 의미한다. 참조형 call by reference참조형은 배열과 객체 같은 데이터 타입이 존재한다.참조형의 경우에는 직접적으로 메모리 값이 올라가는것이 아닌 메모리에 참조되는 주소가 입력이 된다. 그렇다면 다시 돌아와서 불변성이란 결국 무엇을 뜻하는 것일까?바로 데이터가 메모리상에 ..
가상메모리물리메모리의 한계는 결국 메모리 주소 버스 크기에 좌우된다.32비트의 cpu면 2^32 가 물리메모리가 4gb가 되고. 64비트라면 2^64가 될것이다. 하지만 실제적으로는 비용상 8~32gb정도 장착된다.그렇다면 만약 프로그램이 5gb처럼 큰 프로세스는 돌아갈수 없으며, 동시수행되는 프로세스의 크기의 총합은 물리메모리 보다 클수가 없다는 단점이 발생한다.즉 프로세스보다 메모리가 작으면, 할당이 될수가 없다. 이를 해결하는 방법은프로세스의 메모리와 보조저장장치에 동시에 프로세스를 나눠서 저장하게 되면 프로세스는 실행하기에 충분한 메모리가 잇다고 착각하게 된다.스와핑(swapping)을 통해서 해결할수 있다. 메모리가 부족할때 실행에 필요하지 않는 부분은 보조저장장치에 이동 하는것이다.이렇게 하..
메모리는 해당 위치를 알려주는 주소가 존재하며, 메모리 주소는 크게 두가지 종류로 나눠진다.물리적 메모리주소 : 실제 메모리 상에 존재하는 주소를 의미한다.논리적 메모리주소 : 프로세스에 메모리가 할당이 됐을때, 현재 물리메모리 안에서 실행중인 메모리의 위치를 나타내는 주소로, 프로세스 내부에서는 0~끝 까지를 의미하게 되며, 이말은 즉, 프로세스 내부에서 사용하는 메모리의 위치를 나타내는 값이다. 이러한 논리적 메모리를 읽기 위해서는 mmu라는 것이 필요하다. MMU(memory allocator) : 논리주소를 물리주소에 매핑시켜주는 역할로, 실제 프로세스의 요구하는 정보 위치를 메모리에 할당하게 하는 녀석이러한 과정에서 메모리테이블을 사용하기도 한다. 메모리할당메모리 할당 방법은 크게 연속적 메모리..