일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Firebase
- Notification
- Xcode
- Git
- rxswift
- UIButton
- error
- geofencing
- Archive
- window
- 웹뷰
- Realm
- iOS16
- SwiftUI
- FLUTTER
- IOS
- Code
- 이미지
- JPA
- appstore
- Apple
- darkmode
- mac
- view
- MacOS
- 한글
- 개발자
- github
- Swift
- Session
- Today
- Total
목록heap (4)
EEYatHo 앱 깎는 이야기

성능 비교의 3가지 관점 Allocation: 인스턴스를 생성하면 Stack과 Heap 중 어느 곳에 할당 되는 지 Reference Counting: 인스턴스를 통해 레퍼런스 카운트가 몇개가 발생하는지 Method Dispatch: 인스턴스에서 메소드를 호출했을 때, 메소드 디스패치가 정적인지 동적인지 Allocation Stack 은 LIFO 구조 및 Pointer 를 이용해서 할당, 해제하기에 간단한 만큼, O(1)의 빠른 속도를 가짐 Heap 은 사용하지 않은 블럭을 찾아서 할당하고, 해제한 블럭을 적절한 곳에 재삽입해야하고, thread-safe 를 위해 locking 또는 기타 동기화 기법을 사용해 무결성을 보호해야하기에, Stack 보다 느린 속도를 가짐 Stack 은 Value-Sement..

메모리 영역 프로세스가 적재될 때 할당받은 주소 공간 Code, Data, Stack, Heap 구조로 되어있음 ( 논리적 구분 ) 다른 프로세스들과 독립된 메모리 영역 Code 작성한 코드가 컴파일되어 기계어로 저장된 영역 컴파일 타임에 크기 결정 Read-Only Data Global(전역), Static(정적) 변수 등 언제 어디서든 접근 가능한 값이 저장되는 영역 ( static 은 Class.various 로 접근 가능 ) 컴파일시, Data 영역의 주소를 가르키게 바뀐다 전역변수가 바뀔 수 있기에 Read-Write 초기화시키지 않은 전역, 정적 변수들은 BSS(Block Stated Symbol) 영역에 따로 저장 컴파일 타임에 크기 결정 class MyClass { static let my..

메모리 (Memory) 데이터를 반영구 혹은 임시로 저장하는 장치. 물리적인 메모리의 종류 = HDD, SSD, RAM, Register, Cache HDD, SSD ( 보조기억장치 ) 용량당 가격이 낮지만, 처리 속도가 느리다. 전원이 꺼져도 반영구적으로 데이터가 유지된다. RAM ( 주기억장치 ) HDD, SSD보다 용량당 가격이 비싸지만, 처리 속도가 빠르다. 전원이 꺼지면 데이터가 사라진다. 이런 가격과 속도의 차이로, 컴퓨터가 폰노이만 구조로 발전. 프로그램의 많은 용량을 HDD, SDD에 저장해놨다가, 사용할 때는 빠른 속도를 위해 RAM에 올려서 사용하는 식. 다양한 프로그램을 한번에 실행하는 멀티태스킹 운영체제에서, 한 프로그램 전체를 RAM 에 올리기엔 너무 비효율적 -> 프로그램에서 지..

프로그램 (Program) 파일시스템에 존재하는 실행 파일 어떤 작업을 수행하기 위해 실행할 수 있는 파일 저장장치에 저장되어 있는 정적인 코드 덩어리 프로세스 (Process) 정의 메모리에 적재되어 실행되고 있는 프로그램의 인스턴스 OS 로부터 시스템 자원을 할당받는 작업의 단위 CPU 시간 운영되기 위해 필요한 주소 공간 (링크 : 메모리 영역) Detail. 특징 프로세스는 최소 1개의 쓰레드를 가짐 (메인 쓰레드) 각 프로세스는 별도의 주소 공간에서 실행 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신(IPC, inter-process communication)을 사용해야 한다. ( ex. 파이프, 파일, 소켓..