iOS에서의 메모리 구조와 관리 방식
Life style/TIL2024. 4. 22. 23:46iOS에서의 메모리 구조와 관리 방식

iOS 앱의 메모리 구조와 각 영역의 특징 메모리 공간은 4가지 영역으로 구성되어 있다. 코드 영역 데이터 영역 힙 영역 스택 영역 코드 영역 텍스트 영역이라고도 하며, 프로그램을 구성하는 실행 가능한 기계어 코드로 저장 컴파일 과정에서 생성되며, 대부분의 운영체제에서는 읽기 전용으로 되어 있어 코드 불변성 코드 실행을 위해 필수적인 것을 보호되는 것으로 커널, 프로그램, 라이브러리 코드 등 텍스트로 저장 데이터 영역 전역 변수와 정적 변수를 저장하는 영역 앱 실행 시 할당되고 앱 종료 시 해제되며, 읽기 쓰기가 가능 정의된 초기값으로 설정되어 앱 모든 코드에서 접근이 가능 힙 영역 동적으로 할당된 메모리를 저장하는 영역 런타임 시에 필요한 메모리를 확보하는데 사용 메모리 크기 제한 없음 느린 속도 모든..

운영체제 역할과 iOS 운영체제 구조: Process, Thread, ARC, Sandbox
Life style/TIL2024. 4. 16. 16:20운영체제 역할과 iOS 운영체제 구조: Process, Thread, ARC, Sandbox

운영체제는 Operating SystemOS으로 불리며, 실행할 프로그램을 메모리에 적재(겹치지 않도록 적당한 공간 할당)하고. 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리하는 시스템 소프트웨어이다. 운영체제는 응용 프로그램이 최대한 공정하게 CPU 자원을 사용하도록 할당한다. 이 외에도 시스템 자원을 관리합니다. 프로그램이 올바르고 안전하게 실행되게 하는 기능이 운영체제의 핵심 서비스에 속한다. 이러한 운영체제의 핵심 서비스를 담당하는 부분을 커널(kernel) 이라고 한다. 멀티태스킹을 지원하는 경우, 운영체제는 모든 프로세스들을 스케줄링하여 동시에 수행되는 것처럼 보이는 효과를 낸다. iOS는 iPhone 및 iPad 장치용으로 설계한 운영체제로 Darwin..

CPU Architecture: RISC vs CISC
Life style/TIL2024. 4. 15. 21:36CPU Architecture: RISC vs CISC

Intel은 16비트 8086 마이크로프로세서를 출시하면서 86을 사용한 여러 후속 제품이 출시되었다. x86은 일반적으로 32비트 아키텍처를 나타낸다. x86 CPU에는 많은 명령어 집합이 존재한다. 단일 명령으로 전체 계산(ex: 곱하기)을 완료하거나 데이터 청크를 메모리의 한 위치에서 다른 위치로 직접 이동할 수 있는 것들이다. 별 것 아닌 것처럼 느껴져도 곱하고 이동하려면 낮은 수준에서 많은 명령이 필요하다. 이러한 유형의 명령 집합이 있는 처리장치는 CISCComplex Instruction Set Computing라고 한다. 강력한 명령어는 공간과 전력을 차지하는 더 많은 트랜지스터가 필요하다는 것을 의미한다. 에너지 효율성과 CPU 아키텍처의 명령어 세트를 단순화하는 방법을 모색하다가 RIS..

캐시 메모리의 개념과 종류, 역할
Life style/TIL2024. 4. 15. 21:19캐시 메모리의 개념과 종류, 역할

실제 메모리와 CPU 사이에서 빠르게 전달을 위해 미리 데이터들을 저장해주는 좀 더 빠른 메모리이다. 일반적으로 CPU 칩에 직접 통합되거나 별도의 BUS 상호 연결이 있는 별도의 칩에 배치되기 때문에 CPU 메모리라고도 한다. 따라서 프로세서에 대한 접근성이 더 좋고, 프로세서와 물리적으로 가깝기 때문에 효율성을 높일 수 있다. 프로세서에 가깝기 위해서 메인 메모리보다 훨씬 작다. 결과적으로 저장 공간이 적다. 대신 캐시 메모리는 RAM보다 10~100배 빠르게 작동한다. 종류 일반적인 세 가지 캐시 수준이 있다. L1 L2 L3 L1: Lightning-Fast Access 매우 빠르지만 상대적으로 작으며 일반적으로 프로세서 칩에 CPU 캐시로 내장된다. 자주 사용되는 명령어와 데이터를 저장하여 CP..

AI 시대, 개발자는 어떤 준비를 해야할까?
Life style2024. 3. 20. 02:03AI 시대, 개발자는 어떤 준비를 해야할까?

스마트폰 혁명보다 훨씬 빠르다, 전세계 부가 몰릴 겁니다 Banking is necessary, Banks are not "은행 업무는 필요하지만, 은행은 필요하지 않다" - In 1994, Bill Gates 현재 2024년에는 여러 은행들이 그 시도를 하고 있다. 많은 은행들은 오프라인의 지점들을 minimize 시키고 어떻게 하면 디지털 세계에 accessable한 경험을 줄 수 있는지 고민하고 있다. 이와 마찬가지로 은행뿐만 아니라 학교도 디지털로 공부하고 학습하는 것들에 익숙해졌다. 대학에서 단순하게 책에 있는 내용을 전달하는 것들은 더 이상 경쟁력이 되고 있지 않다. 캠퍼스에 와야만 누릴 수 있는 강의법으로 바뀌어야 한다. 비슷한 의미로 필수라고 생각하던 냉장고도 그 가치가 조금씩 변화되고 있..

백악관에서 C, C++ 언어를 쓰지 말라고 했다고? 왜??
Life style2024. 3. 12. 15:37백악관에서 C, C++ 언어를 쓰지 말라고 했다고? 왜??

현재 Swift를 사용한 iOS 개발을 하면서 관련이 없을 수도 있겠지만, 워낙 이슈가 되는 만큼 궁금해서 내용을 정리하고자 합니다. 우선 관련 내용은 백악관 내 ONCD(Office of the National Cyber Director)에서 작성된 문서를 기반으로 합니다. ONCD 문서 # A PATH TOWARD SECURE AND MEASURABLE SOFTWARE `President Biden’s National Cybersecurity Strategy` 에서는 두 가지 기본적인 변화를 제시합니다. 하나는 사이버 공간을 방어하는 책임을 균형있게 재조정하는 것이며, 다른 하나는 장기적인 사이버 보안 투자를 선호하는 `인센티브`를 재조정하는 것입니다. 여기서 나오는 `인센티브`는 세금이나 보조금 혜..

30대의 공허
Life style/TIL2023. 10. 30. 09:3030대의 공허

공허의 시대 로또에 당첨되도 서울 강남 아파트도 못 산다는 말이 있습니다. 부모님 세대에서는 부라는 목표로 몰두를 하였다면, 이제는 일을 열심히 하더라도 집을 살 수 없는 현실로 목표를 잃게 되었습니다. 100% 몰두할 목표가 사라지게 되면서 매일매일 공허감을 느끼며 살아가고 있습니다. 그렇다 보니 시대의 분위기에는 워라밸 혹은 현재의 행복에 초점을 맞춰 살아갑니다. 그래도 공허와 불안감을 해결하기에는 채워지지 않은 구멍이 존재합니다. 인생을 낭비하는 것만 같고 후회가 남고 미련이 생기는 일들을 해결하기 위해서는 구멍을 메꿔야만 합니다. 치열 공허하지 않은 충만함으로 가득한 삶을 살기 위해서는 치열하게 살아야 합니다. 일을 하거나 취미를 하더라도 치열하지 않기 때문에 마음을 공허함을 느끼게 됩니다. 커피..

Life style/TIL2022. 12. 22. 23:42[TIL] Memory Structure in Swift (Class, Struct)

Swift 에서 비슷한 Class와 Struct 비슷한 역할을 하지만 무엇이 다른지 보다가 여기까지 오게되는 여정 우선 Class 와 Struct 는 무엇이 다른가 ❓ Swift 에서 Class 와 Struct 유형의 Instance(인스턴스)에 적용되는 기능을 주로 설명을 합니다. 그렇기에 Object 보다는 일반적인 용어 Instance로 사용합니다. Class 는 상속을 통해 한 클래스가 다른 클래스의 특성을 상속할 수 있으며, 참조 타입입니다. Struct 는 값 유형입니다. 참조 유형은 변수나 상수에 할당되거나 함수에 전달될 때 복사되지 않고 기존 인스턴스에 대한 참조 값 유형은 변수 또는 상수에 할당되거나 함수에 전달될 때 값이 복사되는 유형입니다 Struct 와 Class 어느걸 써야 하나 ..

image